@font-face {
  font-family: 'HammerPro';
  src: url('../fonts/HammerProGX.woff2') format('woff2'),
    url('../fonts/HammerProGX.ttf') format('truetype');
  font-display: swap;
}

html {
  font-size: 90%;

}

:root {
  --c1: #FFCA00;
  --c2: #7249CD;
  --c3: #261D68
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'HammerPro', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  letter-spacing: normal
}

body {
  direction: rtl;
  cursor: default;
  background-color: var(--c1);
  height: 100%;
}

/* ------------------------------------------------------------- FORM CONTAINER ------------------------------------------------------------- */

.form-container {
  width: clamp(280px, 20vw, 400px);
  background-color: #6838c2;
  padding: clamp(1.2rem, 1.5vw, 2rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 0 0 auto;
  font-size: clamp(1rem, 0.8vw, 3rem);

}

.form-container h2 {
  text-align: center;
  display: flex;
  flex-direction: row;
  gap: 5px;
  color: #fff;
  font-size: 2em;
  font-weight: 400;
  line-height: 1;
  margin: 0 auto 20px auto;
  white-space: nowrap;
  flex-wrap: nowrap;
}

.form-container h2 span {
  color: var(--c1);
}

.logo {
  width: clamp(150px, 15vw, 200px);
  margin-bottom: clamp(1.2rem, 1.5vw, 2rem);
}

form {
  width: 100%;
  color: #fff
}

.form-group {
  margin-bottom: clamp(8px, 1vw, 10px);
}

label {
  display: block;
  margin-bottom: .5rem
}

input,
select {
  width: 100%;
  padding: 13px 20px;
  border: none;
  border-radius: 4px;
  text-align: right;
  font-size: 1.1em;
  background-color: #fff;
  color: #333;
}

input::placeholder {
  color: gray;
  font-size: 1em
}

input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 20px;
  height: 20px;
  margin: 0;
  cursor: pointer;
  z-index: 1;
}

.checkbox-group {
  margin: 1rem 0;
  display: flex;
  align-items: center
}

.checkbox-group label {
  margin-bottom: 0;
  font-size: .96em;
  display: block;
  padding-inline-start: 30px;
  position: relative
}

.checkbox-group label:before {
  content: '';
  width: 20px;
  height: 20px;
  background-color: var(--c1);
  display: block;
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  border-radius: 50%;
  transition: all .2s ease
}

.checkbox-group label:hover:before {
  transform: scale(1.2);
  box-shadow: 0 0 10px var(--c1)
}

.checkbox-group label:after {
  content: '';
  width: 20px;
  height: 20px;
  background: url(../images/v.svg) no-repeat center center / 60%;
  display: block;
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  z-index: 2;
  opacity: 0;
  transform: translateY(-10px);
  transition: all .2s ease
}

.checkbox-group input:checked+label:after {
  opacity: 1;
  transform: translateY(0)
}

button {
  background-color: var(--c1);
  color: var(--c3);
  border: none;
  padding: .75rem 2rem;
  border-radius: 50px;
  cursor: pointer;
  font-weight: 700;
  width: 100%;
  font-size: 1.3em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .25rem;
  transition: all .2s ease
}

button span {
  display: inline-block;
  transform: scaleX(-1)
}

button:hover {
  box-shadow: 0 5px 20px var(--c1);
  transform: translateY(-2px)
}

@supports (-webkit-touch-callout: none) {

  /* Normalize letter spacing on iOS to prevent unwanted gaps */
  body,
  input,
  select,
  button,
  label,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  span,
  div,
  a {
    letter-spacing: 0;
  }

  /* Improve font rendering consistency on iOS */
  * {
    -webkit-font-feature-settings: "kern" 1;
    font-feature-settings: "kern" 1;
    font-kerning: normal;
  }

  /* Reduce font weight appearance on iOS for better consistency */
  .form-container h2 {
    font-weight: 400;
  }

  header h1 {
    font-weight: 400;
  }
}

/* ------------------------------------------------------------- END FORM CONTAINER ------------------------------------------------------------- */



.only-mobile {
  display: none !important;
}

