:root {
  /* Colors */
  --bg-color: #fdfbf5;
  --lemony: #fbecb5;
  --text-color: #17181a;

  /* Spacing */
  --spacing-xs: 8px;
  --spacing-sm: 12px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 32px;
  --spacing-2xl: 48px;

  /* Font sizes */
  --font-xs: 14px;
  --font-sm: 15px;
  --font-base: 18px;
  --font-md: 20px;
  --font-lg: 22px;
  --font-xl: 24px;
  --font-2xl: 36px;

  /* Border radius */
  --radius-md: 16px;
  --radius-sm: 6px;

  /* Container widths */
  --width-sm: 180px;
  --width-md: 280px;
  --width-lg: 320px;
  --width-xl: 360px;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Open Sans", sans-serif;
  color: var(--text-color);
  font-weight: 300;
  font-size: var(--font-base);
  background-color: var(--bg-color);
  height: 100%;
  scroll-behavior: smooth;
}

body.lock-scroll {
  overflow: hidden;
}

.body-wrapper {
  margin: var(--spacing-md);
  outline: 0.5px solid var(--text-color);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  clip-path: inset(100%);
  clip: rect(0 0 0 0);
  overflow: hidden;
}

.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.link {
  text-decoration: none;
  color: var(--text-color);
}

.link:visited {
  color: var(--text-color);
}

button {
  cursor: pointer;
}

h1,
h2,
h3,
p {
  margin-top: 0;
  margin-bottom: 0;
}

ul,
ol {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
}

.list {
  list-style: none;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

address {
  font-style: normal;
  color: var(--text-color);
}

.section {
  padding-top: var(--spacing-xl);
  padding-bottom: var(--spacing-xl);
}

.container {
  padding-left: var(--spacing-lg);
  padding-right: var(--spacing-lg);

  max-width: 375px;
}

.button {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: inherit;
  border-radius: var(--radius-sm);
  color: var(--bg-color);
  font-size: var(--spacing-md);
  font-weight: 300;
  text-transform: uppercase;
  width: var(--width-sm);
  height: 35px;
  border: solid 0.7px var(--text-color);
  background-color: var(--text-color);
  padding: 5px 7px;
}

.button:hover,
.button:focus {
  background-color: var(--bg-color);
  color: var(--text-color);
  transition: background-color 0.4s;
}

.meeting-button {
  margin-bottom: 20px;
  margin-top: 20px;
}

.title {
  font-size: 28px;
  line-height: 1.4;
  font-weight: 300;
  text-transform: uppercase;
}

.section-title {
  padding-top: var(--spacing-xl);
  padding-bottom: var(--spacing-xl);
  text-align: center;
}

.subtitle {
  font-weight: 400;
  font-size: var(--font-base);
  line-height: 1.5;
  text-transform: uppercase;
}

.text {
  font-size: var(--font-sm);
  line-height: 1.6;
}

.text-accent {
  font-weight: 500;
}
.horizontal-line {
  margin-left: 2%;

  height: 1px;
  width: 0;

  background-color: var(--text-color);
  transition: width 1s ease-out;
  transform-origin: left;
}

.horizontal-line.visible {
  width: 96%;
}

.vertical-line {
  height: 100%;
  width: 1px;
  background-color: var(--text-color);
}

.no-scroll {
  overflow: hidden;
}
/* -----------------HEADER------------------------ */

.header {
  padding-top: 24px;
  padding-bottom: 24px;

  height: 92px;
}

.header-container {
  display: flex;
  align-items: center;
  height: 100%;
}

.nav-wrap {
  margin-left: auto;
  display: none;
}

.nav-list {
  /* display: flex; */
  display: none;
  gap: var(--spacing-lg);

  color: var(--text-color);
  font-size: 15px;
  line-height: calc(18 / 15);
  letter-spacing: 1px;
  font-weight: 300;
  text-transform: uppercase;
}

.nav-link {
  padding-top: 32px;
  padding-bottom: 32px;
}

.nav-link:hover,
.nav-link:focus {
  text-decoration: underline;
}

.header .socials {
  display: none;
  margin-left: 32px;
}

.mob-menu-btn {
  padding: 0;
  border: none;
  background-color: transparent;

  margin-left: auto;
}

.close-icon {
  display: none;
}

.mob-menu.open {
  transform: translateX(0);
}

.mob-menu {
  position: fixed;
  width: 88%;
  height: 100vh;
  top: 120px;
  left: 5%;

  background-color: var(--bg-color);

  z-index: 10;
  display: flex;
  flex-direction: column;

  transform: translateX(110%);
  transition: 500ms cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;

  -webkit-overflow-scrolling: touch;
}

.mob-menu-nav-list {
  padding-left: 24px;
  padding-right: 24px;

  display: flex;
  flex-direction: column;

  color: var(--text-color);
  font-size: 15px;
  line-height: calc(18 / 15);
  letter-spacing: 1px;
  font-weight: 300;
  text-transform: uppercase;

  margin-bottom: 24px;
}

.mob-menu-item:not(:last-child) {
  border-bottom: 1px solid var(--text-color);
}

.mob-menu-nav-link {
  display: block;
  padding-bottom: 24px;
  padding-top: 24px;
}

/* -----------------HERO------------------------ */

.hero-container {
  display: flex;
  flex-wrap: wrap;
  /* gap: 96px; */
}

.hero-text-content {
  display: flex;
  flex-direction: column;
  max-width: 280px;
  /* gap: 44px; */
}

.hero-title {
  font-weight: 400;
  font-size: 36px;
  line-height: 1.4;
  text-transform: uppercase;

  margin-bottom: 16px;
}

.hero-subtitle {
  font-size: 20px;
  font-weight: 300;
  line-height: 1.6;
  margin-bottom: 24px;
}

.hero-text {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 24px;
}

.info-wrap .hero-text {
  margin-bottom: 0;
}

.hero-btn {
  width: 180px;
  margin-bottom: 24px;
}

.hero .about-hd-btn {
  margin-bottom: 24px;
  width: 180px;
}

.decorative-icon {
  width: 60px;
  height: 60px;
}

.img-wrap {
  border-radius: var(--radius-md);
  overflow: hidden;

  max-width: var(--width-lg);
  max-height: 320px;
}

.img-wrap > img {
  display: block;
  height: 100%;
  width: 100%;

  object-fit: cover;
}

/* ________________________ABOUT_______________________ */

.about-text-area {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);

  text-align: justify;
}

