.tbm-iui-body{
    font-family:'Inter', 'Segoe UI', Arial, sans-serif;
    margin:0;
    padding:0;
    color:var(--text-primary);
    background:var(--bg-body);
    -webkit-font-smoothing:antialiased;
}

.tbm-iui-top-accent{
    height:4px;
    width:100%;
    background:linear-gradient(90deg, var(--color-primary), var(--color-secondary), var(--color-secondary-light));
}

.tbm-iui-hero{
    position:relative;
    min-height:20rem;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:3rem 1.5rem 5.5rem;
    background:
        linear-gradient(155deg, rgba(0,48,87,.92) 0%, rgba(0,29,56,.94) 55%, rgba(0,156,166,.55) 100%),
        url('<?php echo TBM_IUI_HERO_IMAGE_WEB_PATH; ?>') center / cover no-repeat;
    background-color:var(--color-primary-dark);
    clip-path:polygon(0 0, 100% 0, 100% 90%, 0 100%);
    animation:tbmIuiFadeIn .6s var(--ease) both;
}
.tbm-iui-hero-inner{ max-width:46rem; }
.tbm-iui-hero h1{
    margin:0;
    color:#ffffff;
    font-weight:800;
    letter-spacing:-.02em;
    font-size:clamp(2rem, 4vw, 3.1rem);
    line-height:1.15;
    text-shadow:0 4px 24px rgba(0,29,56,.35);
}
.tbm-iui-hero p{
    margin:1rem auto 0;
    max-width:34rem;
    color:rgba(255,255,255,.86);
    font-size:var(--fs-md);
    line-height:1.6;
}
.tbm-iui-hero-line{
    width:70px;
    height:4px;
    border-radius:999px;
    margin:1.3rem auto 0;
    background:linear-gradient(90deg, var(--color-secondary), var(--color-secondary-light));
}

@keyframes tbmIuiFadeIn{
    from{ opacity:0; transform:translateY(-8px); }
    to{ opacity:1; transform:translateY(0); }
}
@keyframes tbmIuiRiseIn{
    from{ opacity:0; transform:translateY(18px); }
    to{ opacity:1; transform:translateY(0); }
}

.tbm-iui-contact-page{
    max-width:var(--container-w);
    margin:-3.6rem auto 4.5rem;
    padding:0 1.5rem;
    position:relative;
    z-index:2;
}

.tbm-iui-alert{
    padding:1rem 1.2rem;
    margin-bottom:1.25rem;
    border-radius:var(--radius-md);
    font-size:var(--fs-sm);
    box-shadow:var(--shadow-md);
    display:flex;
    gap:.7rem;
    align-items:flex-start;
    line-height:1.55;
}
.tbm-iui-alert::before{
    content:"";
    flex:0 0 auto;
    width:1.15rem;
    height:1.15rem;
    border-radius:50%;
    margin-top:.15rem;
}
.tbm-iui-alert-success{
    background:#ecfdf3;
    border:1px solid #b7ebc6;
    color:#136c3a;
}
.tbm-iui-alert-success::before{ background:var(--state-success); }
.tbm-iui-alert-error{
    background:#fdecec;
    border:1px solid #f3bcbc;
    color:#8f2323;
}
.tbm-iui-alert-error::before{ background:var(--state-danger); }

.tbm-iui-panel{
    border-radius:var(--radius-xl);
    overflow:hidden;
    box-shadow:var(--shadow-xl);
    animation:tbmIuiRiseIn .55s .05s var(--ease-spring) both;
}
.tbm-iui-panel-grid{
    display:flex;
    flex-wrap:wrap;
}