.container {
  display: flex;
  min-height: 100vh;
  align-items: stretch;
}

.stage {
  width: 80%;
  display: flex;
  flex-direction: column;
  flex: 1;
  background-image: url('../assets/background-ind.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 100%;
}

.stageContainer {
  display: flex;
  flex-direction: row;
  flex-direction: row-reverse;
  flex: 1;
}

.studentsContainer {
  flex: 1;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  
}

.studentsContainer-image {
  width: 100%;
}

.studentsContainer img {
  width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  object-position: bottom;
  margin-bottom: -5px;
}

.contentContainer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  flex: 1;
  height: 80%;
}

.mainContent {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: fit-content;
  height: fit-content;
  top: 0;
  background-color: var(--c1);
}

.mainContent .span1{
  color: var(--c3);
  font-size: clamp(2rem, 6vw, 10rem);
  display: flex;
  flex-direction: column;
  text-align: center;
  line-height: 0.8; /* או מה שאתה רוצה */
  margin-top: 15px;
  padding: clamp(0.2em, 0.25em, 0.35em) clamp(0.25em, 0.35em, 0.45em);
  
}

.mainContent .span2 {
  font-size: clamp(1rem, 2.2vw, 4rem);
  color: var(--c2);
  font-weight: 600;
  margin-top: 10px;
}

.mainContent .span3Container {
  background-color: var(--c2);
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  position: absolute;
  top: -12%;
}

.mainContent .span3 {
  color: #fff;
  font-size: clamp(1.6rem, 3.5vw, 6rem);
  padding: 5px 20px;
  font-weight: 600;
}

.openday-div {
  position: absolute;
  top: 100%;
  left:0;
  right: 0;
  display: flex;
  justify-content: center
}
.openday-div img {
  width: 550px;
  height: auto;
}

.openDay {
  /* background-color: #fff; */
  color: var(--c3);
  font-size: clamp(3rem, 4.5vw, 7rem);
  font-weight: 700;
  padding: 10px 30px 20px;
  text-align: center;
  width: fit-content;
  position: relative;
  border-radius: 0% 0% 40px 40px;
   color: var(--c1);
   line-height: 1;
}

.footer {
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  text-align: center;
  width: 100%;
}

.benefitsContainer {
  background-color: var(--c2);
  color: #fff;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 12px 40px;
  gap: 10px;
}

.benefitsContainer {
  background-color: var(--c2);
  color: #fff;
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 12px 40px;
  gap: 10px;
}

