/* =====================================================
   FULL CIRCLE YACHT - CONTACT PAGE
   Extracted from inline page styles
===================================================== */

/* =====================================================
   BOOKING FORM
===================================================== */

.fcy-booking-page {
  padding: 95px 0 110px;
  background:
    radial-gradient(circle at 12% 18%, rgba(12,90,219,.08), transparent 30%),
    linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);
}

.fcy-booking-form-card,
.fcy-booking-sidebar {
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(12,90,219,.10);
  border-radius: 24px;
  box-shadow: 0 26px 80px rgba(4,20,36,.08);
}

.fcy-booking-form-card {
  padding: 42px;
}

.fcy-form-heading {
  margin-bottom: 34px;
}

.fcy-form-heading span {
  display: inline-block;
  color: #0c5adb;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.fcy-form-heading h2 {
  font-size: 42px;
  line-height: 1.08;
  color: #041424;
  margin-bottom: 14px;
}

.fcy-form-heading p {
  color: #667085;
  font-size: 16px;
  line-height: 28px;
  margin: 0;
}

.fcy-field {
  margin-bottom: 18px;
}

.fcy-field label {
  display: block;
  margin-bottom: 8px;
  color: #041424;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.fcy-field input,
.fcy-field select,
.fcy-field textarea {
  width: 100%;
  border: 1px solid rgba(4,20,36,.12);
  background: #fff;
  color: #041424;
  min-height: 54px;
  border-radius: 12px;
  padding: 0 16px;
  outline: none;
}

.fcy-field textarea {
  padding: 16px;
}

.fcy-field input:focus,
.fcy-field select:focus,
.fcy-field textarea:focus {
  border-color: #0c5adb;
  box-shadow: 0 0 0 4px rgba(12,90,219,.12);
}

.fcy-availability-box {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #eef5ff;
  color: #041424;
  border-radius: 14px;
  padding: 16px 18px;
  margin: 10px 0 24px;
  font-size: 14px;
}

.fcy-availability-box.available {
  background: #e9fff2;
  color: #0b6b35;
}

.fcy-availability-box.unavailable {
  background: #fff0f0;
  color: #9c1c1c;
}

.fcy-form-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.fcy-form-actions button,
.fcy-confirm-actions button {
  min-height: 54px;
  border: none;
  border-radius: 12px;
  padding: 0 28px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
}

#checkAvailabilityBtn {
  background: #041424;
  color: #fff;
}

#reviewBookingBtn,
#submitBookingBtn {
  background: #0c5adb;
  color: #fff;
}

#checkAvailabilityBtn:hover,
#reviewBookingBtn:hover,
#submitBookingBtn:hover {
  background: #e84545;
  color: #fff;
}

/* =====================================================
   CONTACT SUBMIT BUTTON
===================================================== */

#contactSubmitBtn {
  min-width: 260px;
  background:
    linear-gradient(
      135deg,
      #022F7B,
      #041424
    );

  color: #fff;

  transition: .3s ease;
}

#contactSubmitBtn:hover {
  background:
    linear-gradient(
      135deg,
      #e84545,
      #a11428
    );

  color: #fff;

  transform: translateY(-2px);
}

/* Mobile */

@media (max-width: 575px) {

  #contactSubmitBtn {
    width: 100%;
    min-width: 100%;
  }

}
/* =====================================================
   SIDEBAR
===================================================== */

.fcy-booking-sidebar {
  padding: 34px 30px;
  position: sticky;
  top: 110px;
}

.fcy-booking-sidebar h3 {
  color: #041424;
  font-size: 28px;
  margin-bottom: 12px;
}

.fcy-booking-sidebar p {
  color: #667085;
  font-size: 15px;
  line-height: 27px;
  margin-bottom: 24px;
}

.fcy-sidebar-phone {
  min-height: 58px;
  padding: 0 20px;
  background: #0c5adb;
  color: #fff;
  border-radius: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 26px;
}

.fcy-sidebar-phone:hover {
  background: #e84545;
  color: #fff;
}

.fcy-sidebar-list {
  display: grid;
  gap: 14px;
}