.tbm-iui-form-wrap{
    flex:1 1 460px;
    background:#ffffff;
    padding:2.75rem;
}
.tbm-iui-info-wrap{
    flex:1 1 340px;
    padding:2.75rem 2.4rem;
    background:linear-gradient(160deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
    color:#ffffff;
}

.tbm-iui-section-eyebrow{
    font-size:var(--fs-2xs);
    letter-spacing:.10em;
    text-transform:uppercase;
    font-weight:700;
    color:var(--color-secondary);
    margin-bottom:.4rem;
}
.tbm-iui-info-wrap .tbm-iui-section-eyebrow{ color:var(--color-secondary-light); }

.tbm-iui-section-title{
    font-size:var(--fs-2xl);
    margin:0 0 1.4rem 0;
    font-weight:800;
    color:var(--color-primary);
    letter-spacing:-.01em;
}
.tbm-iui-info-wrap .tbm-iui-section-title{ color:#ffffff; }

.tbm-iui-field{ margin-bottom:1.1rem; }
.tbm-iui-label{
    display:block;
    margin-bottom:.4rem;
    font-size:var(--fs-xs);
    font-weight:600;
    color:var(--text-secondary);
}
.tbm-iui-input{
    width:100%;
    padding:.72rem .9rem;
    font-size:var(--fs-base);
    font-family:inherit;
    color:var(--text-primary);
    border:1.5px solid var(--gray-200);
    border-radius:var(--radius-sm);
    background:var(--gray-50);
    transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}
.tbm-iui-input:hover{ border-color:var(--gray-300); }
.tbm-iui-input:focus{
    outline:none;
    border-color:var(--color-secondary);
    background:#ffffff;
    box-shadow:0 0 0 4px rgba(0,156,166,.14);
}
.tbm-iui-textarea{
    resize:vertical;
    min-height:9rem;
    line-height:1.55;
}
.tbm-iui-select{ cursor:pointer; }

.tbm-iui-field-checkbox{ font-size:var(--fs-xs); margin-top:1.3rem; }
.tbm-iui-checkbox-label{
    display:flex;
    gap:.6rem;
    align-items:flex-start;
    color:var(--text-secondary);
    line-height:1.55;
    cursor:pointer;
}
.tbm-iui-checkbox-label input[type="checkbox"]{
    margin-top:.2rem;
    width:1.05rem;
    height:1.05rem;
    accent-color:var(--color-secondary);
    flex:0 0 auto;
    cursor:pointer;
}
.tbm-iui-kvkk-link{
    color:var(--color-secondary-dark);
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:2px;
    cursor:pointer;
}
.tbm-iui-kvkk-link:hover{ color:var(--color-primary); }

.tbm-iui-submit-btn{
    margin-top:1.5rem;
    width:100%;
    padding:.95rem 1.5rem;
    border:none;
    border-radius:var(--radius-sm);
    background:linear-gradient(135deg, var(--btn-primary-bg), var(--color-secondary-dark));
    color:var(--btn-primary-text);
    font-size:var(--fs-md);
    font-weight:700;
    letter-spacing:.01em;
    cursor:pointer;
    box-shadow:var(--shadow-glow-teal);
    transition:transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast), opacity var(--transition-fast);
}
.tbm-iui-submit-btn:hover{
    transform:translateY(-1px);
    background:linear-gradient(135deg, var(--btn-primary-bg-hover), var(--color-primary));
}
.tbm-iui-submit-btn:active{ transform:translateY(0); }
.tbm-iui-submit-btn:disabled{ opacity:.7; cursor:default; transform:none; }

.tbm-iui-info-list{
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:.7rem;
}
.tbm-iui-info-item{
    display:flex;
    align-items:flex-start;
    gap:.75rem;
    padding:.9rem 1rem;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.20);
    border-radius:var(--radius-md);
    transition:border-color var(--transition-fast), background var(--transition-fast);
}
.tbm-iui-info-item:hover{ background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.38); }
.tbm-iui-info-icon{
    flex:0 0 auto;
    width:2.15rem;
    height:2.15rem;
    border-radius:50%;
    background:linear-gradient(135deg, var(--color-secondary), var(--color-secondary-dark));
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:1rem;
    box-shadow:0 4px 14px rgba(0,0,0,.18);
}
.tbm-iui-info-label{
    display:block;
    font-weight:700;
    font-size:var(--fs-2xs);
    text-transform:uppercase;
    letter-spacing:.06em;
    color:rgba(255,255,255,.72);
    margin-bottom:.15rem;
}
.tbm-iui-info-value{
    color:#ffffff;
    text-decoration:none;
    font-weight:600;
    font-size:var(--fs-sm);
}
.tbm-iui-info-value:hover{ color:var(--color-secondary-light); }

.tbm-iui-info-note{
    margin:1.6rem 0 0 0;
    padding-top:1.4rem;
    border-top:1px solid rgba(255,255,255,.18);
    font-size:var(--fs-xs);
    color:rgba(255,255,255,.78);
    line-height:1.6;
}

