   #submitBtn {
       position: relative;
       overflow: hidden;
   }

   .btn-loader {
       width: 22px;
       height: 22px;
       border: 3px solid rgba(255, 255, 255, 0.4);
       border-top-color: #fff;
       border-radius: 50%;
       animation: spin 0.8s linear infinite;
       display: none;
       position: absolute;
       left: 50%;
       top: 50%;
       transform: translate(-50%, -50%);
   }

   @keyframes spin {
       to {
           transform: rotate(360deg) translate(-50%, -50%);
       }
   }

   #submitBtn.loading .btn-text {
       visibility: hidden;
   }

   #submitBtn.loading .btn-loader {
       display: block;
   }

   .file-input-wrapper {
       position: relative;
       margin-bottom: 15px;
   }

   .file-input-label {
       display: flex;
       align-items: center;
       padding: 25px 15px;
       border: 1px solid #e0e6dd;
       border-radius: 10px;
       background: #f8faf7;
       cursor: pointer;
       transition: background 0.25s;
       width: 100%;
   }

   .file-input-label:hover {
       background: #e0f7fa;
   }

   .file-input-icon {
       margin-right: 10px;
       font-size: 20px;
       color: #5B8E3E;
   }

   .file-input-text {
       flex-grow: 1;
       font-size: 15px;
       color: #444;
   }

   .file-input-hint {
       font-size: 12px;
       color: #888;
   }

   .file-input-hidden {
       display: none;
   }

   .file-name-display {
       margin-top: 5px;
       font-size: 14px;
       color: #555;
   }

   .kvkk-area {
       margin-bottom: 15px;
   }

   .kvkk-check {
       display: flex;
       align-items: flex-start;
       gap: 10px;
       cursor: pointer;
       width: 100%;
   }

   .kvkk-check input {
       display: none;
   }

   .kvkk-check span {
       width: 18px;
       height: 18px;
       border-radius: 4px;
       border: 2px solid #5B8E3E;
       display: inline-flex;
       align-items: center;
       justify-content: center;
       margin-top: 10px;
       margin-left: 6px;
   }

   .kvkk-check input:checked+span::after {
       content: "✓";
       color: #fff;
       font-size: 13px;
       background: #5B8E3E;
       width: 100%;
       height: 100%;
       border-radius: 2px;
       display: flex;
       align-items: center;
       justify-content: center;
   }

   .kvkk-check small {
       font-size: 13px;
       color: #444;
   }

   .kvkk-check a {
       color: #5B8E3E;
       font-weight: 600;
       text-decoration: none;
   }

   .kvkk-check a:hover {
       text-decoration: underline;
   }

   .kvkk-modal {
       position: fixed;
       inset: 0;
       background: rgba(0, 0, 0, 0.55);
       display: none;
       align-items: center;
       justify-content: center;
       z-index: 9999;
   }

   .kvkk-modal.active {
       display: flex;
   }

   .kvkk-content {
       background: #fff;
       max-width: 520px;
       width: 90%;
       padding: 35px;
       border-radius: 18px;
       position: relative;
       box-shadow: 0 30px 80px rgba(0, 0, 0, 0.3);
       animation: kvkkFade 0.3s ease;
   }

   @keyframes kvkkFade {
       from {
           transform: translateY(20px);
           opacity: 0;
       }

       to {
           transform: translateY(0);
           opacity: 1;
       }
   }

   .kvkk-content h3 {
       color: #2f5e1f;
       margin-bottom: 15px;
   }

   .kvkk-content p {
       font-size: 14px;
       color: #444;
       line-height: 1.6;
       margin-bottom: 10px;
   }

   .kvkk-close {
       position: absolute;
       top: 15px;
       right: 18px;
       background: none;
       border: none;
       font-size: 26px;
       cursor: pointer;
       color: #888;
   }

   label.kvkk-check {
       border: none;
       box-shadow: none;
       background-color: transparent;
   }

   @media (max-width: 900px) {
       .file-input-label {
           flex-direction: column;
           align-items: flex-start;
           height: auto;
           line-height: normal;
           flex-direction: row;
       }

       .file-input-text {
           margin-top: 5px;
       }

       .kvkk-check {
           line-height: normal;
           height: auto;
       }

       .kvkk-check span {
           margin-top: 0;
       }
   }

   .ipso-contact {
       padding: 100px 20px;
       background:
           radial-gradient(circle at top right, #eef6e9, transparent 40%),
           radial-gradient(circle at bottom left, #fff4cc, transparent 45%),
           linear-gradient(180deg, #f7f9f6, #f2f5f1);
   }

   .ipso-contact-head {
       text-align: center;
       max-width: 700px;
       margin: 0 auto 60px;
   }

   .ipso-contact-head h1 {
       font-size: 42px;
       font-weight: 700;
       color: #2f5e1f;
       position: relative;
   }

   .ipso-contact-head h1::after {
       content: "";
       width: 60px;
       height: 4px;
       background: linear-gradient(90deg, #F2C300, #FFD84D);
       display: block;
       margin: 14px auto 0;
       border-radius: 2px;
   }

   .ipso-contact-head p {
       font-size: 18px;
       color: #555;
       margin-top: 15px;
   }

   .ipso-contact-grid {
       max-width: 1200px;
       margin: auto;
       display: grid;
       grid-template-columns: 1fr 1fr;
       gap: 40px;
   }

   .ipso-contact-info {
       display: grid;
       gap: 20px;
   }

   .info-box {
       background: rgba(255, 255, 255, 0.85);
       backdrop-filter: blur(6px);
       border-radius: 16px;
       padding: 22px;
       border: 1px solid rgba(0, 0, 0, 0.05);
       box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
       transition: 0.3s;
   }

   .info-box {
       display: flex;
       gap: 16px;
       align-items: flex-start;
   }

   .info-icon {
       width: 42px;
       height: 42px;
       border-radius: 12px;
       background: linear-gradient(135deg, #5B8E3E, #78b957);
       display: flex;
       align-items: center;
       justify-content: center;
       font-size: 20px;
       color: #fff;
       flex-shrink: 0;
   }


   .info-box:hover {
       transform: translateY(-4px);
       box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
   }

   .info-box h3 {
       font-size: 15px;
       text-transform: uppercase;
       letter-spacing: 0.5px;
       color: #5B8E3E;
       margin-bottom: 6px;
       padding: 0;
   }

   .info-box p {
       color: #444;
       line-height: 1.6;
   }

   .info-box p a {
       color: inherit
   }

   .ipso-map iframe {
       width: 100%;
       height: 280px;
       border-radius: 18px;
       border: none;
       box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18);
   }

   .ipso-contact-form {
       background: linear-gradient(180deg, #ffffff, #fbfcfa);
       padding: 45px;
       border-radius: 22px;
       box-shadow: 0 25px 60px rgba(0, 0, 0, 0.12);
       position: relative;
   }

   .ipso-contact-form::before {
       content: "";
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 5px;
       background: linear-gradient(90deg, #5B8E3E, #F2C300);
   }

   .ipso-contact-form h3 {
       font-size: 22px;
       color: #2f5e1f;
       margin-bottom: 20px;
   }

   .ipso-contact-form input,
   .ipso-contact-form select,
   .ipso-contact-form textarea {
       width: 100%;
       padding: 14px 15px;
       margin-bottom: 15px;
       border-radius: 10px;
       border: 1px solid #e0e6dd;
       font-size: 15px;
       background: #f8faf7;
       transition: 0.25s;
   }

   .ipso-contact-form select {
       appearance: none;
       background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%204%205%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22M2%200L0%202h4L2%200zm0%205l2-2H0l2%202z%22/%3E%3C/svg%3E');
       background-repeat: no-repeat;
       background-position: right 15px center;
       background-size: 10px 12px;
       padding-right: 40px;
   }

   .ipso-contact-form input:focus,
   .ipso-contact-form select:focus,
   .ipso-contact-form textarea:focus {
       outline: none;
       background: #fff;
       border-color: #5B8E3E;
       box-shadow: 0 0 0 3px rgba(91, 142, 62, 0.15);
   }

   .form-message {
       display: none;
       padding: 14px;
       border-radius: 8px;
       margin-bottom: 15px;
       font-size: 14px;
   }

   .form-message.success {
       background: #e6f4ea;
       color: #2f6b3f;
       border: 1px solid #9ad3a8;
   }

   .form-message.error {
       background: #fdecea;
       color: #b3261e;
       border: 1px solid #f5b5b0;
   }

   .ipso-contact-form button {
       width: 100%;
       padding: 15px;
       border-radius: 10px;
       border: none;
       font-size: 16px;
       font-weight: 600;
       cursor: pointer;
       color: #ffffff;
       background: linear-gradient(135deg, #5B8E3E, #78b957);
       transition: 0.3s;
   }

   .ipso-contact-form button:hover {
       background: linear-gradient(135deg, #4a7834, #66a948);
       transform: translateY(-2px);
   }

   @media (max-width: 900px) {
       .ipso-contact-grid {
           grid-template-columns: 1fr;
       }
   }

   #ipsoContactForm {
       display: block !important;
   }