/*
Theme Name: Uncode Child
Description: Child theme for Uncode theme
Author: Undsgn™
Author URI: http://www.undsgn.com
Template: uncode
Version: 1.0.0
Text Domain: uncode
*/

/**** CTA Menu & Home Directions Buttons ****/
.btn-color-385497, .btn-accent {
	color: #000 !important;
}

/**** Home Sermon Block ****/
#post-145780 .t-entry-date {
	color: #777 !important;
}
#post-145780 .separator-extra {
	border-color: #d1d3d4 !important;
}
#post-145780 .text-lead > * {
	font-weight: 600 !important;
	font-size: 15px !important;
}
#post-145780 .tmb-text-space-reduced.tmb .t-entry hr {
	margin-top: 5px !important;
	margin-bottom: 0 !important;
}
#post-145780 .home-sermon-col-left .uncell {
	border-radius: 12px 0 0 12px !important;
}
#post-145780 .home-sermon-col-right .uncell {
	border-radius: 0 12px 12px 0 !important;
}

/**** Site Wide Link Color on Light BGs ****/
.style-light p a,
.style-light .nav-tabs > li.active > a, {
	color: #4694c9 !important;
}

.style-light .nav-tabs > li.active > a, {
	border-color: #4694c9 !important;
}

/**** Countdown on Home Page ****/
.saylorville-live-heading {
	font-size: clamp(1.1rem, 2.5vw, 1.3rem);
	font-weight: 700;
	text-align: center;

}

.live-page .saylorville-live-heading,
.live-page .saylorville-live-countdown {
	color: #f6c944 !important;
}

/**** Video Player on Live Page ****/
.yt-embed {
	  width: 100%;
	  aspect-ratio: 16 / 9;   /* preserves ratio */
	  position: relative;
	  overflow: hidden;
	}
	
	.yt-embed iframe {
	  position: absolute;
	  inset: 0;
	  width: 100%;
	  height: 100%;
	  border: 0;
	  display: block;
	}


/**** Copyright in Footer ****/
.saycopy {
	font-size: clamp(14px,3vw,15px) !important;
	font-weight: 500 !important;
	letter-spacing: 1px;
}