/* ---------------------ABOUT HD-------------- */

.about-human-design-section .title {
  margin-bottom: 24px;
}

.about-hd-list {
  display: flex;
  flex-direction: column;
}

.about-human-design-section .text {
  text-align: justify;
  margin-bottom: 12px;
}

.about-hd {
  text-align: justify;
}

/* ----------------------SERVICES-------------------*/

.services-container {
  display: flex;
  flex-wrap: wrap;
}

.description-wrap {
  padding-left: 8px;
  padding-right: 8px;
}

.price-wrap {
  margin-bottom: 24px;
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-left: 8px;
  padding-right: 8px;
}

.price-text {
  margin-top: 16px;
}

.services-content-top {
  display: flex;
  flex-direction: column;
}

.services-list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);

  margin-bottom: 48px;
}

.services-item {
  display: flex;
  flex-direction: column;

  padding: 20px 24px 20px 24px;
  border: 1px solid var(--text-color);
  border-radius: var(--radius-md);

  max-width: var(--width-xl);
}

.services-item-top {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
}

.services-list-subtitle {
  text-align: start;
  font-size: 18px;
  margin-top: 24px;
  margin-bottom: 24px;
}

.services-subtitle {
  font-size: 18px;
  min-height: 2em;
}

.services-decorative-icon {
  max-width: 40px;
  max-height: 40px;
  margin-right: 8px;
}

.services-content-bottom {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: var(--spacing-lg);
}

.cta-services-btn {
  width: 210px;
}

.services-content-bottom .text {
  text-align: justify;
}

.for-whom-list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
  text-align: justify;
}

