.appointment-page {
  background: #f4f8fb;
  padding: 80px 20px;
}

.appointment-container {
  max-width: 1050px;
  margin: 0 auto;
  background: #ffffff;
  border-radius: 18px;
  padding: 45px;
  box-shadow: 0 15px 40px rgba(11, 44, 74, 0.12);
}

.appointment-header {
  text-align: center;
  margin-bottom: 35px;
}

.appointment-label {
  display: inline-block;
  color: #008080;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 10px;
  text-transform: uppercase;
  font-size: 13px;
}

.appointment-header h1 {
  color: #0b2c4a;
  font-size: 36px;
  margin-bottom: 12px;
}

.appointment-header p {
  color: #52677a;
  max-width: 720px;
  margin: 0 auto;
  line-height: 1.7;
}

.appointment-form {
  margin-top: 25px;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}

.form-group {
  display: flex;
  flex-direction: column;
}

.form-group.full {
  margin-top: 22px;
}

.form-group label {
  font-weight: 600;
  color: #0b2c4a;
  margin-bottom: 8px;
  font-size: 15px;
}

.form-group label span {
  color: #d62828;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  border: 1px solid #d8e2ea;
  border-radius: 10px;
  padding: 13px 14px;
  font-size: 15px;
  color: #223;
  background: #ffffff;
  outline: none;
  transition: 0.25s ease;
}

.form-group textarea {
  resize: vertical;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: #008080;
  box-shadow: 0 0 0 3px rgba(0, 128, 128, 0.12);
}

.appointment-note {
  margin-top: 24px;
  padding: 15px 18px;
  background: #eef8f8;
  border-left: 4px solid #008080;
  border-radius: 10px;
}

.appointment-note p {
  margin: 0;
  color: #36556a;
  line-height: 1.6;
  font-size: 14px;
}

.appointment-btn {
  margin-top: 28px;
  width: 100%;
  border: none;
  background: linear-gradient(135deg, #0b2c4a, #008080);
  color: #ffffff;
  padding: 15px 22px;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: 0.25s ease;
}

.appointment-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(11, 44, 74, 0.25);
}

.appointment-alert {
  padding: 18px 22px;
  border-radius: 12px;
  margin-bottom: 25px;
}

.appointment-alert p {
  margin: 5px 0;
}

.appointment-error {
  background: #fff1f1;
  color: #9d1c1c;
  border-left: 4px solid #d62828;
}

.appointment-success {
  background: #effaf5;
  color: #155c38;
  border-left: 4px solid #1f9d63;
  text-align: center;
}

.appointment-success h3 {
  margin-bottom: 8px;
  color: #155c38;
}

.appointment-success strong {
  display: inline-block;
  margin: 8px 0;
  font-size: 20px;
  color: #0b2c4a;
}
.appointment-success-card{
    text-align:center;
    max-width:700px;
    margin:auto;
}

.success-icon{
    width:90px;
    height:90px;
    margin:0 auto 25px;
    border-radius:50%;
    background:#22c55e;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:42px;
    font-weight:700;
}

.success-text{
    color:#555;
    margin:20px 0;
    line-height:1.8;
}

.appointment-reference{
    margin:35px 0;
    padding:25px;
    background:#f5fbfb;
    border:2px dashed #008080;
    border-radius:12px;
}

.appointment-reference span{
    display:block;
    color:#777;
    margin-bottom:10px;
}

.appointment-reference h2{
    color:#0b2c4a;
    margin:0;
    letter-spacing:1px;
}

.appointment-status{
    margin:20px 0;
    font-size:17px;
}

.status-pending{
    color:#d97706;
    font-weight:700;
}

.appointment-info{
    margin:30px 0;
    line-height:1.8;
    color:#666;
}

.success-buttons{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.secondary-btn{
    background:#6b7280 !important;
}

.secondary-btn:hover{
    background:#4b5563 !important;
}



@media (max-width: 768px) {
  .appointment-page {
    padding: 50px 14px;
  }

  .appointment-container {
    padding: 28px 18px;
    border-radius: 14px;
  }

  .appointment-header h1 {
    font-size: 28px;
  }

  .form-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .success-buttons{
    flex-direction:column;
}

.success-buttons a{
    width:100%;
}
}