@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap'); .td-wrapper{ font-family:'Poppins',sans-serif; color:#222222; } /* SEARCH */ .td-wrapper .td-search{ margin-bottom:40px; } .td-wrapper .td-search form{ display:flex; gap:10px; } .td-wrapper .td-search input{ flex: 1; border: 1px solid #222222 !important; background: #ffffff !important; border-radius: 20px !important; padding: 8px; font-family: Poppins; color: #222222; font-size: 14px; } .td-wrapper .td-search button { background: #0077cd !important; color: white !important; border: none !important; border-radius: 12px !important; padding: 10px 15px; font-family: Poppins; font-weight: 600; font-size: 14px; cursor: pointer; } /* GRID */ .td-wrapper .td-grid{ display:flex; flex-wrap:wrap; gap:30px; } .td-wrapper .td-card{ width:calc(33% - 24px); background:white; border-radius:16px; border: 1px solid #222222; overflow:hidden; padding:20px; } /* CARD LAYOUT */ .td-row-top{ display:flex; justify-content:space-between; gap:10px; margin-bottom:10px; } .td-row-top div{ width:50%; } .td-bio{ margin:10px 0; } .td-price{ margin-top:10px; } .td-contact{ margin-top:10px; } /* IMAGE */ .td-wrapper .td-image img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:12px; margin-bottom:15px; } /* TEXT */ .td-wrapper .td-content label{ display:block; font-size:12px; font-weight:800; margin-top:10px; } .td-wrapper .td-content p{ margin:3px 0; font-size:14px; } .td-wrapper .td-name{ font-size:15px; font-weight:600; } /* FORM */ .td-wrapper .td-form{ max-width: 100%; } .td-wrapper .td-row{ display:flex; gap:20px; } .td-wrapper .td-field{ display:flex; flex-direction:column; width:100%; margin-bottom:15px; } .td-wrapper .td-field input:not([type="checkbox"]), .td-wrapper .td-field textarea, .td-wrapper .td-field select{ border:1px solid #222222 !important; border-radius:20px !important; background:#f9f9f9 !important; padding:8px; font-family:Poppins; color:#222222; margin-top: 10px; } .td-wrapper textarea{ resize:none; } .td-wrapper .td-form button{ background:#0077cd !important; color:white !important; border:none !important; padding:14px; border-radius:12px !important; font-family:Poppins; font-weight:600; cursor:pointer; margin-top:10px; } /* SUBMIT CARD */ .td-submit-card { max-width: 800px; margin: auto; background: #ffffff; padding: 40px; border-radius: 20px; border: 2px solid #222222; } .td-submit-title{ font-size:28px; margin-bottom:30px; font-weight:600; } .td-row{ display:flex; gap:20px; } .td-field{ display:flex; flex-direction:column; margin-bottom:18px; width:100%; } .td-field > label{ display:block; font-size:14px; font-weight:600; margin-top:14px; } .td-teaching-type label{ margin-top:0; font-weight:500; display:flex; align-items:center; gap:6px; } .td-teaching-type{ display:flex; gap:20px; margin-top:10px; } .td-field input, .td-field textarea, .td-field select{ border:2px solid #222222; border-radius:999px; background:transparent; padding:14px 18px; font-family:Poppins; font-size:14px; } .td-field textarea{ border-radius:16px; min-height:100px; } .td-submit-btn{ width:100%; margin-top:20px; background:#0077cd; color:white; border:none; border-radius:999px; padding:10px; font-size: 14px; font-weight:600; font-family:Poppins; cursor:pointer; } .td-submit-btn:hover{ width:100%; margin-top:20px; background:#0077cd; color:white; border:none; border-radius:999px; padding:10px; font-size: 14px; font-weight:600; font-family:Poppins; cursor:pointer; } /* BIO BUTTON */ .td-bio-btn{ display:inline-block; margin-top:10px; background:#0077cd; color:white; border:none; border-radius:999px; padding:5px 10px; font-family:Poppins; font-weight:600; cursor:pointer; text-align:center; font-size: 12px; } /* MODAL */ .td-modal{ display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.6); justify-content:center; align-items:center; z-index:9999; } .td-modal-content{ background:white; padding:30px; border-radius:16px; max-width:500px; width:90%; position:relative; font-family:Poppins; } .td-modal-close{ position:absolute; top:10px; right:15px; font-size:24px; cursor:pointer; } .td-modal-text { margin: 0; } .td-contact-item{ display:flex; align-items:center; gap:8px; } .td-contact-item i{ color:#222222; font-size:14px; } #add-subject{ margin-top:10px; background:#0077cd; color:white; border:none; border-radius:999px; padding:10px 16px; cursor:pointer; font-size: 14px; font-weight: 700; } .td-subject-row{ display:flex; align-items:center; gap:12px; margin-top:10px; } .td-subject-row span{ min-width:120px; font-weight:600; } .td-subject-row input{ width:120px; } .td-subject-row select{ width:100px; } .td-subject-row{ display:flex; align-items:center; gap:12px; margin-top:12px; margin-bottom: 12px; } .td-subject-label{ font-size:14px; font-weight:600; min-width:120px; } /* input ugyanaz mint többi mező */ .td-wrapper .td-subject-row input{ width:160px; border:1px solid #222222; border-radius:999px; background:#f9f9f9; padding:8px; font-family:Poppins; font-size:14px; } .td-wrapper .td-subject-row select{ width:140px; border:1px solid #222222; border-radius:999px; background:#f9f9f9; padding:8px; font-family:Poppins; font-size:14px; } .td-teaching-type{ display:flex; gap:20px; margin-top:8px; } .td-teaching-type label{ display:flex; align-items:center; gap:6px; font-size:14px; font-weight:500; } .td-teaching-type input{ width:auto; height:auto; } /* LAYOUT */ .td-layout{ display:grid; grid-template-columns:260px 1fr; gap:40px; } /* FILTER SIDEBAR */ .td-filters { background: #ffffff; padding: 30px; border-radius: 20px; height: fit-content; font-family: Poppins; border: 1px solid #222222; position:sticky; top:140px; } .td-filters h3{ margin-bottom:20px; font-size:22px; font-weight: 800; } /* LABEL */ .td-filters > form > label{ display:block; font-weight:600; margin-top:14px; font-size:14px; } /* INPUT */ .td-filters input[type="number"], .td-filters input[type="text"], .td-filters select { width:100%; border:1px solid #222222; border-radius:999px; background:#f9f9f9; padding:8px; font-family:Poppins; font-size:14px; margin-top:6px; } /* CHECKBOX GROUP */ .td-filter-checkbox{ display:flex; align-items:center; gap:8px; margin-top:14px; } .td-filter-checkbox input{ width:auto; height:auto; } /* BUTTON */ .td-filters button{ margin-top:20px; width:100%; background:#0077cd; color:white; border:none; border-radius:999px; padding:8px; font-family:Poppins; font-weight:600; cursor:pointer; font-size: 14px; } .td-reset-filters{ display:block; text-align:center; margin-top:10px; padding:8px; border-radius:999px; background:#0077cd; color:white; font-family:Poppins; font-size: 14px; font-weight:600; text-decoration:none; } .td-reset-filters:hover{ background:#0077cd; color:white; } .td-price-input{ display:flex; align-items:center; gap:6px; } /* ========================= SELECT2 DESIGN MATCH ========================= */ .select2-container { width: 100% !important; } .select2-container--default .select2-selection--single { border: 1px solid #222222 !important; border-radius: 20px !important; background: #f9f9f9 !important; padding: 8px; font-family: Poppins; color: #222222; margin-top: 10px; height: auto !important; display: flex; align-items: center; } /* szöveg */ .select2-selection__rendered { font-family: Poppins !important; font-size: 14px !important; color: #222222 !important; line-height: normal !important; } /* placeholder */ .select2-selection__placeholder { color: #999 !important; } /* nyíl */ .select2-selection__arrow { height: 100% !important; right: 15px !important; } /* dropdown */ .select2-dropdown { border-radius: 16px !important; border: 2px solid #222222 !important; overflow: hidden; font-family: Poppins; } /* kereső input */ .select2-search__field { border: none !important; outline: none !important; padding: 10px !important; font-family: Poppins !important; } /* opciók */ .select2-results__option { padding: 10px 14px; font-size: 14px; } /* hover */ .select2-results__option--highlighted { background: #0077cd !important; color: white !important; } /* ========================= RESPONSIVE DESIGN ========================= */ /* ===== TABLET (1024px alatt) ===== */ @media (max-width: 1024px){ /* layout: sidebar felül */ .td-layout{ grid-template-columns:1fr; } /* sidebar ne legyen sticky */ .td-filters{ position:relative; top:auto; } /* grid 2 oszlop */ .td-wrapper .td-card{ width:calc(50% - 15px); } } /* ===== MOBIL (768px alatt) ===== */ @media (max-width: 768px){ /* GRID → 1 oszlop */ .td-wrapper .td-grid{ flex-direction:column; } .td-wrapper .td-card{ width:100%; } /* SEARCH */ .td-wrapper .td-search form{ flex-direction:column; } /* FORM ROW → egymás alá */ .td-row{ flex-direction:column; gap:10px; } /* submit card padding kisebb */ .td-submit-card{ padding:20px; } /* FILTER padding */ .td-filters{ padding:20px; } /* SUBJECT ROW → tördelés */ .td-subject-row{ flex-direction:column; align-items:flex-start; } /* inputok full width */ .td-subject-row input, .td-subject-row select{ width:100%; } /* teaching type egymás alá */ .td-teaching-type{ flex-direction:column; gap:10px; } /* MODAL */ .td-modal-content{ padding:20px; } /* BUTTON */ .td-submit-btn{ padding:12px; font-size:14px; } } /* ===== KIS MOBIL (480px alatt) ===== */ @media (max-width: 480px){ /* még kisebb padding */ .td-submit-card{ padding:15px; } /* címek kisebbek */ .td-submit-title{ font-size:22px; } /* filter title */ .td-filters h3{ font-size:18px; } /* card padding */ .td-wrapper .td-card{ padding:15px; } /* text */ .td-wrapper .td-content p{ font-size:13px; } /* gombok */ .td-bio-btn{ font-size:11px; padding:4px 8px; } } /* ===== EXTRA FINOMÍTÁS ===== */ /* képek mobilon */ @media (max-width: 768px){ .td-wrapper .td-image img{ aspect-ratio:1/1; } } /* select2 mobil fix */ @media (max-width: 768px){ .select2-container{ width:100% !important; } } /* ========================= CÍMEK ========================= */ .td-list-title{ font-size:24px; font-weight:700; margin-bottom:20px; font-family:Poppins; } .td-filter-title{ font-size:20px; font-weight:700; margin-bottom:15px; font-family:Poppins; } @media (max-width:768px){ .td-filter-title{ font-size:18px; } .td-list-title{ font-size:22px; margin-bottom:15px; } }


