/*
Theme Name: Santa Cruz DJ Original Design
Theme URI: https://www.asantacruzdj.com/
Author: Santa Cruz DJ
Description: Faithful conversion of the original Santa Cruz DJ website with all supplied images and seven original page designs.
Version: 1.0.0
Requires at least: 6.0
Text Domain: santacruz-dj
*/
/* ===== GLOBAL FONTS ===== */
body, p, h1, h2, h3, h4, h5, h6 {
	font-family: "Lato", sans-serif;
}

.w3-navbar, .w3-navbar a, h1, button {
	font-family: "Montserrat", sans-serif;
}

.fa-anchor, .fa-coffee {
	font-size: 200px;
}

/* ===== FULL WIDTH LAYOUT ===== */
body {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	max-width: 1920px;
	min-height: 100%;
	color: #212121;
	background-color: #fafafa;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

html {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
}

/* Content area: 1440px centered, page background: 1920px full */
.w3-content {
	max-width: 1440px !important;
	width: 100% !important;
	margin: 0 auto;
	padding: 0 10px;
	box-sizing: border-box;
}

/* Section backgrounds span full 1920px width */
.w3-container {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	padding-left: max(16px, calc((100% - 1440px) / 2));
	padding-right: max(16px, calc((100% - 1440px) / 2));
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
}

/* Ensure rows also full width */
.w3-row {
	width: 100% !important;
	max-width: 100% !important;
}

/* Full-width header image */
.w3-responsive img {
	width: 100% !important;
	display: block;
}

/* ===== TYPOGRAPHY ===== */
/* Global text alignment: left */
body, p, h1, h2, h3, h4, h5, h6, li, td, th {
	text-align: left;
}

/* Large, readable body copy */
p {
	font-size: 24px !important;
	line-height: 1.65;
	text-align: left;
	margin: 0 0 1rem;
}

/* Titles: above 35px, bold */
h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
}

h1 {
	font-size: 56px !important;
	line-height: 1.15;
	margin: 1rem 0;
}

h2 {
	font-size: 42px !important;
	line-height: 1.2;
	margin: 0.875rem 0;
}

h3 {
	font-size: 38px !important;
	line-height: 1.25;
	margin: 0.75rem 0;
}

h4 {
	font-size: 36px !important;
	line-height: 1.3;
	margin: 0.75rem 0;
}

h5, h6 {
	font-size: 35px !important;
	line-height: 1.3;
	margin: 0.5rem 0;
}

main > h1 {
	font-size: 64px !important;
	text-align: center;
	color: #1a237e;
	padding: 1rem max(16px, calc((100% - 1440px) / 2));
	margin: 0 auto;
	max-width: 1440px;
	box-sizing: border-box;
}

main a,
.w3-container a {
	color: #1565c0;
	text-decoration: underline;
	text-underline-offset: 2px;
}

main a:hover,
.w3-container a:hover {
	color: #0d47a1;
}

/* ===== SITE HEADER / BANNER (centered, full image visible) ===== */
.site-header {
	width: 100%;
	background: #041428;
	padding: 0;
	box-sizing: border-box;
	text-align: center;
}

.site-banner-wrap {
	display: block;
	max-width: 1440px;
	width: 100%;
	margin: 0 auto;
	line-height: 0;
	background: #041428;
}

.site-banner {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	object-fit: contain;
}

.body-logo {
	display: block;
	width: 100%;
	max-width: 640px;
	height: auto;
	margin: 24px auto 12px;
}