/* ----------------PROJECTS--------------- */
.projects-title {
  margin-bottom: 24px;
  text-align: center;
}

.projects-list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
}

.project-card {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-md);
  max-width: var(--width-xl);
}

.project-card-text {
  font-size: 14px;
}

.project-top-wrapper {
  position: relative;
  overflow: hidden;
}

.project-card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(253, 251, 245, 0.9);
  background-blend-mode: soft-light;
  mix-blend-mode: normal;

  border-radius: var(--radius-md);
  padding: 20px 24px 20px 24px;
  border: 1px solid var(--text-color);

  transform: translateY(100%);
  transition: 500ms cubic-bezier(0.4, 0, 0.2, 1);

  overflow: auto;
}

.project-top-wrapper:hover .project-card-overlay {
  transform: translateY(0);
}

.project-img {
  border-radius: var(--radius-md);
  overflow: hidden;
}

.project-img-wrap {
  max-height: 220px;
  width: 100%;
}

.podcast-list {
  margin-top: 24px;
}

/* ----------------COURSES------------- */

.courses-title {
  margin-bottom: 24px;
  text-align: center;
}

.courses-content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.courses-list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.courses-item {
  padding-bottom: 12px;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
  border-bottom: 1px solid var(--text-color);
}

.courses-item:last-child {
  border-bottom: none;
}

.courses-bottom {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.course-description {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.course-description-subtitle {
  font-weight: 300;
  font-size: 14px;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0px;
  margin-bottom: 8px;
}

.podcast-list {
  display: flex;
  gap: 4px;
}

.podcast-button {
  background-color: var(--bg-color);
  display: flex;

  text-align: center;

  align-items: center;

  width: 80px;
  height: 35px;
  border: 1px solid var(--text-color);
  border-radius: var(--radius-sm);

  text-transform: uppercase;
}

.podcast-link {
  padding: 4px;
  width: 100%;
  height: 100%;
}

.podcast-button:hover,
.podcast-button:focus,
.podcast-button:active {
  background-color: var(--text-color);
}

.podcast-link:hover,
.podcast-link:focus,
.podcast-link:active {
  color: var(--bg-color);
}

.testimonials-title {
  margin-bottom: 24px;
}

.testimonials-list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);

  margin-bottom: 48px;
}

.testimonials-item {
  padding: 12px;
  max-width: var(--width-lg);
  border: 1px solid var(--text-color);
  border-radius: var(--radius-md);
  height: auto;
  display: flex;
  flex-direction: column;
}

.decor-icon {
  margin-bottom: 24px;
}

/* ---------------CONTACTS-------------- */
.contacts-container {
  display: flex;
  flex-direction: column;

  gap: var(--spacing-lg);
}

.address-list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}

.address-item {
  display: flex;
  align-items: flex-end;
  gap: var(--spacing-xs);
}

.socials {
  display: flex;
  gap: 12px;
}

.social-item {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;

  border-radius: 50%;
  border: 1px solid var(--text-color);
  font-size: 14px;
  text-transform: uppercase;
}

.social-link {
  padding: 7px;
}

.social-item .social-link:hover,
.social-item .social-link:focus {
  color: var(--bg-color);
}

.social-item:hover,
.social-item:focus {
  background-color: var(--text-color);
}

/* ------FOOTER----------------- */

.footer {
  padding-top: 24px;
  padding-bottom: 12px;
}
.footer-container {
  display: flex;
  flex-direction: column;

  text-align: center;

  gap: 12px;
}

.footer-logo {
  margin-right: auto;
  margin-left: auto;
}

.footer-credits {
  font-size: 10px;
}

.heart-icon {
  animation: beat 0.7s infinite alternate;
  transform-origin: center;
}

@keyframes beat {
  to {
    transform: scale(2.4);
  }
}

/* scroll-button */

#scrollToTopBtn {
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: none;
  border: none;
  background-color: transparent;
  cursor: pointer;
  z-index: 1;
}

#scrollToTopBtn.show {
  display: flex;
}

#scrollToTopBtn:hover,
#scrollToTopBtn:focus {
  fill: var(--bg-color);
  stroke: var(--text-color);
}