/**** CTC Event Snippet ****/
/* Base */
.ctc-events {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ctc-event {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px !important;
}

.ctc-event__date {
	background: #22577a;
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	line-height: 1;
	flex: 0 0 auto;
}

.ctc-event__day,
.ctc-event__month {
	color: #fff;
	font-weight: 700;
	text-transform: uppercase;
}

.ctc-event__content {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ctc-event__title {
	color: #000 !important;
	text-decoration: none;
	line-height: 1.2;
	font-weight: 700;
	display: inline-block;
}

.ctc-events a.ctc-event__title,
.ctc-events a.ctc-event__title:visited {
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
  text-decoration: none !important;
}

/* Yellow on hover */
.ctc-events a.ctc-event__title:hover,
.ctc-events a.ctc-event__title:focus,
.ctc-events a.ctc-event__title:active {
  color: #f6c944 !important;
  -webkit-text-fill-color: #f6c944 !important;
}

.ctc-event__time {
	color: #777;
	font-weight: 700;
	margin-top: 4px;
	line-height: 1.2;
}

.ctc-events,
.ctc-events * {
	text-align: left;
}

.ctc-events .ctc-event {
	display: flex !important;
	align-items: center;
	justify-content: flex-start;
}

/* Device: less than 569px */
@media (max-width: 569px) {

	.ctc-event {
		gap: 12px;
		margin-bottom: 14px;
	}

	.ctc-event__date {
		width: 48px;
		height: 48px;
		border-radius: 12px;
	}

	.ctc-event__day {
		font-size: 18px;
	}

	.ctc-event__month {
		font-size: 11px;
		margin-top: 2px;
	}

	.ctc-event__title {
		font-size: 18px;
	}

	.ctc-event__time {
		font-size: 14px;
	}
}

/* Tablets: 570px to 959px */
@media (min-width: 570px) and (max-width: 959px) {

	.ctc-event__date {
		width: 56px;
		height: 56px;
		border-radius: 14px;
	}

	.ctc-event__day {
		font-size: 22px;
	}

	.ctc-event__month {
		font-size: 12px;
		margin-top: 2px;
	}

	.ctc-event__title {
		font-size: 20px;
	}

	.ctc-event__time {
		font-size: 15px;
	}
}

/* Desktop: 960px and up */
@media (min-width: 960px) {

	.ctc-event {
		gap: 16px;
		margin-bottom: 16px;
	}

	.ctc-event__date {
		width: 64px;
		height: 64px;
		border-radius: 16px;
	}

	.ctc-event__day {
		font-size: 26px;
	}

	.ctc-event__month {
		font-size: 13px;
		margin-top: 3px;
	}

	.ctc-event__title {
		font-size: 22px;
	}

	.ctc-event__time {
		font-size: 16px;
	}
}

/* ================================
   CTC Sermon Note Snippet 
   ================================ */

.ctc-sermon-pdfs,
.ctc-sermon-pdfs * {
	text-align: left !important;
	box-sizing: border-box;
}

/* List reset */
.ctc-sermon-pdfs {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Row layout */
.ctc-sermon {
	display: flex !important;
	align-items: center;
	gap: 14px;
	padding: 10px 0;
}

/* Icon circle (PDF download)
   Key fixes:
   - fixed width/height so it doesn’t balloon
   - force color + fill so SVG strokes remain visible
   - prevent Uncode hover opacity effects
*/
.ctc-sermon__icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;

	flex: 0 0 auto;
	border-radius: 999px;
	background: #22577a;

	/* Force icon ink color */
	color: #000 !important;
	-webkit-text-fill-color: #000 !important;

	/* Stop Uncode link fades */
	opacity: 1 !important;
	transform: none !important;
	filter: none !important;

	text-decoration: none !important;
}

/* Force SVG + strokes to obey currentColor */
.ctc-sermon__icon-svg {
	display: block;
}
.ctc-sermon__icon svg,
.ctc-sermon__icon svg * {
	stroke: #fff !important;
}

/* Keep icon stable on hover/focus */
.ctc-sermon__icon:hover,
.ctc-sermon__icon:focus,
.ctc-sermon__icon:active {
	color: #000 !important;
	-webkit-text-fill-color: #000 !important;
	opacity: 1 !important;
	filter: none !important;
}

/* Right content */
.ctc-sermon__content {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

/* Date (muted) */
.ctc-sermon__date {
	font-size: 13px;
	color: #8a8a8a;
	font-weight: 600;
	margin-bottom: -2px;
}

/* Title row + rule */
.ctc-sermon__title-row {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.ctc-sermon__rule {
	height: 1px;
	background: rgba(0,0,0,0.12);
	flex: 1 1 auto;
}

/* Title link (detail page) */
.ctc-sermon__title,
.ctc-sermon__title:visited {
	font-weight: 800;
	line-height: 1.15;
	text-decoration: none !important;

	color: #000 !important;
	-webkit-text-fill-color: #000 !important;

	display: inline-block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

.ctc-sermon__title:hover,
.ctc-sermon__title:focus,
.ctc-sermon__title:active {
	color: #f6c944 !important;
	-webkit-text-fill-color: #f6c944 !important;
}

/* Meta line (book) */
.ctc-sermon__meta {
	margin-top: 6px;
	font-size: 14px;
	color: #7a7a7a;
	font-weight: 600;
}

ul.ctc-sermon-pdfs li a {
	align-items: center !important;
	justify-content: center !important;
}

ul.ctc-sermon-pdfs {
	padding: 0 !important;
}

li.ctc-sermon {
	margin-bottom: 10px;
}

/* ================================
   Responsive sizing
   Device: <569px
   Tablet: 570–959px
   Desktop: >=960px
   Icon needs to be MUCH smaller (your request)
   ================================ */

/* Device */
@media (max-width: 569px) {
	.ctc-sermon { gap: 12px; }

	.ctc-sermon__icon { width: 36px; height: 36px; }
	.ctc-sermon__icon-svg { width: 16px; height: 16px; }

	.ctc-sermon__title { font-size: 20px; }
	.ctc-sermon__meta { font-size: 13px; }
}

/* Tablet */
@media (min-width: 570px) and (max-width: 959px) {
	.ctc-sermon__icon { width: 40px; height: 40px; }
	.ctc-sermon__icon-svg { width: 18px; height: 18px; }

	.ctc-sermon__title { font-size: 24px; }
	.ctc-sermon__meta { font-size: 14px; }
}

/* Desktop */
@media (min-width: 960px) {
	.ctc-sermon__icon { width: 44px; height: 44px; }
	.ctc-sermon__icon-svg { width: 18px; height: 18px; }

	.ctc-sermon__title { font-size: 26px; }
	.ctc-sermon__meta { font-size: 14px; }
}

/* =========================================================
   GRAVITY FORMS 
   ========================================================= */

/* ---------- All labels (field labels) ---------- */
#gform_wrapper_2 .gfield_label,
#gform_wrapper_2 .gform-field-label {
	font-weight: 600;
	
}

/* ---------- Sub-labels (First Name / Last Name / Confirm Email) ---------- */
#gform_wrapper_2 .ginput_complex label,
#gform_wrapper_2 .gfield_label_before_complex {}

/* ---------- Field descriptions (below labels) ---------- */
#gform_wrapper_2 .gfield_description,
#gform_wrapper_2 .gform-field-description {
	font-weight: 600;
}

/* ---------- Character counter (textarea) ---------- */
#gform_wrapper_2 .ginput_counter {}

/* ---------- Required text ("Required") ---------- */
#gform_wrapper_2 .gfield_required,
#gform_wrapper_2 .gfield_required_text {
	font-weight: 600;
}

/* ---------- Validation error messages ---------- */
#gform_wrapper_2 .validation_message,
#gform_wrapper_2 .gfield_validation_message {}

/* ---------- Form-level validation summary ---------- */
#gform_wrapper_2 .validation_error,
#gform_wrapper_2 .gform_validation_errors {}

/* ---------- Confirmation message (after submit) ---------- */
#gform_wrapper_2 .gform_confirmation_message {}

/* ---------- Placeholder text (optional) ---------- */
#gform_wrapper_2 ::placeholder {}

/* ---------- Submit button text (optional) ---------- */
#gform_wrapper_2 #gform_submit_button_2 {}

/* ======================================================
   Gravity Forms — Uncode-style Pill Button
   Filled default → outlined hover
   ====================================================== */

.gform_wrapper input[type="submit"],
.gform_wrapper input[type="button"],
.gform_wrapper button,
.gform_wrapper .gform_button,
.gform_wrapper .gform_next_button,
.gform_wrapper .gform_previous_button {

	/* Layout */
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	/* Shape */
	border-radius: 999px !important;
	border: 2px solid #F2D060 !important;

	/* Spacing */
	padding: 0.5em 2.1em !important;

	/* Typography */
	font-family: inherit;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	line-height: 1;

	/* Colors (FILLED STATE) */
	background-color: #F2D060 !important;
	color: #111111 !important;

	/* Interaction */
	cursor: pointer;
	transition:
		background-color 0.25s ease !important,
		color 0.25s ease,
		border-color 0.25s ease !important,
		transform 0.15s ease !important;

	appearance: none !important;
	-webkit-appearance: none !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

/* Hover / Focus — OUTLINED STATE */
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper input[type="button"]:hover,
.gform_wrapper button:hover,
.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_next_button:hover,
.gform_wrapper .gform_previous_button:hover,

.gform_wrapper input[type="submit"]:focus-visible,
.gform_wrapper input[type="button"]:focus-visible,
.gform_wrapper button:focus-visible {

	background-color: transparent !important;
	color: #F2D060 !important;
	border-color: #F2D060 !important;
	outline: none;
}

/* Disabled */
.gform_wrapper input[disabled],
.gform_wrapper button[disabled] {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
}

/* Footer spacing consistency */
.gform_wrapper .gform_footer {
	margin-top: 1.5rem !important;
	display: flex !important;
	gap: 0.75rem !important;
	flex-wrap: wrap;
}

/* ======================================================
   Bible Reading Plan
   ====================================================== */
   
   /* Container */
   .five-day-reading {}
   
   /* Week heading */
   .five-day-reading__week {
	   font-weight: 600;
	   font-size: 1.2rem;
	   margin-bottom: 0.5rem;
   }
   
   /* Each day row */
   .five-day-reading__day {
	   margin-bottom: 0.5rem;
   }
   
   /* Passage links */
   .five-day-reading__link {
	   text-decoration: none;
   }
   
   .five-day-reading__link:hover,
   .five-day-reading__link:focus {
	   text-decoration: none;
   }

/* ======================================================
   CTC Event Details
   ====================================================== */ 
   
   /* Row layout: centers text to icon and increases icon/text gap */
   .sv-event-whenwhere__row {
	   display: flex;
	   align-items: center;     /* vertical centering */
	   gap: 0.85rem;            /* more space between icon and text */
   }
   
   /* Space between date and location rows */
   .sv-event-whenwhere__row + .sv-event-whenwhere__row {
	   margin-top: 0.6rem; /* adjust as needed */
   }
   
   /* Icon sizing hook */
   .sv-event-whenwhere__img {
	   width: 18px
	   height: 18px;
	   display: block;
	   vertical-align: middle;
   }
   
/* === EVENT DETAILS BUTTON FIX === */

/* 1. Stop Uncode's btn-container from being block + tall */
.sv-event-whenwhere__actions .btn-container {
	display: inline-block;
	margin-top: 0;
	padding: 0;
}

/* 2. Shrink the actual button */
.sv-event-whenwhere__actions .btn {
	padding: 0.45em 1em;     /* smaller vertical + horizontal padding */
	min-height: auto;
	line-height: 1.2;
	font-size: 0.8rem;      /* scales text down cleanly */
	width: auto;
}

/* 3. Prevent any accidental full-width behavior */
.sv-event-whenwhere__actions .btn {
	max-width: none;
	white-space: nowrap;
}

/* Optional: slightly reduce pill thickness */
.sv-event-whenwhere__actions .btn-circle {
	border-radius: 999px;
}

/* === Sermon Detail Page PDF Download === */

 .sv-sermon-pdf {
	 display: inline-block;
 }
 
 .sv-sermon-pdf-link {
	 display: inline-flex;
	 align-items: center;
	 gap: 0.75rem;
	 text-decoration: none;
 }
 
 .sv-sermon-pdf-icon {
	 display: flex;
	 align-items: center;
 }
 
 .sv-sermon-pdf-icon img {
	 width: 20px;
	 height: auto;
	 display: block;
 }
 
 .sv-sermon-pdf-text {
	 line-height: 1.2;
 }
 
 .sv-sermon-pdf-link:hover {
	 text-decoration: none;
 }
   
 /* === Upcoming Events Page === */ 

/* Remove divider after last item (border is on .t-inside) */
.sv-upcoming-events-table .tmb.tmb-table.tmb-table-border-below:last-child .t-inside {
	border-bottom: 0 !important;
}


 /* Upcoming Events – date/time with icon */
 .sv-upcoming-events-table .sv-event-datetime {
	 display: flex;
	 align-items: center;
	 gap: 0.75rem;
 }
 
 .sv-upcoming-events-table .sv-event-datetime__icon img {
	 width: 18px;
	 height: 18px;
	 display: block;
 }
 
 .sv-upcoming-events-table .sv-event-datetime__text > div {
	 margin: 0;
 }
 
 /* WP Grid Builder select: prevent right-side clipping next to chevron */
 .wpgb-facet select.wpgb-select {
   box-sizing: border-box;
   width: 100%;
   min-width: 0; /* override global select min-width:100% if it causes overflow */
 }
 /* Prevent theme form styles from breaking Flatpickr UI */
 .flatpickr-calendar input,
 .flatpickr-calendar select {
   display: inline-block;
   width: auto;
   min-width: 0;
   margin: 0;
   padding: 0;
   height: auto;
   line-height: normal;
   border: 0;
   box-shadow: none;
   background: transparent;
 }
 
 
/* CTC Sermon Series Display */
/* 3-column responsive grid */
.sv-term-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:1rem;
}
@media (max-width:1024px){
	.sv-term-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
	.sv-term-grid{grid-template-columns:1fr;}
}

/* Card */
.sv-term-card{display:block;text-decoration:none;color:inherit;}

/* Thumbnail: preserve proportions, no cropping */
.sv-term-thumb{
	width:100%;
	display:flex;
	align-items:center;
	justify-content:center;
}
.sv-term-thumb-img{
	width:100%;
	height:auto;
	object-fit:contain;
	display:block;
}

/* Title + dates */
.sv-term-title{margin-top:.75rem;font-weight:600;text-align:center;}
.sv-term-dates{margin-top:.25rem;font-size:.875em;opacity:.75;text-align:center;}

/* Pagination */
.sv-term-pagination{
	margin-top:2rem;
	display:flex;
	gap:.75rem;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
}
.sv-term-page{display:inline-block;text-decoration:none;}
.sv-term-page-current{font-weight:700;}
.sv-term-page-ellipsis{opacity:.6;}
/* LIVE Banner */
.menu-live-banner .saylorville-live-banner {
	background: #f6c944;
	border-radius: 40px;
	padding: 20px 0;
}

/* Full Calendar Page */
.action-drawer {
	background: none !important;
	padding: 0 !important;
}