/* =========================
   BUTTON HOVER EFFECT (GLOBAL)
========================= */

/* minden gomb */
button,
.td-submit-btn,
.td-bio-btn,
.td-reset-filters,
.td-filtes button,
#add-subject {

transition: transform 0.15s ease, box-shadow 0.15s ease;
background: #0077cd;

}


button:hover,
.td-submit-btn:hover,
.td-bio-btn:hover,
.td-reset-filters:hover,
.td-filters button:hover,
#add-subject:hover {

transform: scale(0.97);
background: #0077cd !important;

}

/* kattintás (még kisebb) */
button:active,
.td-submit-btn:active,
.td-bio-btn:active,
.td-reset-filters:active,
.td-filtes button,
#add-subject:active {

transform: scale(0.94);
background: #0077cd;

}

/* =========================
   SUBJECT REMOVE BUTTON
========================= */

.td-remove-subject{
    background: #ff4d4f;
    color: #ffffff;
    border: none;
    border-radius: 999px;
    width: 28px;
    height: 28px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    flex-shrink: 0; /* ne nyomódjon ki */
    transition: transform 0.15s ease;
}


/* hover → csak shrink */
.td-remove-subject:hover{
    transform: scale(0.95);
    background: #ff4d4f;
}

/* kattintás */
.td-remove-subject:active{
    transform: scale(0.9);
}