.tbm-iui-map-card{
    margin-top:2rem;
    background:#ffffff;
    border-radius:var(--radius-xl);
    box-shadow:var(--shadow-lg);
    overflow:hidden;
    animation:tbmIuiRiseIn .55s .12s var(--ease-spring) both;
}
.tbm-iui-map-head{
    padding:1.5rem 2rem 1.1rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    flex-wrap:wrap;
}
.tbm-iui-map-head-text .tbm-iui-section-eyebrow{ margin-bottom:.25rem; }
.tbm-iui-map-head-text h3{
    margin:0;
    font-size:var(--fs-xl);
    font-weight:800;
    color:var(--color-primary);
}
.tbm-iui-map-address{
    font-size:var(--fs-sm);
    color:var(--text-secondary);
    font-weight:600;
}
.tbm-iui-map-frame{
    width:100%;
    height:22rem;
    border:0;
    display:block;
}

@media (max-width: 760px){
    .tbm-iui-form-wrap, .tbm-iui-info-wrap{ padding:2rem 1.5rem; }
    .tbm-iui-contact-page{ margin-top:-2.6rem; }
    .tbm-iui-hero{ min-height:17rem; padding-bottom:4.5rem; }
    .tbm-iui-map-frame{ height:16rem; }
    .tbm-iui-map-head{ padding:1.35rem 1.5rem .9rem; }
}

.tbm-iui-kvkk-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,29,56,.55);
    backdrop-filter:blur(2px);
    display:none;
    align-items:center;
    justify-content:center;
    padding:1.25rem;
    z-index:9999;
}
.tbm-iui-kvkk-overlay.is-open{ display:flex; }
.tbm-iui-kvkk-modal{
    background:#ffffff;
    width:100%;
    max-width:640px;
    max-height:85vh;
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-xl);
    display:flex;
    flex-direction:column;
    overflow:hidden;
    animation:tbmIuiModalIn .22s var(--ease-spring);
}
@keyframes tbmIuiModalIn{
    from{ opacity:0; transform:translateY(14px) scale(.98); }
    to{ opacity:1; transform:translateY(0) scale(1); }
}
.tbm-iui-kvkk-header{
    background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
    color:#fff;
    padding:1.25rem 1.5rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
}
.tbm-iui-kvkk-header-text .tbm-iui-eyebrow{
    display:inline-block;
    margin-bottom:.5rem;
    font-size:var(--fs-2xs);
    letter-spacing:.10em;
    text-transform:uppercase;
    font-weight:700;
    color:var(--color-secondary-light);
}
.tbm-iui-kvkk-header h3{
    margin:0;
    font-size:var(--fs-xl);
    font-weight:800;
}
.tbm-iui-kvkk-close{
    flex:0 0 auto;
    width:2.1rem;
    height:2.1rem;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.35);
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:1.1rem;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background var(--transition-fast), transform var(--transition-fast);
}
.tbm-iui-kvkk-close:hover{ background:rgba(255,255,255,.18); transform:rotate(90deg); }
.tbm-iui-kvkk-body{
    padding:1.5rem;
    overflow-y:auto;
    font-size:var(--fs-sm);
    line-height:1.75;
    color:var(--text-secondary);
}
.tbm-iui-kvkk-body h4{
    color:var(--color-primary);
    font-size:var(--fs-md);
    margin:1.3rem 0 .5rem;
}
.tbm-iui-kvkk-body h4:first-child{ margin-top:0; }
.tbm-iui-kvkk-body ul{ margin:.3rem 0 .8rem; padding-left:1.2rem; }
.tbm-iui-kvkk-body li{ margin-bottom:.3rem; }
.tbm-iui-kvkk-footer{
    padding:1rem 1.5rem;
    border-top:1px solid var(--gray-200);
    background:var(--gray-50);
    display:flex;
    justify-content:flex-end;
}
.tbm-iui-kvkk-ok{
    padding:.65rem 1.4rem;
    background:var(--color-secondary);
    color:#fff;
    border:none;
    border-radius:var(--radius-sm);
    font-weight:700;
    font-size:var(--fs-sm);
    cursor:pointer;
    transition:background var(--transition-fast);
}
.tbm-iui-kvkk-ok:hover{ background:var(--color-secondary-dark); }