/* 
Theme Name: DD Locations v3
Theme URI: https://github.com/elementor/hello-theme-child/
Description: DD location subsite child theme v3 - Hello Elementor main theme
Author: Steve Wilder
Author URI: https://elementor.com/
Template: hello-elementor
Version: 3.0.0
Text Domain: dd-locations-v3
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/


@font-face {
	font-family: 'Montserrat';
	src: local('Arial');
	size-adjust: 94%;
	ascent-override: 90%;
	descent-override: 22%;
	line-gap-override: 0%;
	font-display: swap;
}


@font-face {
	font-family: 'Special Elite';
	src: local('Times New Roman');
	size-adjust: 96%;
	ascent-override: 88%;
	descent-override: 20%;
	line-gap-override: 0%;
	font-display: swap;
}


@font-face {
	font-family: 'Open Sans';
	src: local('Arial');
	size-adjust: 101%;
	ascent-override: 92%;
	descent-override: 22%;
	line-gap-override: 0%;
	font-display: swap;
}


@font-face {
  font-display: swap !important;
}


/* Lock header + spacer height */
nav.elementor-sticky,
.elementor-sticky__spacer {
  min-height: 122px;
  height: 122px;
}

/* Stabilize menu container on mobile */
@media only screen and (max-width: 767px) {
	.elementor-nav-menu--dropdown {
	  width: 100vw !important;
	  left: -42vw !important;
	  top: auto !important;
	}
	.elementor-nav-menu--dropdown ul {
		text-align: center;
		width: 100%;
	}
}

/* Logo consistency */
.elementor-sticky img {
  width: 110px;
  height: 51px;
  display: block; /* prevent baseline shift */
}



/* NEW ADDED CSS */

.event-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  background-color: #f1f1f1;
  border-radius: 16px;
  padding: 24px;
  max-width: 1200px;
  margin: 20px auto;
  font-family: 'Arial', sans-serif;
  gap: 20px;
  flex-wrap: wrap;
}

.event-info {
  flex: 1 1 60%;
}

.event-info h2 {
  font-size: 28px;
  font-weight: 800;
  margin: 0 0 10px;
  color: #1a1a1a;
}

.event-info p {
  margin: 0 0 15px;
  font-size: 16px;
  color: #1a1a1a;
}

.event-details {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
}

.ticket-button {
  background-color: #f73828;
  color: white !important;
  font-weight: bold;
  font-size: 18px;
  padding: 10px 22px;
  border-radius: 14px;
  text-decoration: none;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  transition: background-color 0.3s ease;
  white-space: nowrap;
}

.ticket-button:hover {
  background-color: #d82d1e;
}

.event-details p {
  margin: 0;
  font-size: 15px;
  color: #444;
  flex: 1 1 100%;
}

.event-details strong {
  color: #222;
}

.event-details em {
  color: #666;
  font-style: italic;
}

.event-image {
  display: flex;
  justify-content: center;
  align-items: center;
}

.event-image img {
  width: 120px;
  height: auto;
  border-radius: 10px;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.2);
}

/* ✅ Mobile responsiveness */
@media only screen and (max-width: 768px) {
  .event-card {
    flex-direction: column;
    align-items: flex-start;
  }

  .event-info {
    width: 100%;
    text-align: center;
  }
  
  .event-image {
  	display: none;
  }

  .event-info h2, .event-info p, .event-details p {
    text-align: center;
  }

  .event-details {
    justify-content: center;
  }

  .ticket-button {
    margin-bottom: 10px;
  }
  
  h1.entry-title {
  	font-size: 1.5rem !important;
  }
}

.month-header {
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 1.5rem;
  font-family: sans-serif;
}

.month-header::after {
  content: "";
  flex-grow: 1;
  height: 2px;
  background-color: gray;
  margin-left: 1rem;
}




/* Add your custom styles here */

main {
	min-height: 75vh;
	min-width: 100vw;
}