/* =========================
   SINGLE TUTOR GRID
========================= */

.td-single{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap:20px;
}

/* teljes szélességű elemek */
.td-card-full{
    grid-column: span 3;
}

/* kártyák */
.td-card-meta{
    background:#ffffff;
    border:1px solid #222222;
    border-radius:16px;
    padding:20px;
}

/* név */
.td-single-name{
    font-size:22px;
    font-weight:900;
    margin:0;
}

/* címek */
.td-card-meta h3{
    font-weight:900;
    font-size:14px;
    margin-bottom:10px;
}

/* szöveg */
.td-card-meta p{
    font-size:14px;
    margin:5px 0;
    display:flex;
    align-items:center;
    gap:8px;
}

/* ikon */
.td-card-meta i{
    color:#0077cd;
}

/* =========================
   RESPONSIVE
========================= */

/* tablet */
@media (max-width:1024px){
    .td-single{
        grid-template-columns: repeat(2, 1fr);
    }

    .td-card-full{
        grid-column: span 2;
    }
}

/* mobil */
@media (max-width:768px){
    .td-single{
        grid-template-columns: 1fr;
    }

    .td-card-full{
        grid-column: span 1;
    }
}

/* =========================
   IMAGE HOVER EFFECT
========================= */

.td-image img{
    transition: transform 0.2s ease;
}