/* ------------------------MODAL--------------------- */

.modal-close {
  display: flex;
  justify-content: center;
  align-items: center;

  border: none;
  background-color: transparent;

  fill: var(--text-color);
  stroke: var(--text-color);
}

.modal-close-icon {
  fill: var(--text-color);
  stroke: var(--text-color);
}

.modal-backdrop {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: var(--bg-color);
  top: 0;
  left: 0;
  overflow-y: auto;
  padding: 4vh 4vw;
  box-sizing: border-box;
}

.modal-window {
  position: relative;
  margin: 0 auto;
  min-height: calc(100vh - 8vh);
  max-width: 92vw;
  width: 100%;
}

.modal-header {
  padding-top: 24px;
  padding-bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.modal-title {
  font-size: 20px;
  margin-bottom: 24px;
}

.contact-form {
  margin-top: 16px;
}

.form-input {
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--text-color);
  font-family: "Open Sans", sans-serif;
  color: var(--text-color);
  font-weight: 300;
  font-size: 18px;
  text-transform: capitalize;
  padding: 16px;
}

.form-input:hover,
.form-input:focus {
  outline: none;
  background-color: #ebeae6;
}

.textarea {
  resize: none;
}

.form-btn {
  margin-top: 36px;
}

#successMessage,
#errorMessage {
  display: none;
  width: 100%;
  padding: 20px;
  box-sizing: border-box;
  border: 1px solid var(--text-color);
  margin-top: 24px;
}

.button-link {
  text-decoration: none;
}

.error-404 {
  min-height: 450px;
}

.dari-link:hover {
  text-decoration: underline;
}

.merch-hint {
  text-align: center;
  color: var(--text-color);
  opacity: 0.7;
  font-size: 14px;
  margin-bottom: 16px;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%,
  100% {
    opacity: 0.7;
  }
  50% {
    opacity: 1;
  }
}

.merch-slider {
  overflow-x: auto;
  overflow-y: hidden;
  margin-bottom: 24px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: var(--accent-color) var(--background-color);
}

.merch-slider::-webkit-scrollbar {
  height: 8px;
}

.merch-slider::-webkit-scrollbar-track {
  background: var(--background-color);
  border: 1px solid var(--text-color);
}

.merch-slider::-webkit-scrollbar-thumb {
  background: var(--accent-color);
  border-radius: 4px;
}

.merch-slider::-webkit-scrollbar-thumb:hover {
  background: var(--text-color);
}

.merch-list {
  display: flex;
  gap: 20px;
  padding: 10px;
}

.merch-item {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  width: var(--width-lg);
  border: 1px solid var(--text-color);
}

.merch-item-img {
  width: 100%;
}

.merch-item-img img {
  width: 100%;
  height: auto;
  display: block;
}

.merch-description {
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}

.merch-name {
  height: 82px;
}

.order-button {
  margin-top: 16px;
  width: 100%;
}

.slider-btn,
.slider-dots {
  display: none;
}

@media screen and (max-width: 767px) {
  .merch-item {
    width: 260px;
  }
}

