/* PopDesignsBySusan Styles */
/* CSS Variables for theming - light mode by default */
:root {
     --bg-color: #fff8f0; /* Light pastel background */
     --text-color: #333;
     --header-back: #ff4081;
     --header-color: white;
     --accent-color: #ff4081; /* Hot pink */
     --secondary-color: #87ceeb; /* Sky blue */
     --tertiary-color: #ffd700; /* Gold */
     --shadow-color: rgba(0, 0, 0, 0.1);
     --glow-color: rgba(255, 64, 129, 0.5);
     --border-radius: 10px;
     --transition: all 0.3s ease;
}

/* Dark mode variables */
[data-theme="dark"] {
     --bg-color: #2c2c2c;
     --text-color: #f0f0f0;
     --accent-color: #ff4081; /* Deep pink */
     --secondary-color: #4682b4; /* Steel blue */
     --tertiary-color: #daa520; /* Goldenrod */
     --shadow-color: rgba(255, 255, 255, 0.1);
     --glow-color: rgba(255, 20, 147, 0.5);
}

/* Global styles */
* {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
}

body {
     font-family: Arial, sans-serif;
     background-color: var(--bg-color);
     color: var(--text-color);
     line-height: 1.6;
     transition: var(--transition);
}

h1,
h2,
h3 {
     color: var(--accent-color);
     font-weight: bold;
}

a {
     color: var(--secondary-color);
     text-decoration: none;
     transition: var(--transition);
}

a.tertiary {
     background-color: var(--tertiary-color);
     color: white;
     padding: 0 15px;
     border-radius: var(--border-radius);
     transition: var(--transition);
}

a:hover {
     color: var(--accent-color);
}

button {
     background-color: var(--accent-color);
     color: white;
     border: none;
     padding: 10px 20px;
     border-radius: var(--border-radius);
     cursor: pointer;
     transition: var(--transition);
     font-size: 16px;
}

button:hover {
     background-color: var(--tertiary-color);
     transform: scale(1.05);
     box-shadow: 0 4px 8px var(--shadow-color);
}

button:focus {
     outline: 2px solid var(--secondary-color);
     outline-offset: 2px;
}

/* Header */
header {
     background-color: var(--header-back);
     color: var(--header-color);
     padding: 0 20px;
     text-align: center;
     position: relative;
}
header h1 {
     color: white;
     margin: 0;
     font-size: 1.8em;
}

header nav {
     display: flex;
     flex-direction: row;
     justify-content: flex-end;
     align-items: center;
     gap: 8px;
     height: auto;
     min-height: 40px;
}

nav ul {
     list-style: none;
     display: flex;
     justify-content: center;
     gap: 20px;
}
nav ul li {
     display: flex;
     flex-direction: row;
     align-items: center;
     justify-content: center;
}
nav ul li button {
     height: 30px;
     max-height: 30px;
     min-height: 30px;
     padding: 0 10px;
}

nav a {
     color: white;
     font-weight: bold;
}
.services ul {
     margin: 0 20px;
}

.theme-toggle {
     background: none;
     border: none;
     font-size: 20px;
     cursor: pointer;
     color: white;
     width:30px;height:30px;
     transition: var(--transition);
}

.theme-toggle:hover {
     background-color: rgba(255, 255, 255, 0.1);
     border-radius: var(--border-radius);
}

/* Main content */
main {
     max-width: 1200px;
     margin: 0 auto;
     padding: 20px 20px 0 20px;
}

main h1 {
     display:block;margin:0 auto;text-align:center;padding-bottom:8px;
     font-size:2.2em;
}

/* Hero section */
.hero {
     text-align: center;
     /* padding: 50px 20px; */
     background: linear-gradient(135deg, var(--accent-color), var(--secondary-color));
     background-repeat: no-repeat;
     background-position: center;
     background-size: cover;
     background-image: url(./assets/balloonback.png);
     color: white;
     border-radius: var(--border-radius);
     margin-bottom: 40px;
}
.faded {
     margin: 8px;
     width: 100%;
     height: 100%;
     border-radius: var(--border-radius);
     background-color: rgba(0, 0, 0, 0.5);
     padding:20px;
}

.hero h2 {
     font-size: 3em;
     margin-bottom: 20px;
     color: white;
}

.hero p {
     font-size: 1.2em;
     margin-bottom: 30px;
}

.social-links {
     /* margin-top: 20px; */
     text-align: center;
}

.social-links a {
     margin: 0 10px;
     padding: 10px 15px;
     background-color: var(--tertiary-color);
     color: white;
     text-decoration: none;
     border-radius: var(--border-radius);
     transition: var(--transition);
}

.social-links a:hover {
     background-color: var(--accent-color);
}

a.facebook, a.instagram {
     background-color: transparent; /* Facebook blue */
     background-image: url("./assets/icons8-facebook-96.png");
     background-size: contain;
     background-repeat: no-repeat;
     background-position: center;
     width: 40px;
     height: 40px;
     display: inline-block;
     vertical-align: middle;
}

a.instagram {
     background-image: url("./assets/icons8-instagram-96.png");
}

/* Sections */
section {
     margin-bottom: 40px;
     padding: 20px;
}

section h2 {
     font-size: 2em;
     margin-bottom: 20px;
     text-align: center;
}