/* ===== NAVBAR ===== */
.site-nav {
	width: 100%;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.w3-navbar {
	width: 100% !important;
}

.w3-navbar li a {
	font-size: 18px;
	letter-spacing: 0.03em;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.w3-navbar li a.w3-white,
.w3-navbar li a.w3-hover-white:hover {
	background-color: rgba(255, 255, 255, 0.95) !important;
	color: #1a237e !important;
}

.w3-indigo {
	background-color: #3f51b5 !important;
}

/* ===== HAMBURGER BUTTON ===== */
.hamburger-btn {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 10px;
	flex-direction: column;
	justify-content: space-between;
	width: 40px;
	height: 34px;
}

.hamburger-btn span {
	display: block;
	height: 4px;
	width: 100%;
	background-color: #fff;
	border-radius: 2px;
	transition: all 0.3s ease;
}

/* Show hamburger on small screens */
@media screen and (max-width: 601px) {
	.hamburger-btn {
		display: flex !important;
	}
}

/* ===== MOBILE MENU ===== */
#navDemo a {
	display: block;
	width: 100%;
	font-size: 18px;
	text-align: left;
	box-sizing: border-box;
}

main {
	display: block;
	width: 100%;
}

.w3-light-grey {
	background-color: #eceff1 !important;
}

.w3-container.w3-indigo,
.w3-container.w3-indigo p,
.w3-container.w3-indigo h1,
.w3-container.w3-indigo h2,
.w3-container.w3-indigo h3,
.w3-container.w3-indigo h4,
.w3-container.w3-indigo a {
	color: #fff;
}

.w3-container.w3-indigo a {
	color: #bbdefb;
}

.w3-container img.responsive,
.w3-container img[border="0"] {
	max-width: 100%;
	height: auto;
}

@media screen and (max-width: 768px) {
	body.js-focus-visible {
		overflow: hidden;
	}
	.w3-responsive {
		position: relative;
		overflow: unset !important;
	}
	p {
		font-size: 24px !important;
	}
	h1 { font-size: 40px !important; }
	main > h1 { font-size: 44px !important; }
	h2 { font-size: 36px !important; }
	h3 { font-size: 34px !important; }
	h4 { font-size: 32px !important; }
	h5, h6 { font-size: 30px !important; }
}

/* ===== MISC LEGACY ===== */
#Layer1 {
	position: absolute;
	width: 752px;
	height: 324px;
	z-index: 1;
	left: 307px;
	top: 305px;
}

.style12 {
	font-size: small;
}

.style3 {
	color: #3366CC;
}

.style13 {
	font-size: 24px;
}

#cumbody {
	background-image: url("body.jpg");
	background-repeat: repeat-x;
}

#test {
	background-color: red;
}



.w3-container.w3-light-grey {
    font-size: 24px !important;
}

/* Slightly shorter banner, retaining the original image and responsive layout */
.site-banner-wrap{max-width:1440px;overflow:hidden;}
.site-banner{width:100%;height:clamp(170px,28vw,355px);max-height:355px;object-fit:cover;object-position:center center;}
@media(max-width:600px){.site-banner{height:clamp(125px,32vw,210px);}}