.buy-tickets-link a {
	color: red !important;
}

.hidden {
	display: none !important;
}

.site-main {
	max-width: 100% !important;
}

.nowrap {
	white-space: nowrap;
}

h1, h1.entry-title {
	text-align: center !important;
	font-family: 'Special Elite', 'Times New Roman', serif !important;
	text-transform: capitalize !important;
    font-weight: normal !important;
    font-style: normal;
    color: white !important;
	margin: 0 0 0 0;
	font-size: 2.5rem;
}

h2 {
	font-size: 2rem !important;
}

h3 {
	font-size: 1.75rem !important;
}

h4 {
	font-size: 1.5rem !important;
}

ul.elementor-nav-menu li a, .sb-relative, .wpseo-business-name, h5 {
	font-family: 'Montserrat', 'Arial', sans-serif !important;
	font-weight: bold;
}

.wpseo-extra-comment {
	font-style: italic;
}

input[name="quantity"], input[name="ign-donation"] {
	width: 5em !important;
}

#dd-template-location-menu-container img, #dd-template-location-menu-container source, #dd-template-location-menu-container picture {
	object-fit: cover;
}

.dd-template-title {
	display: flex;
	background-image: url(https://www.thedinnerdetective.com/_images/detectives-header-bkgd.webp);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	min-height: 15vh;
	min-width; 100vw;
	flex-direction: column;
	justify-content: center;
}

.dd-template-content {
	padding: 20px 15px 20px 15px;
	background: rgb(208,208,208);
	background: linear-gradient(90deg, rgba(208,208,208,1) 0%, rgba(255,255,255,1) 2%, rgba(255,255,255,1) 98%, rgba(208,208,208,1) 100%);
	min-height: 75vh;
	min-width: 100vw;
}

.sb-item-text .sb-fs {
   overflow: hidden;
   display: -webkit-box;
   -webkit-line-clamp: 2; /* number of lines to show */
           line-clamp: 2; 
   -webkit-box-orient: vertical;
}


#menu-choices li {
	text-transform: capitalize;
}

.elementor-button-text:hover {
	color: yellow !important;
}


#menu-choices ul li {
	font-weight: bold !important;
	margin: 5px 0 5px 0 !important;
}

#menu-choices ul li ul li {
	font-weight: normal !important;
}

#menu-choices ul li ul li ul li {
	font-style: italic !important;
	font-weight: normal !important;
}

.populate-posts {
	background-color: lightyellow !important;
	border-radius: 10px !important;
	padding: 10px !important;
}

.populate-posts label {
	font-weight: bold !important;
}

@media only screen and (min-width: 767px) {
	.dd-template-title {
		min-height: 20vh;
	}
}