@media screen and (min-width: 375px) {
  .container {
    max-width: 767px;
  }

  .mob-menu {
    width: 90%;
    left: 5%;
  }

  .section {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .hero-container {
    justify-content: space-between;
    gap: var(--spacing-2xl);
  }

  .hero-title {
    font-size: 48px;
  }

  .hero-subtitle {
    font-size: 22px;
  }

  .main-section-title {
    text-align: start;
    font-size: 24px;
  }

  .project-img-wrap {
    max-height: 320px;
  }

  .footer {
    padding-top: 24px;
    padding-bottom: 24px;
  }
}

@media screen and (min-width: 768px) {
  .container {
    max-width: 1023px;
  }

  .section {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .header {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .header-container {
    display: flex;
    align-items: center;
  }

  .mob-menu-btn {
    margin-left: 32px;
  }

  .header .socials {
    display: flex;
    margin-left: auto;
  }

  .mob-menu {
    top: 120px;
    width: 92%;
    left: 20;
  }
  /* hero */

  .img-wrap {
    border-radius: var(--radius-md);
    overflow: hidden;

    max-width: 340px;
    max-height: 340px;
  }

  .course-hero-text-wrap {
    max-width: var(--width-lg);
  }

  .services-container {
    display: flex;
    flex-direction: column;
    gap: 76px;
  }

  .individuals-services {
    display: flex;
    justify-content: space-between;
  }

  .business-services {
    display: flex;
    justify-content: space-between;
  }

  .price-wrap {
    margin-top: 0;
    width: var(--width-xl);
    height: fit-content;
  }
  .services-container .horizontal-line {
    margin-left: 0;
  }
  .services-container .horizontal-line.visible {
    width: 100%;
  }

  .services-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 36px;

    justify-content: end;
  }

  .services-item {
    width: var(--width-lg);
  }

  .services-decorative-icon {
    max-width: 60px;
    max-height: 60px;
    margin-right: 24px;
  }

  .services-content-bottom {
    margin-top: 0px;
  }

  .services-subtitle {
    font-size: 20px;
  }

  .projects-title {
    font-size: 36px;
    margin-bottom: 48px;
  }

  .services-list {
    margin-bottom: 0;
  }

  .projects-list {
    justify-content: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: var(--spacing-lg);
  }

  .project-card {
    display: flex;
    gap: var(--spacing-md);
    max-width: var(--width-lg);
  }

  .project-img-wrap {
    max-width: var(--width-lg);
    max-height: 320px;
  }

  .courses-title {
    font-size: 36px;
    margin-bottom: 48px;
  }

  .courses-content {
    display: flex;
    flex-direction: row;
    gap: var(--spacing-2xl);
  }

  .courses-img-wrap {
    position: -webkit-sticky;
    position: sticky;
    top: 20px;
    max-width: var(--width-lg);
  }

  .sticky-description {
    position: -webkit-sticky;
    position: sticky;
    top: 20px;
    max-width: var(--width-lg);
  }

  .courses-item {
    max-width: var(--width-xl);
  }

  .courses-bottom {
    display: flex;
    justify-content: space-between;
  }

  .contacts-container {
    align-items: center;
  }

  .testimonials-list {
    gap: var(--spacing-2xl);
    flex-direction: row;
    flex-wrap: wrap;

    justify-content: space-evenly;
  }

  .testimonials-item {
    width: 280px;
  }

  .contacts-container {
    display: flex;
    flex-direction: row;

    justify-content: space-between;
  }

  .footer-logo {
    margin-right: auto;
    margin-left: auto;
    width: 220px;
  }

  .footer-credits {
    font-size: 16px;
  }

  .modal-content {
    display: flex;
    gap: var(--spacing-2xl);
  }

  .modal-content-top {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2xl);
  }

  .modal-title {
    font-size: 36px;
    margin-top: 24px;
    margin-bottom: 24px;
  }

  .contact-form {
    display: flex;
    flex-direction: column;
  }

  .form-input {
    padding: 24px;
  }
}

@media screen and (min-width: 1024px) {
  .container {
    margin-left: auto;
    margin-right: auto;

    padding-left: 48px;
    padding-right: 48px;

    max-width: 1391px;
  }

  .header {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .mob-menu-btn {
    display: none;
  }

  .header-container {
    display: flex;
    align-items: center;
  }

  .nav-wrap {
    margin-left: auto;
    display: flex;
  }

  .nav-list {
    display: flex;

    gap: 18px;

    color: var(--text-color);
    font-size: 15px;
    line-height: calc(18 / 15);
    letter-spacing: 1px;
    font-weight: 300;
    text-transform: uppercase;
  }

  .nav-link {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .nav-link:hover,
  .nav-link:focus {
    text-decoration: underline;
  }

  .header .socials {
    display: flex;
    margin-left: 24px;
  }

  .hero-img-wrap {
    max-width: 640px;
    max-height: 640px;
  }

  .course-hero-text-wrap {
    max-width: 520px;
  }

  .img-wrap {
    max-width: 440px;
    max-height: 440px;
  }

  .services-list-subtitle {
    font-size: 24px;
  }

  .services-content-bottom {
    flex-direction: column;
  }

  .projects-list {
    gap: var(--spacing-2xl);
    justify-content: space-between;
  }

  .project-card {
    max-width: var(--width-xl);
  }

  .hero-title {
    font-size: 64px;
  }

  .hero-subtitle {
    font-size: 22px;
  }

  .courses-content {
    gap: 96px;
  }

  .courses-item {
    max-width: 480px;
  }

  .courses-img-wrap {
    max-width: 380px;
  }

  .footer-logo {
    margin-left: auto;
    margin-right: auto;
  }
  .footer-credits {
    margin-left: auto;
    margin-right: auto;
    display: flex;
    gap: var(--spacing-lg);
  }
}

@media screen and (min-width: 1391px) {
  .hero-text-content {
    min-width: 600px;
  }

  .course-hero-text-wrap {
    min-width: 660px;
  }

  .info-wrap .course-description {
    min-width: 460px;
  }

  .hero-title {
    font-size: 96px;
  }

  .hero-subtitle {
    font-size: 32px;
  }

  .hero-text {
    font-size: 22px;
  }

  .hero-img-wrap {
    max-width: 640px;
    max-height: 640px;
  }

  .services-list {
    width: 798px;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--spacing-2xl);
  }

  .services-item {
    width: var(--width-xl);
  }

  .projects-list {
    justify-content: space-between;
  }

  .project-card {
    max-width: var(--width-xl);
  }

  .project-img-wrap {
    width: var(--width-xl);
    height: 360px;
  }

  .courses-img-wrap {
    max-width: 640px;
    max-height: 640px;
  }

  .courses-item {
    min-width: 600px;
  }

  .testimonials-item {
    width: 420px;
  }

  .modal-title {
    font-size: 62px;
    width: 800px;
  }

  .contact-form {
    min-width: var(--width-xl);
    gap: var(--spacing-lg);
  }

  .form-input {
    font-size: 22px;
  }
}

/* Merch Modal Styles */
#merch-size {
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--text-color);
  font-family: "Open Sans", sans-serif;
  color: var(--text-color);
  font-weight: 300;
  font-size: 18px;
  padding: 16px;
  width: 100%;
  cursor: pointer;
}