/* hover csak a képre */
.td-image img:hover{
    transform: scale(0.97);
}


/* =========================
   MODAL SCROLL FIX
========================= */

.td-modal-content {
    max-height: 80vh;   /* képernyő 80%-a */
    overflow-y: auto;   /* görgethető */
}

/* opcionális: szebb scrollbar */
.td-modal-content::-webkit-scrollbar {
    width: 6px;
}

.td-modal-content::-webkit-scrollbar-thumb {
    background: #0077cd;
    border-radius: 10px;
}

/* =========================
   EMAIL TRUNCATE + TOOLTIP
========================= */

.td-contact-item {
    max-width: 100%;
}

.td-contact-item span,
.td-contact-item a {
    display: inline-block;
    max-width: 220px; /* állítható */
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    vertical-align: middle;
}

.td-contact-item a {
    color: #222222;
    text-decoration: none;
}

.td-contact-item a:hover {
    text-decoration: underline;
}

/* =========================
   MULTI PRICE UI FIX 🔥
========================= */

.td-subject-row {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 15px;
    flex-wrap: wrap;
}

/* subject név */
.td-subject-label {
    min-width: 140px;
    font-weight: 600;
    font-size: 14px;
}

/* pricing blokk */
.td-pricing-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* egy ár sor */
.td-price-row {
    display: flex;
    gap: 10px;
    width: 100%;
}

/* 🔥 FLEXES MEGOLDÁS */
.td-price-row input,
.td-price-row select {
    flex: 1;           /* kitöltik a helyet */
    min-width: 0;      /* 🔥 nagyon fontos */
}

/* gomb fix méret */
.td-remove-price {
    flex-shrink: 0;
}

@media (max-width:768px){

    .td-price-row {
        flex-wrap: wrap;
    }

    .td-remove-price {
        margin-left: auto;
        margin-top: 5px;
    }
}

.td-remove-price {
    position: static; /* 🔥 EZ A LÉNYEG */
    
    background: #ff4d4f;
    color: white;
    border: none;
    border-radius: 50%;
    width: 28px;
    height: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;
}

/* ADD PRICE */
.td-add-price {
    background: #0077cd;
    color: white;
    border: none;
    border-radius: 999px;
    padding: 8px 14px;
    font-size: 13px;
    cursor: pointer;
    font-weight: 600;
}

/* =========================
   RESPONSIVE FIX
========================= */