.fcy-sidebar-list div {
  color: #041424;
  font-size: 14px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.fcy-sidebar-list i {
  color: #0c5adb;
  margin-top: 3px;
}


/* =====================================================
   CONFIRMATION MODAL
===================================================== */

.fcy-confirm-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(0,18,39,.72);
  backdrop-filter: blur(10px);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.fcy-confirm-modal.active {
  display: flex;
}

.fcy-confirm-card {
  position: relative;
  max-width: 620px;
  width: 100%;
  background: #fff;
  border-radius: 24px;
  padding: 38px;
  box-shadow: 0 30px 90px rgba(0,0,0,.25);
}

.fcy-confirm-close {
  position: absolute;
  right: 18px;
  top: 18px;
  border: none;
  background: #eef5ff;
  width: 38px;
  height: 38px;
  border-radius: 50%;
}

.fcy-confirm-card > span {
  color: #0c5adb;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.fcy-confirm-card h3 {
  font-size: 32px;
  color: #041424;
  margin: 10px 0 22px;
}

.fcy-review-output {
  display: grid;
  gap: 10px;
  margin-bottom: 26px;
}

.fcy-review-output div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(4,20,36,.08);
}

.fcy-review-output strong {
  color: #041424;
}

.fcy-review-output span {
  color: #667085;
  text-align: right;
}

.fcy-confirm-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

#editBookingBtn {
  background: #eef5ff;
  color: #041424;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 991px) {
  .fcy-booking-hero-content h1 {
    font-size: 46px;
  }

  .fcy-booking-sidebar {
    position: relative;
    top: 0;
  }
}

@media (max-width: 575px) {
  .fcy-booking-hero {
    min-height: 360px;
  }

  .fcy-booking-hero-content h1 {
    font-size: 46px;
  }

  .fcy-booking-hero-content p {
    font-size: 15px;
    line-height: 28px;
  }

  .fcy-booking-form-card {
    padding: 28px 20px;
  }

  .fcy-form-heading h2 {
    font-size: 30px;
  }

  .fcy-form-actions button,
  .fcy-confirm-actions button {
    width: 100%;
  }

  .fcy-confirm-card {
    padding: 32px 22px;
  }

  .fcy-review-output div {
    flex-direction: column;
    gap: 2px;
  }

  .fcy-review-output span {
    text-align: left;
  }
}
	
/* =====================================================
   CONTACT / BOOKING FORM — TABLET + MOBILE COMPACT FIX
   Keeps desktop as-is
===================================================== */

@media (max-width: 767px) {

  .fcy-booking-page {
    padding: 52px 0 64px;
  }

  .fcy-booking-page .container {
    padding-left: 14px;
    padding-right: 14px;
  }

  .fcy-booking-form-card {
    padding: 22px 16px;
    border-radius: 16px;
  }

  .fcy-form-heading {
    margin-bottom: 20px;
  }

  .fcy-form-heading span {
    font-size: 10px;
    letter-spacing: 1.4px;
    margin-bottom: 8px;
  }

  .fcy-form-heading h2 {
    font-size: 28px;
    line-height: 1.08;
    margin-bottom: 10px;
  }

  .fcy-form-heading p {
    font-size: 14px;
    line-height: 23px;
    margin-bottom: 8px;
  }

  .fcy-field {
    margin-bottom: 11px;
  }

  .fcy-field label {
    font-size: 10px;
    letter-spacing: .8px;
    margin-bottom: 5px;
  }

  .fcy-field input,
  .fcy-field select {
    min-height: 43px;
    height: 43px;
    border-radius: 9px;
    padding: 0 12px;
    font-size: 13px;
  }

  .fcy-field textarea {
    min-height: 88px;
    height: 88px;
    border-radius: 9px;
    padding: 12px;
    font-size: 13px;
  }

  .fcy-availability-box {
    padding: 11px 12px;
    margin: 8px 0 14px;
    border-radius: 10px;
    font-size: 12px;
    line-height: 20px;
    align-items: flex-start;
  }

  .fcy-form-actions {
    gap: 10px;
  }

  .fcy-form-actions button,
  .fcy-confirm-actions button {
    min-height: 44px;
    border-radius: 10px;
    padding: 0 18px;
    font-size: 11px;
  }

  .fcy-booking-sidebar {
    padding: 22px 18px;
    border-radius: 16px;
    margin-top: 10px;
  }

  .fcy-booking-sidebar h3 {
    font-size: 23px;
    margin-bottom: 8px;
  }

  .fcy-booking-sidebar p {
    font-size: 13px;
    line-height: 23px;
    margin-bottom: 16px;
  }

  .fcy-sidebar-phone {
    min-height: 48px;
    border-radius: 10px;
    margin-bottom: 18px;
  }

  .fcy-sidebar-list {
    gap: 10px;
  }

  .fcy-sidebar-list div {
    font-size: 13px;
    line-height: 21px;
  }
}