.about,
.services,
.contact,
.gallery-preview {
     padding: 20px;
     border-radius: var(--border-radius);
     background-color: rgba(0, 0, 0, 0.05);
}
.contact {
     text-align:center;
}

/* Carousel */
.carousel {
     position: relative;
     max-width: 600px;
     margin: 0 auto;
     overflow: hidden;
     border-radius: var(--border-radius);
}

.carousel-container {
     display: flex;
     transition: transform 0.5s ease;
}

.carousel-item {
     min-width: 100%;
     position: relative;
}

.carousel-item img {
     width: 100%;
     height: 300px;
     object-fit: cover;
     border-radius: var(--border-radius);
}

.carousel-caption {
     position: absolute;
     bottom: 10px;
     left: 10px;
     background: rgba(0, 0, 0, 0.7);
     color: white;
     padding: 5px 10px;
     border-radius: 5px;
}

.carousel-controls {
     position: absolute;
     top: 50%;
     transform: translateY(-50%);
     background: rgba(0, 0, 0, 0.5);
     color: white;
     border: none;
     padding: 10px;
     cursor: pointer;
     font-size: 18px;
}

.prev {
     left: 10px;
}

.next {
     right: 10px;
}

.flex-row {display:flex;width:100%;justify-content:center;gap:16px;align-items:center;}
/* Gallery grid */
.gallery-grid {
     display: grid;
     grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
     gap: 20px;
     margin-top: 20px;
}

.gallery-item {
     position: relative;
     overflow: hidden;
     border-radius: var(--border-radius);
     transition: var(--transition);
     cursor: pointer;
}

.gallery-item:hover {
     transform: scale(1.05);
     box-shadow: 0 8px 16px var(--glow-color);
}

.gallery-item img {
     width: 100%;
     height: 200px;
     object-fit: cover;
     transition: var(--transition);
}

.gallery-item:hover img {
     filter: brightness(1.1);
}

/* Modal */
.modal {
     display: none;
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: rgba(0, 0, 0, 0.8);
     z-index: 1000;
     justify-content: center;
     align-items: center;
}

.modal.show {
     display: flex;
}

.modal-content {
     position: relative;
     max-width: 90%;
     max-height: 90%;
}

.modal-content img {
     max-width: 100%;
     max-height: 100%;
     border-radius: var(--border-radius);
}

.modal-caption {
     position: absolute;
     bottom: 10px;
     left: 10px;
     background: rgba(0, 0, 0, 0.7);
     color: white;
     padding: 10px;
     border-radius: 5px;
     max-width: calc(100% - 20px);
}

.modal-close {
     position: absolute;
     top: 10px;
     right: 10px;
     background: rgba(0, 0, 0, 0.7);
     color: white;
     border: none;
     padding: 10px;
     border-radius: 50%;
     cursor: pointer;
     font-size: 18px;
}

.modal-nav {
     position: absolute;
     top: 50%;
     transform: translateY(-50%);
     background: rgba(0, 0, 0, 0.7);
     color: white;
     border: none;
     padding: 15px;
     cursor: pointer;
     font-size: 24px;
}

.modal-prev {
     left: 10px;
}

.modal-next {
     right: 10px;
}

/* Footer */
footer {
     background-color: var(--secondary-color);
     color: white;
     text-align: center;
     padding: 20px;
}

/* Responsive design */
@media (max-width: 768px) {
     header h1 {
          font-size: 2em;
     }

     nav ul {
          flex-direction: column;
          gap: 10px;
     }

     .hero h2 {
          font-size: 2em;
     }

     .carousel {
          max-width: 100%;
     }

     .gallery-grid {
          grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
     }

     .modal-content {
          max-width: 95%;
          max-height: 95%;
     }
}

@media (min-width: 769px) {
     .theme-toggle {
          position: absolute;
          top: 20px;
          right: 20px;
     }
}

@media (max-width: 480px) {
     .gallery-grid {
          grid-template-columns: 1fr;
     }

     .carousel-item img {
          height: 200px;
     }
}

/* Form styles */
form {
     max-width: 600px;
     margin: 0 auto;
}

.form-group {
     margin-bottom: 15px;
}

label {
     display: block;
     margin-bottom: 5px;
     font-weight: bold;
}

input,
textarea {
     width: 100%;
     padding: 10px;
     border: 1px solid var(--text-color);
     border-radius: var(--border-radius);
     background-color: var(--bg-color);
     color: var(--text-color);
     font-size: 16px;
     transition: var(--transition);
}

input:focus,
textarea:focus {
     outline: 2px solid var(--secondary-color);
     border-color: var(--secondary-color);
}

.event-dates {
     display: flex;
     gap: 10px;
     flex-wrap: wrap;
}

.event-dates input[type="date"] {
     flex: 1 1 150px;
     min-width: 0;
     padding: 10px;
     border: 1px solid var(--text-color);
     border-radius: var(--border-radius);
     background-color: var(--bg-color);
     color: var(--text-color);
     font-size: 16px;
     transition: var(--transition);
     box-sizing: border-box;
}

.required {
     color: red;
}

textarea {
     resize: vertical;
}

.contact-info {
     margin-top: 20px;
     text-align: center;
}