@media (max-width:768px){

    .td-subject-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .td-price-row {
        width: 100%;
    }

    .td-price-row input,
    .td-price-row select {
        width: 100%;
    }
}

/* =========================
   TEACHING INFO ICON (SPAN)
========================= */

.td-teaching-info {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-left:6px;
    cursor:pointer;
    color:#0077cd;
    transition: transform 0.15s ease, opacity 0.15s ease;
}

.td-teaching-info i {
    font-size:14px;
}

/* hover */
.td-teaching-info:hover {
    transform: scale(1.15);
    opacity:0.8;
}

/* =========================
   TEACHING CHECKBOX UI 🔥
========================= */

.td-teaching-type {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* blokk */
.td-teaching-item {
    display: flex;
    flex-direction: column;
}

/* custom checkbox */
.td-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-weight: 500;
}

/* alap checkbox eltüntet */
.td-checkbox input {
    display: none;
}

/* custom box */
.td-checkbox span {
    position: relative;
    padding-left: 28px;
}

/* checkbox négyzet */
.td-checkbox span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 18px;
    height: 18px;
    border: 2px solid #0077cd;
    border-radius: 6px;
    background: #fff;
}

/* pipa */
.td-checkbox input:checked + span::after {
    content: "✔";
    position: absolute;
    left: 3px;
    top: 0;
    font-size: 14px;
    color: #0077cd;
}

/* textarea spacing */
.td-teaching-extra {
    margin-top: 10px;
}

.td-teaching-extra textarea {
    width: 100%;
    border: 1px solid #222;
    border-radius: 12px;
    padding: 10px;
    font-family: Poppins;
}