/* Home page refresh: readable text and edge-to-edge mobile content */
html,body{overflow-x:hidden} body,body p,body li,body a,body button,body input,body textarea{font-size:max(24px,1em)}
body{line-height:1.55} .wrapper{max-width:1440px;margin:auto} .wrapper p{margin:0 0 22px}
.dj-showcase{max-width:1440px;margin:45px auto;padding:32px 24px;box-sizing:border-box;background:#fff;border-radius:18px;box-shadow:0 8px 32px rgba(20,30,60,.08)}
.dj-section-intro{text-align:center;margin-bottom:28px}.dj-section-intro h2{font-size:clamp(32px,4vw,52px);margin:10px 0}.dj-section-intro p{font-size:24px}.dj-eyebrow{font-size:24px;letter-spacing:.08em;color:#343f91;font-weight:700}
.dj-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dj-photo{margin:0;overflow:hidden;border-radius:12px;background:#e9e9ef;aspect-ratio:4/3}.dj-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.dj-photo:hover img{transform:scale(1.04)}
.dj-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dj-video-card{border-radius:14px;overflow:hidden;background:#17214b;min-width:0;display:block;color:white;text-decoration:none}.dj-video-card iframe{width:100%;aspect-ratio:16/9;height:auto;display:block;border:0}.dj-channel-card img{width:100%;height:260px;object-fit:cover;display:block}.dj-channel-card span{display:block;padding:18px;font-size:24px}.dj-video-more{text-align:center;margin:24px 0 0}.dj-video-more a{font-weight:700}
@media(max-width:768px){html,body,.wrapper,.w3-content,main,section{max-width:100%!important} .wrapper,.w3-container,.dj-showcase{padding-left:5px!important;padding-right:5px!important}.wrapper{width:100%!important}.dj-showcase{margin:20px 0;border-radius:8px;padding-top:24px;padding-bottom:24px}.dj-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.dj-video-grid{grid-template-columns:1fr;gap:12px}.dj-photo{border-radius:5px}.dj-channel-card img{height:220px} .site-banner{height:clamp(105px,27vw,175px)!important;object-fit:cover} body p,body li,body a,body button{font-size:24px!important}.dj-section-intro h2{font-size:32px!important}}

/* 2026 layout fix: preserve all headings, paragraph breaks and source images */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden}body{width:100%;max-width:none;overflow-x:hidden}
main{width:100%;max-width:none;display:block}
main .wrapper{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}
main .wrapper section{display:block;margin:32px 0 48px}
main .wrapper h1,main .wrapper h2,main .wrapper h3,.dj-showcase h2{display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;overflow:visible!important;font-weight:800!important;letter-spacing:-.025em;line-height:1.2!important;margin:28px 0 20px!important;color:#18285b}
main .wrapper h1{font-size:clamp(36px,4.5vw,58px)!important}
main .wrapper h2,.dj-showcase h2{font-size:clamp(32px,3.4vw,44px)!important}
main .wrapper p{display:block!important;white-space:normal!important;line-height:1.65!important;margin:0 0 22px!important;font-size:24px!important}
main .wrapper blockquote{border-left:5px solid #394db3;padding:16px 24px;margin:30px 0;background:#f3f5ff}
main .wrapper img{max-width:100%;height:auto}
.dj-gallery-first{max-width:1200px;margin:28px auto 45px!important}
.dj-gallery-first .dj-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.dj-gallery-first .dj-photo{aspect-ratio:4/3;border-radius:12px;box-shadow:0 5px 18px rgba(0,0,0,.10)}
.dj-gallery-first .dj-photo:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.dj-gallery-first .dj-photo img{width:100%;height:100%;object-fit:cover;display:block}
.dj-section-intro h2,.dj-section-intro p{text-align:center!important}
.site-banner-wrap{width:100%;max-width:none;margin:auto}.site-banner{width:100%;height:clamp(130px,20vw,280px)!important;object-fit:cover}
@media(max-width:768px){
 body,main,.wrapper,.w3-content,.dj-showcase{width:100%!important;max-width:100%!important}
 main .wrapper,.w3-content,.w3-container,.dj-showcase{padding-left:5px!important;padding-right:5px!important}
 main .wrapper h1{font-size:36px!important}main .wrapper h2,.dj-showcase h2{font-size:32px!important}
 main .wrapper p,main .wrapper li,.dj-showcase p{font-size:24px!important;line-height:1.5!important}
 .dj-showcase{margin:18px auto!important;padding-top:22px!important;padding-bottom:22px!important;border-radius:0!important}
 .dj-gallery-first .dj-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
 .dj-gallery-first .dj-photo:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:16/10}
 .dj-gallery-first .dj-photo{border-radius:4px;aspect-ratio:1/1}
 .site-banner{height:clamp(105px,27vw,175px)!important}
}

/* Social row matching the screenshot, with responsive icons */
.dj-social-section{max-width:1200px;margin:36px auto;padding:24px;text-align:center;background:#f3f3f3}
.dj-social-section h2{font-size:clamp(30px,3vw,42px)!important;color:#273e96;font-weight:800;line-height:1.25;margin:0 0 16px}
.dj-social-section p{font-size:24px;line-height:1.5;margin:0 0 20px}
.dj-social-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center}
.dj-social-links a{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;background:#fff;color:#243a91;font-size:24px!important;text-decoration:none;font-weight:700;box-shadow:0 2px 8px #0001}
.dj-social-links img{width:34px;height:34px;object-fit:contain}
@media(max-width:768px){.dj-social-section{width:100%;padding:18px 5px;margin:24px 0}.dj-social-links{gap:6px}.dj-social-links a{padding:8px 5px;font-size:24px!important}.dj-social-links img{width:30px;height:30px}}

/* Screenshot-aligned home images; preserve original sections and text */
.sc-wedding-feature{max-width:1000px;margin:22px auto 34px;text-align:center}.sc-wedding-feature figure{margin:0}.sc-wedding-feature img{display:block;width:100%;height:auto;border-radius:8px}.sc-wedding-feature figcaption{font-size:18px;color:#333;margin:10px 0}.dj-gallery-first{margin:35px auto!important}.dj-gallery-first .dj-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dj-gallery-first .dj-photo img{object-fit:contain;background:#f2f2f2}.dj-gallery-first .dj-photo:first-child{grid-column:auto;grid-row:auto;aspect-ratio:4/3}main .wrapper section{height:auto!important;overflow:visible!important}main .wrapper h1,main .wrapper h2,main .wrapper h3{white-space:normal!important}main .wrapper p{white-space:normal!important} @media(max-width:768px){.sc-wedding-feature{margin:15px 0 25px}.sc-wedding-feature figcaption{font-size:18px}.dj-gallery-first .dj-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dj-gallery-first .dj-photo:first-child{grid-column:auto;grid-row:auto;aspect-ratio:4/3}.sc-wedding-feature img{border-radius:3px}}

/* Reviewed source: preserve original visual hierarchy, readable typography, 5px mobile gutters */
html,body{margin:0;width:100%;overflow-x:hidden}body{font-family:Lato,Arial,sans-serif;font-size:24px;line-height:1.6}h1,h2,h3,h4{font-family:Montserrat,Arial,sans-serif;font-weight:700;line-height:1.25}h1{font-size:clamp(34px,4vw,52px)}h2{font-size:clamp(30px,3vw,42px)}h3{font-size:clamp(26px,2.4vw,32px)}p,li{font-size:24px;line-height:1.6}main img{max-width:100%;height:auto;object-fit:contain}.images-add{text-align:center;margin:28px auto}.images-add img{display:block;margin:14px auto;max-width:min(100%,800px);height:auto}.site-header{text-align:center}.site-banner-wrap{max-width:100%;margin:auto}.site-banner{display:block;max-width:100%;width:auto;max-height:145px;object-fit:contain;margin:auto}.w3-container{box-sizing:border-box}.w3-card,.why-choose-card{height:auto!important;min-height:0!important}a.w3-btn{white-space:normal;max-width:100%;box-sizing:border-box}.site-nav a{font-size:20px}.site-nav{position:relative}.w3-row-padding{display:flex;flex-wrap:wrap}.w3-half{width:50%}.w3-third{width:33.333%}.w3-col.s6{width:50%}.w3-col.m3{width:25%}.w3-hide{display:none!important}.w3-show{display:block!important}
@media(max-width:700px){.w3-container{padding-left:5px!important;padding-right:5px!important}.w3-container>div{max-width:100%!important}.w3-row-padding{margin-left:0!important;margin-right:0!important}.w3-half,.w3-third{width:100%!important}.w3-col.s6{width:50%!important}.w3-col.m3{width:50%!important}.w3-card,.why-choose-card{padding:15px!important}.site-banner{max-height:105px}h1{font-size:35px}h2{font-size:30px}h3{font-size:26px}p,li{font-size:24px!important}.w3-hide-small{display:none!important}.footer-columns{flex-direction:column}.footer-columns>div{min-width:0!important}.w3-xlarge{font-size:24px!important;display:block;margin:12px auto!important;width:100%!important;max-width:100%!important}.images-add img{width:100%!important}.site-nav .hamburger-btn{display:flex!important}}
@media(min-width:701px){.w3-hide-medium.w3-hide-large{display:none!important}}