.benefitsLogo {
  position: absolute;
  right: 5%;
  top: 50%;
  transform: translateY(-50%);
  margin-right: 12px;
  width: clamp(80px, 12vw, 200px);
  height: clamp(80px, 12vw, 200px);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.benefitsRight {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: clamp(2rem, 3vw, 4rem);
  text-align: center;
  color: var(--c1);
}

.benefitsCenter {
  display: flex;
  flex-direction: column;
  align-items: right;
  text-align: right;

  font-size: clamp(1.2rem, 1.6vw, 2rem);
}

.benefitsText {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: right;
  padding-right: 50px;
}

.benefitsContainer .benefitsCenter strong {
  font-size: clamp(1rem, 1.5vw, 1.8rem);
}

.benefitsContainer .benefitsCenter span {
  font-size: clamp(1rem, 1.5vw, 1.8rem);
}

.footerText {
  font-size: clamp(1rem, 1.5vw, 1.8rem);
  font-weight: 300;
  margin-top: clamp(8px, 1.2vw, 16px);
  padding-right: 50px;
  color: #fff;
}

.lowercase-c {
  font-size: 0.75em !important;
  font-weight: 700 !important;
  text-transform: none !important;
  font-variant: normal !important;
  font-variant-caps: normal !important;
  font-feature-settings: normal !important;
  -webkit-font-feature-settings: normal !important;
  -moz-font-feature-settings: normal !important;
  display: inline-block !important;
  vertical-align: baseline !important;
  line-height: 1 !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* -------------------------------------------------------- Media Queries -------------------------------------------------------- */
/* -------------------------------------------------------- Media Queries -------------------------------------------------------- */
/* -------------------------------------------------------- Media Queries -------------------------------------------------------- */

@media (min-width:2000px) {
  .contentContainer {
    margin-bottom: 100px;
  }

  .studentsContainer { 
    flex: 1;
  }
}

@media (max-width: 1500px) {
  .contentContainer {
    align-items: flex-end;
  }
}


@media (max-width:1000px) {
  body {
    overflow-x: hidden;
    background-color: #fff;
  }

    .openday-div img {
    width: 350px;
  }
  input, select {
    font-size: 16px !important;
  }

  .only-mobile {
    display: flex !important;
  }

  .only-desktop {
    display: none;
  }
  
  .stage {
    width: 100%;
    order: 1;
    aspect-ratio: 5 / 8;
    height: auto;
    flex: 0 0 auto;
    position: relative;
    overflow: hidden;
    background-image: url('../assets/mobile/background-ind-mobile.png');
    background-size: 100% auto;
    background-position: center;
    background-repeat: no-repeat;
  }

  .stageContainer {
    flex-direction: column;
    flex: 1;
    height: auto;
    min-height: 0;
    display: flex;
  }

  .contentContainer {
    position: relative;
  }

  .mainContent {
    transform: none;
    margin: auto;
    width: fit-content;
    padding-inline: 10px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
  }
  

  .mainContent .span1 {
    font-size: clamp(2.5rem, 12vw, 8rem);
    padding: clamp(0.15em, 0.2em, 0.25em) clamp(0.25em, 0.35em, 0.45em);
    margin-top: 15px;
    width: 100%;
    text-align: center;
    bottom: 0;
  }

  .mainContent .span2 {
    font-size: clamp(1rem, 6vw, 3.8rem);
    width: 100%;
    text-align: center;
    font-weight: 800;
  }

  .mainContent .span3 {
    font-size: clamp(1.5rem, 8vw, 4rem);
    padding: 3px 30px;
  }

  .openDay {
    font-size: clamp(2.5rem, 10vw, 6rem);
    padding: 5px 20px 10px;
    border-bottom-left-radius:25px ;
    border-bottom-right-radius:25px ;
    color: #fff;
   }
  
.patchMobile{
    position: absolute;
    top: -95px;
    width: 180px;
    height: 180px;
    z-index: 20;
}

.form-text{
    width: 100%;
    height: 280px;
    display: flex;
    box-sizing: border-box;
      height: 100px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: end;
  text-align: center;

}

.sapir-text{
  color: #fff !important;
  font-weight: 800;
}




  .studentsContainer {
    justify-content: center;
    flex: none;
    margin-bottom: -10px;
    display: none;
  }

  .studentsContainer img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .contentContainer {
    width: 100%;
    max-width: 100%;
    margin-top: -10px;
  }

  .logosBox-mobile {
    background-color: #fff;
    width: 100%;
    max-width: 100vw;
    display: flex;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
    order: 3;
  }

  .logosBox-mobile img {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: flex;
  }

  .logosBox {
    justify-content: center;
    display: flex;
    margin: 0 auto;
    width: 50%;
  }

  .logosBox img {
    width: 100%;
    margin-top: 10px;
    margin-bottom: 15px;
  }

  /* ------------------------------------------------------------- FORM CONTAINER ------------------------------------------------------------- */


  .form-container h2 {
    font-size: clamp(2rem, 8vw, 8rem);
    white-space: nowrap;
    flex-wrap: nowrap;
    margin-bottom: 30px;
  }

  .container {
    flex-direction: column;
    width: 100%;
    max-width: 100vw;
    display: flex;
    overflow-x: hidden;
    position: relative;
  }

  .form-container {
    order: 2;
    position: relative;
    width: 100%;
    max-width: 100%;
    z-index: 1;
    margin-top: -5px;
  }

  .notes-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
    font-size: 1.2rem;
    margin-top: 20px;
  }

  .notes-form .child1,
  .notes-form .child2,
  .notes-form .child3 {
    display: block;
    width: 100%;
    white-space: nowrap;
    flex-wrap: nowrap;
  }

  .notes-form .child1,
  .notes-form .child2 {
    font-size: clamp(1.3rem, 5vw, 5rem);
  }

  .notes-form .child3 {
    font-size: clamp(1.2rem, 3vw, 5rem);
  }

  .mainContent .span4 {
    font-size: clamp(1.5rem, 6vw, 3rem);
      margin-top: 0; 
    bottom: 0;
  }

}

@media (max-width:580px) {
    .openday-div img {
    width: 300px;
  }
  .form-container {
    width: 100%;
    position: relative;
  }

  .mainContent .span2 {
    margin-left: 15px;
  }

  .stage-main-tagline {
    font-size: 2rem;
  }

  .form-group input {
    border-radius: 20px;
  }

  .form-group select {
    border-radius: 20px;
  }

  select,
  select.form-group,
  .form-group select,
  #degree,
  #field {
    background-color: #fff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 20px center;
    padding-right: 40px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    border: none !important;
    color: #333 !important;
    -webkit-text-fill-color: #333 !important;
  }

  select:focus,
  select:active,
  select:hover {
    background-color: #fff !important;
    outline: none !important;
    border: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  select option {
    background-color: #fff !important;
    color: #333 !important;
  }

  /* iOS Safari specific fixes to remove blue color */
  @supports (-webkit-touch-callout: none) {
    select,
    #degree,
    #field {
      background-color: #fff !important;
      -webkit-appearance: none !important;
      appearance: none !important;
      border: none !important;
      -webkit-border-radius: 20px !important;
      border-radius: 20px !important;
      color: #333 !important;
      -webkit-text-fill-color: #333 !important;
    }
    
    select:focus,
    select:active,
    select:checked,
    #degree:focus,
    #degree:active,
    #field:focus,
    #field:active {
      background-color: #fff !important;
      -webkit-tap-highlight-color: transparent !important;
      border: none !important;
      outline: none !important;
      color: #333 !important;
      -webkit-text-fill-color: #333 !important;
    }

    select::-webkit-select {
      background-color: #fff !important;
    }
  }

  /* Additional iOS fixes - ensure no blue appears */
  select,
  select * {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    background-color: #fff !important;
  }

  /* Override any iOS native styling */
  select::-webkit-select {
    background-color: #fff !important;
    color: #333 !important;
  }

  select::-moz-select {
    background-color: #fff !important;
    color: #333 !important;
  }

  .form-group {
    margin-bottom: 20px;

  }

  .submit-btn {
    font-size: 2em;
  }

  @supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)) {
    .whatsapp-btn {
      background: rgba(255, 255, 255, .85);
      border: 1px solid rgba(0, 0, 0, .08);
      box-shadow: 0 6px 14px rgba(0, 0, 0, .18);
    }
  }

}

/* -------------------------------------------------------- Media Queries -------------------------------------------------------- */
/* -------------------------------------------------------- Media Queries -------------------------------------------------------- */
/* -------------------------------------------------------- Media Queries -------------------------------------------------------- */



/* -------------------------------------------------------- Thank You Page Styles -------------------------------------------------------- */
/* -------------------------------------------------------- Thank You Page Styles -------------------------------------------------------- */
/* -------------------------------------------------------- Thank You Page Styles -------------------------------------------------------- */

@media (max-width:450px) {
  .thank-you-aside .couple-image {
    max-width: 100%;
  }
}

.stage {
  position: relative;
}

.desktop-logos {
  position: absolute;
  top: 15px;
  left: 15px;
  z-index: 10;
  max-width: 100%;
}

.thank-you-aside {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  width: auto;
  z-index: 1;
}

.thank-you-aside .couple-image {
  width: auto;
  height: 100%;
  max-height: 100vh;
  object-fit: contain;
  object-position: left bottom;
}

/* -------------------------------------------------------- Thank You Page Styles -------------------------------------------------------- */
/* -------------------------------------------------------- Thank You Page Styles -------------------------------------------------------- */
/* -------------------------------------------------------- Thank You Page Styles -------------------------------------------------------- */