.td-social-inputs{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.td-social-item input{
    width:100%;
}

.td-social{
    margin-top:10px;
}

.td-social-icons{
    display:flex;
    gap:12px;
    margin-top:6px;
}

.td-social-icon{
    font-size:20px;
    transition:0.2s;
}

.td-social-icon.active{
    color:#1877f2; /* facebook blue alap */
}

.td-social-icon.active:hover{
    transform:scale(1.1);
}

.td-social-icon.disabled{
    color:#ccc;
    opacity:0.6;
    cursor:default;
}

/* INSTAGRAM GRADIENT 🔥 */
.td-social-icon.active .fa-instagram{
    background: linear-gradient(45deg, 
        #feda75, 
        #fa7e1e, 
        #d62976, 
        #962fbf, 
        #4f5bd5
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* RANGE WRAPPER */
.td-range-wrapper {
    position: relative;
    height: 40px;
    margin-top: 10px;
}

/* TRACK */
.td-range-track {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 6px;
    width: 100%;
    background: #e5e7eb;
    border-radius: 10px;
}

/* RANGE INPUT */
.td-range-wrapper input[type="range"] {
    position: absolute;
    width: 100%;
    pointer-events: none;
    appearance: none;
    background: none;
}

/* THUMB */
.td-range-wrapper input[type="range"]::-webkit-slider-thumb {
    pointer-events: auto;
    appearance: none;
    height: 16px;
    width: 16px;
    background: #0077cd;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 0 0 2px #0077cd;
    margin-top: 12px; /* EZ KELL! */
}

/* LABELS */
.td-range-labels {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    margin-top: 6px;
    color: #555;
}


.td-category-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 40px;
justify-content: center;
}

/* =========================
   CATEGORY WRAPPER
========================= */

.td-category-wrapper {
    margin-bottom: 25px;
}

/* cím */
.td-category-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 12px;
text-align: center;
}

/* container */
.td-category-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* =========================
   BUBORÉKOK
========================= */

.td-cat-btn {
    background: #e6f2fb !important;
    color: #0077cd;
    border: none;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
}

/* =========================
   MODAL OVERLAY
========================= */

.td-modal {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55); /* mélyebb, elegánsabb */
    backdrop-filter: blur(8px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

/* =========================
   MODAL BOX
========================= */

.td-modal-content {
    position: relative;
    background: #ffffff;
    border-radius: 18px;
    padding: 28px 28px;
    width: 92%;
    max-width: 520px;
    max-height: 80vh;
    overflow-y: auto;

    box-shadow: 
        0 20px 60px rgba(0,0,0,0.25),
        0 4px 20px rgba(0,0,0,0.08);

    border: 1px solid rgba(0,0,0,0.05);
}

/* =========================
   CLOSE BUTTON
========================= */

.td-modal-close {
    position: absolute;
    top: 14px;
    right: 16px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 16px;
    cursor: pointer;
    color: #475569;

    transition: all 0.2s ease;
}

.td-modal-close:hover {
    background: #0077cd;
    color: #fff;
    transform: rotate(90deg);
}

/* =========================
   CONTENT
========================= */

.td-modal-text {
    font-size: 15px;
    line-height: 1.7;
    color: #1e293b;
}

/* SUBJECT / PRICE HEADINGS */
.td-modal-text strong {
    display: block;

    font-size: 14px;
    letter-spacing: 0.3px;

    color: #222222;
    font-weight: 700;
}

/* sorok szebbek */
.td-modal-text br {
    content: "";
    display: block;
    margin-bottom: 6px;
}

/* =========================
   FINOM ELVÁLASZTÁS
========================= */

.td-modal-text strong:not(:first-child) {
    border-top: 1px solid #f1f5f9;
    padding-top: 10px;
}

/* =========================
   SCROLLBAR (modern)
========================= */

.td-modal-content::-webkit-scrollbar {
    width: 6px;
}

.td-modal-content::-webkit-scrollbar-thumb {
    background: #cbd5f5;
    border-radius: 10px;
}

.td-modal-content::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

.td-modal-content {
    animation: tdModalIn 0.25s ease;
}

@keyframes tdModalIn {
    from {
        transform: translateY(10px) scale(0.98);
        opacity: 0;
    }
    to {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
}

/* =========================
   PAGE WRAPPER
========================= */

.td-single {
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
}

/* =========================
   HEADER (FULL WIDTH)
========================= */

.td-single-header {
    width: 100vw;
    margin-left: calc(50% - 50vw);

    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    border-bottom: 1px solid #222222;

    padding: 40px 20px;
    margin-bottom: 30px;
}

.td-single-header-inner {
    max-width: 900px;
    margin: 0 auto;

    display: flex;
    align-items: center;
    gap: 25px;
}

/* =========================
   HEADER IMAGE
========================= */

.td-single-image {
    width: 140px;
    border-radius: 16px;
    overflow: hidden;
}

/* 🔥 EZ A KULCS */
.td-single-image img {
    width: 100%;
    aspect-ratio: 1 / 1; /* ugyanaz mint a card */
    object-fit: cover;
    display: block;
}

/* =========================
   HEADER INFO
========================= */

.td-single-header-info {
    flex: 1;
    min-width: 0;

    display: flex;
    align-items: center;
}

/* név */
.td-single-name {
    font-size: 30px;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
    line-height: 1.2;
}

/* =========================
   CARD BLOKKOK
========================= */

.td-card-meta {
    background: #ffffff;
    border-radius: 14px;
    padding: 22px;
    margin-bottom: 20px;

    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
    border: 1px solid #222222;

    transition: 0.2s;
}

.td-card-meta:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0,0,0,0.1);
}

/* teljes szélességű kártya */
.td-card-full {
    width: 100%;
}

/* cím */
.td-card-meta h3 {
    font-size: 18px;
    margin-bottom: 12px;
    color: #0077cd;
    font-weight: 700;
}

/* szöveg */
.td-card-meta p {
    font-size: 14.5px;
    line-height: 1.6;
    color: #334155;
}

/* =========================
   SUBJECT BLOKK
========================= */

.td-subject-group {
    margin-bottom: 12px;
}

.td-subject-group strong {
    display: block;
    color: #0f172a;
    margin-bottom: 4px;
    font-weight: 600;
}

/* =========================
   CONTACT
========================= */

.td-contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.td-contact-item a {
    color: #222;
    text-decoration: none;
}

.td-contact-item a:hover {
    color: #0077cd;
    text-decoration: underline;
}

/* =========================
   SOCIAL
========================= */

.td-social-icons {
    display: flex;
    gap: 10px;
    margin-top: 5px;
}

.td-social-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #f1f5f9;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #334155;
    transition: 0.2s;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width: 600px){

    .td-single-header-inner {
        flex-direction: column;
        text-align: center;
    }

    .td-single-header-info {
        justify-content: center;
    }

    .td-single-image {
        width: 120px;
        height: 120px;
    }

    .td-single-name {
        font-size: 22px;
    }

}