#merch-size:hover,
#merch-size:focus {
  outline: none;
  background-color: #ebeae6;
}

#merch-size option {
  background-color: var(--bg-color);
  color: var(--text-color);
  padding: 8px;
}

.modal-subtitle {
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 24px;
  color: var(--text-color);
}

#merchSuccessMessage,
#merchErrorMessage {
  display: none;
  width: 100%;
  padding: 20px;
  box-sizing: border-box;
  border: 1px solid var(--text-color);
  margin-top: 24px;
}

/* Form field styles for merch modal */
#merch-name,
#merch-contact,
#merch-address,
#merch-comments {
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--text-color);
  font-family: "Open Sans", sans-serif;
  color: var(--text-color);
  font-weight: 300;
  font-size: 18px;
  padding: 16px;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 16px;
}

#merch-name:hover,
#merch-name:focus,
#merch-contact:hover,
#merch-contact:focus,
#merch-address:hover,
#merch-address:focus,
#merch-comments:hover,
#merch-comments:focus {
  outline: none;
  background-color: #ebeae6;
}

#merch-address,
#merch-comments {
  resize: none;
  height: 80px;
}

/* Merch product preview */
.merch-product-preview {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
  margin-bottom: 16px;
}

#merch-product-image {
  border-radius: 8px;
  object-fit: cover;
}

/* Mobile modal improvements */
@media screen and (max-width: 767px) {
  .modal-backdrop {
    padding: 2vh 2vw;
  }
  
  .modal-window {
    min-height: calc(100vh - 4vh);
    max-width: 96vw;
  }
  
  .modal-content {
    flex-direction: column;
    gap: var(--spacing-lg);
  }
  
  .modal-title {
    font-size: 24px;
    margin-bottom: 16px;
  }
}