/* Extra-small phones */

@media (max-width: 420px) {

  .fcy-booking-form-card {
    padding: 18px 12px;
  }

  .fcy-form-heading h2 {
    font-size: 25px;
  }

  .fcy-field input,
  .fcy-field select {
    min-height: 41px;
    height: 41px;
  }

  .fcy-field textarea {
    min-height: 78px;
    height: 78px;
  }
}
	/* =====================================================
   CONTACT PERMISSION BOX
===================================================== */

.fcy-contact-permission-box {
  background:
    linear-gradient(
      135deg,
      rgba(217,222,231,0.06),
      rgba(213,209,209,0.05)
    );


  border-radius: 16px;

  padding: 18px 20px;

  margin: 10px 0 24px;
}

.fcy-contact-permission-box__header {
  display: flex;
  align-items: flex-start;
  gap: 14px;

  margin-bottom: 16px;
}

.fcy-contact-permission-box__header i {
  width: 42px;
  height: 42px;

  border-radius: 50%;

  background: #0c5adb;

  color: #fff;

  display: flex;
  align-items: center;
  justify-content: center;

  flex-shrink: 0;
}

.fcy-contact-permission-box__header strong {
  display: block;

  color: #041424;

  font-size: 14px;
  font-weight: 900;

  margin-bottom: 4px;
}

.fcy-contact-permission-box__header p {
  color: #667085;

  font-size: 13px;
  line-height: 22px;

  margin: 0;
}

.fcy-contact-permission-box__options {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.fcy-contact-permission-option {
  position: relative;

  min-height: 38px;

  padding: 0 18px;

  border-radius: 12px;

  background: #fff;

  border: 1px solid rgba(4,20,36,.10);

  display: inline-flex;
  align-items: center;
  gap: 10px;

  cursor: pointer;

  transition: .25s ease;
}

.fcy-contact-permission-option:hover {
  border-color: #0c5adb;
  transform: translateY(-2px);
}

.fcy-contact-permission-option input {
  accent-color: #0c5adb;
}

.fcy-contact-permission-option span {
  color: #041424;

  font-size: 13px;
  font-weight: 700;
}

/* Mobile */

@media (max-width: 575px) {

  .fcy-contact-permission-box {
    padding: 16px;
    border-radius: 14px;
  }

  .fcy-contact-permission-box__header {
    gap: 10px;
  }

  .fcy-contact-permission-box__header i {
    width: 36px;
    height: 36px;
    font-size: 13px;
  }

  .fcy-contact-permission-box__header p {
    font-size: 12px;
    line-height: 20px;
  }

  .fcy-contact-permission-box__options {
    flex-direction: column;
  }

  .fcy-contact-permission-option {
    width: 100%;
    min-height: 34px;
  }

}

/* =====================================================
   FULL CIRCLE YACHT — GOOGLE MAP
===================================================== */

.fcy-google-map {
	position: relative;
	overflow: hidden;
	background: #f1f1f1;
	padding: 10px 20px;
}

.fcy-google-map iframe {
	width: 100%;
	height: 620px;
	margin: 10px auto;
	border: 1px solid #E11215;
	border-radius: 10px;
	filter:
		grayscale(0%)
		contrast(1.05)
		saturate(1.05);
}

.fcy-google-map::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			to bottom,
			rgba(4,20,36,.08),
			rgba(4,20,36,.18)
		);
	pointer-events: none;
	z-index: 1;
}

@media (max-width: 991px) {
	.fcy-google-map iframe {
		height: 520px;
	}
}

@media (max-width: 575px) {
	.fcy-google-map iframe {
		height: 420px;
	}
}