/* CTA sections */

			.dd-cta-left, .dd-cta-right {
				min-height: 260px;
				display: flex;
				color: #111;
				flex: 1 1 320px;
				padding: 1% 2% 1% 12%;
				flex-direction: column;
				justify-content: space-evenly;
				background-repeat: no-repeat;
				background-size: contain;
				background-position: -66px;
			}
			.dd-cta-subtitle, .dd-cta-title {
				text-align: right;
				font-weight: 700;
			}
			.dd-cta-row {
				display: flex;
				flex-wrap: wrap;
				justify-content: space-evenly;
				gap: 20px;
			}
			.dd-cta {
				position: relative;
				border-radius: 20px;
				overflow: hidden;
				box-sizing: border-box;
			}
			.dd-cta-left {
				background-color: #fefed2;
			}
			.dd-cta-right {
				background-color: #d2e6ff;
			}
			.dd-cta-title {
				margin: 0 0 .4em;
				font-family: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
				line-height: 1.1;
				font-size: 1.9em;
				-webkit-text-stroke: 3px white;
				paint-order: stroke fill;
			}
			.dd-cta-subtitle {
				margin: 0 0 .3em;
				font-family: "Open Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
				line-height: 1.3;
			}
			.dd-cta-stars {
				font-size: 1.4em;
			}
			.dd-cta-locations {
				font-size: 1.1em;
				font-style: italic;
				font-weight: 400;
			}
			.dd-cta-button {
				display: block;
				align-self: normal;
				margin-top: .7em;
				padding: .6em 1.4em;
				border-radius: 10px;
				border: none;
				background-color: #ab0101;
				color: #fff!important;
				text-decoration: none!important;
				text-transform: uppercase;
				font-family: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
				font-weight: 700;
				letter-spacing: .06em;
				font-size: .9em;
				cursor: pointer;
				text-align: center;
				transition: transform .15s ease-out, box-shadow .15s ease-out, background-color .15s ease-out;
				margin-left: 4em;
			}
			.dd-cta-button:focus-visible, .dd-cta-button:hover {
				background-color: #333;
				box-shadow: 0 4px 10px rgba(0, 0, 0, .3);
				transform: translateY(-1px);
			}
			.dd-cta-list {
				margin: .4em 0 0 3.4em;
				padding: 0 0 0 2.2em;
				text-align: left;
				font-family: "Open Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
				font-weight: 700;
				font-size: 1.1em;
				line-height: 1.4;
			}
			.dd-cta-list li {
				margin: .1em 0;
			}
			.dd-cta-testimonial {
				margin: 20px;
				padding: 10px 15px 15px;
				background-color: #c9e9c5;
				text-align: center;
			}
			.dd-quote {
				margin: 0 0 .4em;
				font-family: "Special Elite", "Courier New", Courier, monospace !important;
				font-weight: 400;
				font-size: 1.5em;
			}
			.dd-quote-meta {
				margin: 0;
				font-family: "Open Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
				font-size: 1em;
			}
			.dd-quote-meta a {
				color: inherit;
				text-decoration: underline;
				text-decoration-thickness: 1px;
			}
			.dd-cta, .dd-quote, .dd-quote-meta {
				opacity: 1;
				transform: translateY(0);
			}
			.dd-cta-container {
				margin: 20px auto;
				max-width: 1200px;
			}
			
			@media (max-width:1100px) {
				.dd-cta-left {
					background-position: -106px;
				}
				.dd-cta-right {
					background-position: -106px;
				}
				.dd-cta-subtitle {
					margin-left: 65px;
				}
				.dd-cta-list {
					margin-left: 75px;
				}
			}
						
			@media (max-width:1000px) {
				.dd-cta-left {
				    background-color: rgba(254, 254, 210, .8);
					background-blend-mode: lighten;
					padding: 20px;
				}
				.dd-cta-right {
				    background-color: rgba(210, 230, 255, .8);
					background-blend-mode: lighten;
					padding: 20px;
				}
				.dd-cta-title, .dd-cta-subtitle {
					text-align: center;
					margin-left: 0px;
				}
				.dd-cta-list {
					margin-left: 0px;
					padding-left: 30px;
				}
				.dd-cta-button {
					align-self: stretch;
					margin-left: 0;
				}
			}
			
			@media (max-width:900px) {
				.dd-cta-left, .dd-cta-right {
					padding: 3%;
				}
				.dd-cta-title {
					font-size: 1.5em;
				}
				.dd-cta-stars {
					font-size: 1.1em;
				}
				.dd-cta-list {
					font-size: .95em;
					padding-left: 5.6em;
				}
			}
			
			@media (max-width:600px) {
				.dd-cta-container {
					padding: 10px;
				}
				.dd-cta-row {
					gap: 10px;
				}
				.dd-cta-left, .dd-cta-right {
					flex-basis: 100%;
					text-align: left;
				}
				.dd-cta-subtitle, .dd-cta-title {
					text-align: center;
				}
				.dd-cta-testimonial {
					margin: 10px 0;
					padding: 10px 10px 15px;
				}
				.dd-quote {
					font-size: 1.2em!important;
				}
			}

/* end CTA sections */