/* Custom styles for Peter & Karin's Wedding Website */

/* Color Variables */
:root {
  --color-sand: #DCC8B4;
  --color-mint: #B4D2C8;
  --color-gray: #888888;
  --color-off-white: #F6F4F2;
  --color-white: #FFFFFF;
}

/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@700&family=Merriweather:wght@400;700&display=swap');

/* Reset Typography */
* {
  font-family: 'Merriweather', serif;
}

/* Typography Base Styles */
body {
  font-family: 'Merriweather', serif;
  font-weight: 400;
  color: var(--color-gray);
  background-color: var(--color-off-white);
}

/* Global Dancing Script Style */
.dancing-script,
h1,
header.major h1,
#main header h1,
section#main header.major h1,
#banner h1 {
  font-family: "Dancing Script", cursive !important;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: var(--color-sand);
  font-size: 3.8em;
  line-height: 1.2;
  margin-bottom: 0.3em;
  text-align: center;
}

/* Banner specific h1 */
#banner h1 {
  color: var(--color-white);
  font-size: 4.5em;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin-bottom: 0.2em;
}

/* Contact page banner height */
.contact-page #banner {
  height: 50vh !important;
}

/* Move contact form box down */
.contact-page #main .box {
  margin-top: 10em;
}

/* Page title h1 in major sections */
header.major h1,
section.major h1,
#main header h1 {
  font-family: "Dancing Script", cursive !important;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: var(--color-sand);
  font-size: 3.8em;
  line-height: 1.2;
  margin-bottom: 0.3em;
  text-align: center;
}

/* Header logo */
#header h1 {
  margin-bottom: 0;
  font-size: 2em;
}

#header h1 a {
  font-family: "Dancing Script", cursive !important;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

/* Text Elements */
p, li, label, input, select, textarea {
  font-family: 'Merriweather', serif;
  font-weight: 400;
  color: var(--color-gray);
}

strong, b {
  font-weight: 700;
  color: var(--color-gray);
}

a:hover {
  color: var(--color-sand);
}


.button:hover {
  background-color: var(--color-white);
  color: var(--color-mint) !important;
}

.button.alt {
  background-color: var(--color-mint)t;
  color: var(--color-white) !important;
}

.button.alt:hover {
  background-color: var(--color-white);
  color: var(--color-white) !important;
}




/* Form Elements */
input[type="text"],
input[type="password"],
input[type="email"],
select,
textarea {
  border: 2px solid var(--color-mint);
  background-color: var(--color-white);
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
select:focus,
textarea:focus {
  border-color: var(--color-sand);
}

/* Special Sections */
#header {
  background: var(--color-mint);
}

#header.alt {
  background: transparent;
}

#banner {
  background-color: var(--color-sand);
  height: 75vh !important;
}

#banner h2,
#banner p {
  color: var(--color-white);
}

.box {
  background: var(--color-off-white);
}

#cta {
  background-color: var(--color-mint);
}

#cta h2,
#cta p {
  color: var(--color-white);
}

#footer {
  background-color: var(--color-off-white);
}

/* Icon Colors */
.icon.major {
  background: var(--color-mint);
  color: var(--color-white);
}

/* Logo Handling */
.logo-dark, .logo-white {
  height: 2.2em; /* Reduce logo size */
  margin-top: 0.5em; /* Add top margin to move it down */
}

.logo-dark {
  display: none;
}

#header.alt .logo-white {
  display: none;
}

#header.alt .logo-dark {
  display: inline;
}

/* Override any template defaults */
.box h1,
.major h1,
#main h1 {
  font-family: "Dancing Script", cursive !important;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: var(--color-sand);
}

/* Ensure form elements maintain correct typography */
form label {
  color: var(--color-gray);
  font-family: 'Merriweather', serif;
  font-weight: 400;
}

/* Ensure list items maintain correct typography */
ul li, ol li {
  color: var(--color-gray);
  font-family: 'Merriweather', serif;
  font-weight: 400;
}

/* Special Title Styles */
#banner h2,
.title-script {
  font-family: 'Dancing Script', cursive !important;
  font-weight: 700;
  color: var(--color-sand);
  font-size: 3.5em;
  line-height: 1.2;
}

#banner h2 {
  color: var(--color-white);
  font-size: 4em;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Override for specific sections */
#header h1 a {
  font-family: 'Dancing Script', cursive !important;
  font-weight: 700;
}

/* Ensure consistent styling for major headers */
header.major {
  text-align: center;
}

header.major p {
  font-size: 1.2em;
  letter-spacing: normal;
  margin-top: -0.5em;
  color: var(--color-gray);
}

/* Content Positioning */
body:not(.landing) #main {
  margin-top: -14em;
  position: relative;
  z-index: 1;
}

/* Page Specific Styles */
#banner.ok-page {
  background-image: url("../images/team.png"), url("../../images/team.png") !important;
}

#banner.wunschliste-page {
  background-image: url("../images/bed.png"), url("../../images/bed.png") !important;
}

#banner.informationen-page {
  background-image: url("../images/stadt.jpg"), url("../../images/stadt.jpg") !important;
}

#banner.blog-page {
  background-image: url("../images/baum.jpg"), url("../../images/baum.jpg") !important;
}

#banner.geschichte-page {
  background-image: url("../images/geschichte.png"), url("../../images/geschichte.png") !important;
}

.wish-detail-page #banner {
  background-image: url("images/overlay.png"), url("../../images/maledives.jpg") !important;
  height: 50vh !important;
}

/* Landing Page (index) specific styles */
body.landing #banner {
  height: auto !important;
  padding: 12em 0 20em 0 !important;
} 