:root {
--tf-blue: #003780;
--tf-blue-mid: #0f4da8;
--tf-steel: #35608f;
--tf-cyan: #6aa9ec;
--tf-ivory: #f7f5f0;
--tf-sand: #f0ece4;
--tf-white: #ffffff;
--tf-ink: #121c28;
--tf-secondary: #535f74;
--tf-muted: #67707e;
--tf-hairline: #e7e2d8;
--tf-hairline-strong: #dcd6c9;
--tf-success: #059669;
--tf-warn-bg: #fef9ee;
--tf-warn-border: #e8d4a8;
--tf-warn-ink: #6b4f1a;
--tf-font: 'Inter', system-ui, sans-serif;
--tf-mono: 'JetBrains Mono', ui-monospace, monospace;
--tf-max: 1200px;
--tf-form-max: 720px;
--tf-gutter: 24px;
--tf-radius: 4px;
--tf-ease: cubic-bezier(0.45, 0, 0.55, 1);
--tf-stack-xl: 48px;
--tf-stack-lg: 32px;
--tf-stack-md: 20px;
--tf-stack-sm: 12px;
}
*,
*::before,
*::after {
box-sizing: border-box;
}
body.tf-page {
margin: 0;
font-family: var(--tf-font);
font-size: 16px;
line-height: 1.7;
color: var(--tf-ink);
background: var(--tf-ivory);
-webkit-font-smoothing: antialiased;
overflow-x: hidden;
} .form-section {
padding: clamp(48px, 8vw, 88px) var(--tf-gutter) clamp(72px, 10vw, 120px);
background: var(--tf-ivory);
}
.form-container {
max-width: var(--tf-max);
margin: 0 auto;
}
.tf-layout {
display: flex;
flex-direction: column;
gap: 48px;
align-items: flex-start;
}
@media (min-width: 1024px) {
.tf-layout {
flex-direction: row;
gap: 64px;
}
}
.tf-form-col {
width: 100%;
max-width: var(--tf-form-max);
flex-shrink: 0;
}
.tf-aside {
width: 100%;
flex-shrink: 0;
}
@media (min-width: 1024px) {
.tf-aside {
width: 280px;
padding-top: 88px;
}
}
.tf-aside-inner {
position: sticky;
top: 120px;
display: flex;
flex-direction: column;
gap: 32px;
}
.tf-aside-title {
font-size: 0.74rem;
font-weight: 600;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--tf-ink);
margin: 0 0 8px;
}
.tf-aside-text {
margin: 0;
font-size: 0.95rem;
line-height: 1.7;
color: var(--tf-secondary);
}
.tf-aside-divider {
height: 1px;
width: 100%;
background: var(--tf-hairline);
border: 0;
}
.tf-support {
display: flex;
align-items: flex-start;
gap: 16px;
}
.tf-support-icon {
width: 44px;
height: 44px;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid var(--tf-hairline);
border-radius: var(--tf-radius);
background: var(--tf-white);
color: var(--tf-steel);
}
.tf-support-icon svg {
width: 22px;
height: 22px;
}
.tf-support-label {
font-size: 0.875rem;
font-weight: 500;
color: var(--tf-ink);
margin: 0 0 4px;
}
.tf-support-link {
display: block;
font-family: var(--tf-mono);
font-size: 0.8125rem;
color: var(--tf-secondary);
text-decoration: none;
transition: color 0.3s var(--tf-ease);
}
.tf-support-link:hover {
color: var(--tf-blue-mid);
} .form-header {
margin-bottom: clamp(32px, 5vw, 56px);
text-align: left;
}
.form-badge {
display: inline-flex;
align-items: center;
gap: 12px;
font-size: 0.74rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--tf-blue-mid);
margin-bottom: 20px;
padding: 0;
background: none;
border: none;
box-shadow: none;
}
.form-badge::before,
.form-badge::after {
content: '';
width: 22px;
height: 1px;
background: rgba(15, 77, 168, 0.35);
}
.form-badge--whatsapp {
color: #128c7e;
}
.form-badge--whatsapp::before,
.form-badge--whatsapp::after {
background: rgba(18, 140, 126, 0.35);
}
.form-title {
font-size: clamp(2rem, 4.5vw, 3rem);
font-weight: 500;
line-height: 1.15;
letter-spacing: -0.03em;
color: var(--tf-ink);
margin: 0 0 16px;
}
.form-subtitle {
font-size: clamp(1rem, 2vw, 1.125rem);
line-height: 1.8;
color: var(--tf-secondary);
margin: 0;
max-width: 600px;
}
.form-subtitle strong {
font-weight: 600;
color: var(--tf-ink);
} .form-card {
background: var(--tf-white);
border: 1px solid var(--tf-hairline);
border-radius: var(--tf-radius);
padding: clamp(24px, 4vw, 36px);
}
.form-content form {
display: flex;
flex-direction: column;
gap: var(--tf-stack-xl);
} #tekneBilgileriSection {
display: none;
flex-direction: column;
gap: 0;
}
#tekneBilgileriSection.is-open {
display: flex;
} .form-group {
display: flex;
flex-direction: column;
gap: var(--tf-stack-sm);
margin: 0;
}
#tekneBilgileriSection > .form-group + .form-group {
margin-top: var(--tf-stack-xl);
padding-top: var(--tf-stack-md);
border-top: 1px solid var(--tf-hairline);
}
.form-content form > .form-group + .form-group,
.form-content form > #tekneBilgileriSection + .form-group {
padding-top: var(--tf-stack-md);
border-top: 1px solid var(--tf-hairline);
}
.submit-section {
padding-top: var(--tf-stack-md);
border-top: 1px solid var(--tf-hairline);
display: flex;
flex-direction: column;
gap: var(--tf-stack-md);
}
.form-group-intro {
background: var(--tf-warn-bg);
border: 1px solid var(--tf-warn-border);
border-radius: var(--tf-radius);
padding: clamp(20px, 3vw, 28px);
gap: var(--tf-stack-md);
}
.form-group-intro .form-label {
font-size: 1.125rem;
color: var(--tf-warn-ink);
margin-bottom: 12px;
}
.form-group-intro .form-hint {
color: var(--tf-warn-ink);
opacity: 0.85;
}
.form-group-intro .radio-item {
background: var(--tf-white);
}
.form-hint {
color: var(--tf-muted);
font-size: 0.9rem;
margin: 0 0 var(--tf-stack-sm);
line-height: 1.6;
}
.form-label {
display: block;
font-size: 0.875rem;
font-weight: 500;
color: var(--tf-ink);
margin: 0 0 4px;
letter-spacing: 0.02em;
}
.form-label.required::after {
content: ' *';
color: var(--tf-blue-mid);
} .form-input,
.form-select,
.form-textarea {
width: 100%;
font-family: var(--tf-font);
font-size: 1rem;
color: var(--tf-ink);
background: var(--tf-white);
border: 1px solid var(--tf-hairline-strong);
border-radius: var(--tf-radius);
padding: 12px 16px;
transition: border-color 0.25s var(--tf-ease), box-shadow 0.25s var(--tf-ease);
appearance: none;
}
.form-input:focus,
.form-select:focus,
.form-textarea:focus {
outline: none;
border-color: var(--tf-blue);
box-shadow: 0 0 0 4px rgba(0, 55, 128, 0.12);
}
.form-input:disabled,
.form-select:disabled,
.form-textarea:disabled {
background: var(--tf-sand);
color: var(--tf-muted);
cursor: not-allowed;
}
.form-textarea {
min-height: 120px;
resize: vertical;
line-height: 1.6;
}
.form-select {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23535f74' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 12px center;
padding-right: 40px;
} .form-row,
.form-row-3,
.form-row-4 {
display: grid;
gap: 16px;
}
.form-row {
grid-template-columns: 1fr 1fr;
}
.form-row-3 {
grid-template-columns: repeat(3, 1fr);
}
.form-row-4 {
grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 768px) {
.form-row,
.form-row-3,
.form-row-4 {
grid-template-columns: 1fr;
}
}
@media (min-width: 769px) and (max-width: 1023px) {
.form-row-4 {
grid-template-columns: 1fr 1fr;
}
}
.radio-group,
.checkbox-group {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(168px, 1fr));
gap: var(--tf-stack-sm);
margin-top: var(--tf-stack-sm);
}
.radio-item,
.checkbox-item {
position: relative;
display: flex;
align-items: stretch;
padding: 0;
background: var(--tf-white);
border: 1px solid var(--tf-hairline-strong);
border-radius: var(--tf-radius);
cursor: pointer;
user-select: none;
transition: border-color 0.35s var(--tf-ease);
}
.radio-item::after,
.checkbox-item::after {
content: '';
position: absolute;
inset: 0;
border-radius: inherit;
border: 2px solid transparent;
pointer-events: none;
transition: border-color 0.35s var(--tf-ease);
}
.radio-item:hover,
.checkbox-item:hover {
border-color: var(--tf-steel);
}
.radio-item:has(input:checked),
.checkbox-item:has(input:checked) {
border-color: var(--tf-hairline-strong);
}
.radio-item:has(input:checked)::after,
.checkbox-item:has(input:checked)::after {
border-color: var(--tf-blue);
}
.radio-item input[type="radio"],
.checkbox-item input[type="checkbox"] {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
.radio-item label,
.checkbox-item label {
display: flex;
align-items: center;
gap: 12px;
flex: 1;
padding: 14px 16px;
font-size: 0.9375rem;
font-weight: 400;
color: var(--tf-ink);
cursor: pointer;
margin: 0;
line-height: 1.45;
pointer-events: none;
cursor: pointer;
margin: 0;
transition: color 0.35s var(--tf-ease);
}
.radio-item label::before,
.checkbox-item label::before {
content: '';
flex-shrink: 0;
width: 16px;
height: 16px;
border: 1px solid var(--tf-hairline-strong);
background: var(--tf-white);
transition:
border-color 0.35s var(--tf-ease),
background 0.35s var(--tf-ease),
box-shadow 0.35s var(--tf-ease);
}
.radio-item label::before {
border-radius: 50%;
}
.checkbox-item label::before {
border-radius: 2px;
}
.radio-item:has(input:checked) label::before {
border-color: var(--tf-blue);
background: var(--tf-blue);
box-shadow: inset 0 0 0 3px var(--tf-white);
}
.checkbox-item:has(input:checked) label::before {
border-color: var(--tf-blue);
background-color: var(--tf-blue);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 6l2.5 2.5 4.5-5' stroke='white' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: center;
background-size: 11px;
}
.radio-item:has(input:checked) label,
.checkbox-item:has(input:checked) label {
color: var(--tf-blue);
font-weight: 500;
}
.radio-item:has(input:disabled),
.checkbox-item:has(input:disabled) {
opacity: 0.45;
cursor: not-allowed;
background: var(--tf-ivory);
}
.radio-item:has(input:disabled):hover,
.checkbox-item:has(input:disabled):hover {
border-color: var(--tf-hairline-strong);
}
.form-group > .checkbox-item {
width: 100%;
margin-top: var(--tf-stack-sm);
background: var(--tf-ivory);
}
.form-group > .checkbox-item:hover {
border-color: var(--tf-steel);
background: var(--tf-white);
}
.form-group > .checkbox-item:has(input:checked) {
background: var(--tf-white);
}
.radio-item:focus-within,
.checkbox-item:focus-within {
border-color: var(--tf-steel);
box-shadow: 0 0 0 4px rgba(0, 55, 128, 0.1);
}
.checkbox-group {
grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
} .form-group-intro .radio-item {
background: var(--tf-white);
} .form-group > .checkbox-item + div,
.form-group > .checkbox-item + .form-row,
.form-group > .checkbox-item + .form-row-3,
.form-group > .checkbox-item + .form-row-4,
.form-group > .checkbox-item + .radio-group {
margin-top: var(--tf-stack-sm);
} .image-upload-area {
border: 1px dashed var(--tf-hairline-strong);
border-radius: var(--tf-radius);
padding: 32px 24px;
text-align: center;
cursor: pointer;
background: var(--tf-ivory);
transition: border-color 0.25s var(--tf-ease), background 0.25s var(--tf-ease);
}
.image-upload-area:hover,
.image-upload-area.drag-over {
border-color: var(--tf-blue-mid);
background: rgba(15, 77, 168, 0.04);
}
.upload-icon {
width: 40px;
height: 40px;
color: var(--tf-steel);
margin: 0 auto 12px;
}
.upload-text {
font-size: 0.95rem;
font-weight: 500;
color: var(--tf-ink);
margin-bottom: 6px;
}
.upload-subtext {
font-size: 0.8125rem;
color: var(--tf-muted);
margin-bottom: 16px;
}
.upload-actions {
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: center;
}
.upload-action-btn {
font-family: var(--tf-font);
font-size: 0.8125rem;
font-weight: 500;
letter-spacing: 0.06em;
text-transform: uppercase;
padding: 10px 18px;
border: 1px solid var(--tf-hairline-strong);
border-radius: var(--tf-radius);
background: var(--tf-white);
color: var(--tf-ink);
cursor: pointer;
transition: border-color 0.25s var(--tf-ease), color 0.25s var(--tf-ease);
}
.upload-action-btn:hover {
border-color: var(--tf-blue-mid);
color: var(--tf-blue-mid);
}
.upload-action-btn:focus-visible {
outline: 2px solid var(--tf-blue);
outline-offset: 2px;
}
.upload-error {
color: #ba1a1a;
font-size: 0.875rem;
margin-top: 10px;
display: none;
}
.upload-error.is-visible {
display: block;
}
.image-preview-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
gap: 12px;
margin-top: 16px;
}
.image-preview-item {
position: relative;
aspect-ratio: 1;
border-radius: var(--tf-radius);
overflow: hidden;
border: 1px solid var(--tf-hairline);
}
.image-preview-item img {
width: 100%;
height: 100%;
object-fit: cover;
}
.image-preview-remove {
position: absolute;
top: 6px;
right: 6px;
width: 28px;
height: 28px;
border: none;
border-radius: var(--tf-radius);
background: rgba(18, 28, 40, 0.75);
color: white;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
padding: 0;
}
.image-preview-remove:hover {
background: rgba(18, 28, 40, 0.9);
}
.image-preview-remove:focus-visible {
outline: 2px solid var(--tf-cyan);
outline-offset: 2px;
}
.image-preview-info {
position: absolute;
bottom: 0;
left: 0;
right: 0;
padding: 6px 8px;
background: linear-gradient(transparent, rgba(0, 0, 0, 0.65));
color: white;
font-family: var(--tf-mono);
font-size: 0.6875rem;
text-align: center;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.upload-counter {
display: none;
align-items: center;
gap: 8px;
margin-top: 12px;
font-family: var(--tf-mono);
font-size: 0.8125rem;
color: var(--tf-muted);
} .btn-submit {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 10px;
align-self: flex-end;
font-family: var(--tf-font);
font-size: 0.875rem;
font-weight: 500;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--tf-white);
background: var(--tf-blue);
border: none;
border-radius: var(--tf-radius);
padding: 17px 38px;
cursor: pointer;
transition: transform 0.35s var(--tf-ease), background 0.25s var(--tf-ease);
}
.btn-submit:hover {
background: var(--tf-blue-mid);
transform: translateY(-1px);
}
.btn-submit:active {
transform: scale(0.98);
}
.btn-submit:focus-visible {
outline: 2px solid var(--tf-cyan);
outline-offset: 3px;
}
.btn-submit:disabled,
.btn-submit.is-loading {
opacity: 0.6;
cursor: wait;
transform: none;
pointer-events: none;
}
.btn-submit svg {
width: 18px;
height: 18px;
}
.form-note {
font-size: 0.875rem;
line-height: 1.65;
color: var(--tf-secondary);
padding: 16px;
background: var(--tf-ivory);
border: 1px solid var(--tf-hairline);
border-radius: var(--tf-radius);
}
.form-note strong {
color: var(--tf-ink);
} .thank-you-section {
display: none;
padding: clamp(72px, 10vw, 120px) var(--tf-gutter);
background: var(--tf-ivory);
}
.thank-you-section.is-visible {
display: block;
}
.thank-you-section .form-container {
max-width: 640px;
}
.thank-you-section .form-card {
text-align: center;
}
.success-content {
display: flex;
flex-direction: column;
align-items: center;
}
.success-icon {
width: 72px;
height: 72px;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid var(--tf-hairline);
border-radius: 50%;
background: var(--tf-white);
color: var(--tf-success);
margin-bottom: 24px;
}
.success-icon svg {
width: 36px;
height: 36px;
}
.success-title {
font-size: clamp(1.75rem, 4vw, 2.25rem);
font-weight: 500;
letter-spacing: -0.02em;
color: var(--tf-ink);
margin: 0 0 8px;
}
.success-subtitle {
font-size: 1.05rem;
color: var(--tf-secondary);
margin: 0 0 24px;
}
.success-message {
width: 100%;
text-align: left;
font-size: 0.95rem;
line-height: 1.7;
color: var(--tf-secondary);
padding: 20px;
margin-bottom: 28px;
background: var(--tf-ivory);
border: 1px solid var(--tf-hairline);
border-radius: var(--tf-radius);
}
.success-details {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
width: 100%;
margin-bottom: 32px;
}
@media (max-width: 600px) {
.success-details {
grid-template-columns: 1fr;
}
}
.detail-item {
padding: 20px 16px;
background: var(--tf-white);
border: 1px solid var(--tf-hairline);
border-radius: var(--tf-radius);
text-align: center;
}
.detail-icon-wrap {
width: 44px;
height: 44px;
margin: 0 auto 12px;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid var(--tf-hairline);
border-radius: 50%;
background: var(--tf-ivory);
}
.detail-icon {
width: 22px;
height: 22px;
color: var(--tf-blue-mid);
}
.detail-title {
font-size: 0.875rem;
font-weight: 500;
color: var(--tf-ink);
margin-bottom: 4px;
}
.detail-text {
font-size: 0.8125rem;
color: var(--tf-muted);
}
.back-button {
display: inline-flex;
align-items: center;
gap: 8px;
font-family: var(--tf-font);
font-size: 0.875rem;
font-weight: 500;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--tf-blue);
background: transparent;
border: 1px solid var(--tf-hairline-strong);
border-radius: var(--tf-radius);
padding: 14px 28px;
cursor: pointer;
transition: border-color 0.25s var(--tf-ease), color 0.25s var(--tf-ease);
}
.back-button:hover {
border-color: var(--tf-blue);
color: var(--tf-blue-mid);
}
.back-button:focus-visible {
outline: 2px solid var(--tf-blue);
outline-offset: 2px;
}
.back-button svg {
width: 18px;
height: 18px;
} .form-input.is-invalid,
.form-select.is-invalid,
.form-textarea.is-invalid {
border-color: #ba1a1a;
box-shadow: 0 0 0 4px rgba(186, 26, 26, 0.1);
}
.radio-item.is-invalid,
.checkbox-item.is-invalid {
border-color: #ba1a1a;
}
.radio-item.is-invalid::after,
.checkbox-item.is-invalid::after {
border-color: #ba1a1a;
}
.field-error {
font-size: 0.8125rem;
color: #ba1a1a;
margin-top: 6px;
}
.upload-counter.is-visible {
display: inline-flex;
}
@media (max-width: 640px) {
.btn-submit {
width: 100%;
align-self: stretch;
}
.radio-group,
.checkbox-group {
grid-template-columns: 1fr;
}
}