/* =========================
   BUTTON STATES (UNIFIED)
========================= */

/* alap */
button,
.td-submit-btn,
.td-bio-btn,
.td-reset-filters,
.td-filters button,
#add-subject,
.td-add-price {
	background-color: #0077cd !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}

/* hover */
button:hover,
.td-submit-btn:hover,
.td-bio-btn:hover,
.td-reset-filters:hover,
.td-cat-btn:hover,
.td-filters button:hover,
#add-subject:hover,
.td-add-price:hover {
	background-color: #0077cd !important;
    transform: scale(0.97) !important;
    color: #fff !important;
}

/* ACTIVE 🔥 MINDENRE */
button:active,
.td-submit-btn:active,
.td-cat-btn:active,
.td-bio-btn:active,
.td-reset-filters:active,
.td-filters button:active,
#add-subject:active,
.td-add-price:active {
	background-color: #0077cd !important;
    transform: scale(0.94) !important;
    color: #fff !important;
}

/* FOCUS 🔥 MINDENRE */
button:focus,
.td-submit-btn:focus,
.td-cat-btn:focus,
.td-bio-btn:focus,
.td-reset-filters:focus,
.td-filters button:focus,
#add-subject:focus,
.td-add-price:focus {
	background-color: #0077cd !important;
    transform: scale(0.94) !important;
    color: #fff !important;
}

/* =========================
   CARD RATING
========================= */

.td-card-rating{
    margin-top:10px;
    padding-top:10px;
    border-top:1px solid #eee;
}

.td-rating-title{
    font-size:12px;
    font-weight:700;
    color:#555;
    margin-bottom:4px;
}

.td-rating-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.td-stars{
    font-size:14px;
    color:#f59e0b; /* arany */
    font-weight:600;
}

.td-no-rating{
    font-size:13px;
    color:#888;
}

.td-rate-link{
    font-size:12px;
    font-weight:600;
    color:#0077cd;
    text-decoration:none;
    cursor:pointer;
}

.td-rate-link:hover{
    text-decoration:underline;
}

/* =========================
   REVIEW FORM
========================= */

.td-review-form{
    margin-top:10px;
}

/* csillag rendszer */
.td-star-rating{
    display:flex;
    flex-direction: row-reverse;
    justify-content:flex-end;
    gap:5px;
    margin-top:10px;
}

/* radio elrejt */
.td-star-rating input{
    display:none;
}

/* csillag */
.td-star-rating label{
    font-size:24px;
    color:#ddd;
    cursor:pointer;
    transition:0.2s;
}

/* hover */
.td-star-rating label:hover,
.td-star-rating label:hover ~ label{
    color:#f59e0b;
}

/* kiválasztott */
.td-star-rating input:checked ~ label{
    color:#f59e0b;
}

/* =========================
   REVIEW INPUT FINAL FIX 🔥
========================= */

.td-review-form .td-field input[type="text"],
.td-review-form .td-field input[type="email"],
.td-review-form .td-field textarea{

    border:1px solid #222222 !important;
    border-radius:999px !important;
    background:#f9f9f9 !important;
    padding:8px 10px !important;

    font-family:Poppins !important;
    font-size:14px !important;

    margin-top:8px !important;
}

/* textarea külön */
.td-review-form .td-field textarea{
    border-radius:16px !important;
    min-height:120px;
}

/* =========================
   REVIEW MOBILE FIX 🔥
========================= */

.td-review-form input,
.td-review-form textarea{
    width:100%;
    max-width:100%;
    box-sizing:border-box; /* 🔥 EZ OLDJA MEG A KILÓGÁST */
}