/* TPA Family Turkey — отдельный дизайн раздела «Отели Турции для семей» */
.tpafr{--tpafr-blue:#1f8bde;--tpafr-blue-d:#136bb0;--tpafr-sun:#ffb23e;--tpafr-green:#2fb37a;--tpafr-red:#e8613c;--tpafr-ink:#1f2a37;--tpafr-mut:#66727f;--tpafr-line:#e6ebf1;--tpafr-bg:#f5f9fd;max-width:1160px;margin:0 auto;padding:0 16px;color:var(--tpafr-ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif}
.tpafr *{box-sizing:border-box}
.tpafr-page{padding:24px 0 48px}

/* Hero */
.tpafr-hero{background:linear-gradient(135deg,#e8f4ff 0%,#fff6e6 100%);border-radius:20px;padding:32px 28px;margin-bottom:22px;border:1px solid var(--tpafr-line)}
.tpafr-hero-title{margin:0 0 8px;font-size:30px;line-height:1.15;font-weight:800}
.tpafr-hero-sub{margin:0;color:var(--tpafr-mut);font-size:16px;max-width:820px}

/* Фильтры */
.tpafr-filters{background:#fff;border:1px solid var(--tpafr-line);border-radius:16px;padding:18px;margin-bottom:24px;box-shadow:0 6px 20px rgba(31,139,222,.06)}
.tpafr-filters-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}
.tpafr-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--tpafr-mut)}
.tpafr-field select{padding:10px 12px;border:1px solid var(--tpafr-line);border-radius:10px;font-size:15px;color:var(--tpafr-ink);background:#fff}
.tpafr-filters-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.tpafr-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1.5px solid var(--tpafr-line);border-radius:999px;cursor:pointer;font-size:14px;font-weight:600;transition:all .15s;user-select:none}
.tpafr-chip:hover{border-color:var(--tpafr-blue)}
.tpafr-chip:has(input:checked){background:var(--tpafr-blue);border-color:var(--tpafr-blue);color:#fff}
.tpafr-chip input{accent-color:#fff;width:15px;height:15px}
.tpafr-filters-actions{display:flex;gap:10px}
.tpafr-btn{display:inline-block;background:var(--tpafr-blue);color:#fff;border:none;border-radius:10px;padding:11px 22px;font-size:15px;font-weight:700;cursor:pointer;text-decoration:none;transition:background .15s}
.tpafr-btn:hover{background:var(--tpafr-blue-d);color:#fff}
.tpafr-btn-ghost{background:transparent;color:var(--tpafr-mut);border:1.5px solid var(--tpafr-line)}
.tpafr-btn-ghost:hover{background:var(--tpafr-bg);color:var(--tpafr-ink)}

/* Сетка карточек */
.tpafr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tpafr-card{background:#fff;border:1px solid var(--tpafr-line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}
.tpafr-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(31,42,55,.12)}
.tpafr-card-media{position:relative;display:block;aspect-ratio:16/10;background:linear-gradient(135deg,#cfe9ff,#ffe6c2);overflow:hidden}
.tpafr-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.tpafr-card-noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:56px}
.tpafr-score{position:absolute;top:12px;right:12px;background:var(--tpafr-green);color:#fff;font-weight:800;font-size:16px;padding:6px 12px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.tpafr-card-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.tpafr-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:13px}
.tpafr-resort{color:var(--tpafr-mut);font-weight:600}
.tpafr-stars{color:var(--tpafr-sun);letter-spacing:1px}
.tpafr-card-title{margin:0 0 6px;font-size:19px;font-weight:800;line-height:1.2}
.tpafr-card-title a{color:var(--tpafr-ink);text-decoration:none}
.tpafr-card-title a:hover{color:var(--tpafr-blue)}
.tpafr-card-sum{margin:0 0 12px;font-size:14px;color:var(--tpafr-mut);line-height:1.45}
.tpafr-badges{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.tpafr-badges li{background:var(--tpafr-bg);border:1px solid var(--tpafr-line);border-radius:8px;padding:4px 9px;font-size:12.5px;font-weight:600;color:#33414f}
.tpafr-badge-beach.tpafr-beach-gentle{background:#e7f7ef;border-color:#bfe9d4;color:#1c7a52}
.tpafr-badge-beach.tpafr-beach-steep{background:#fdece7;border-color:#f6cabb;color:#b23c1e}
.tpafr-card-more{margin-top:auto;color:var(--tpafr-blue);font-weight:700;text-decoration:none;font-size:14.5px}
.tpafr-card-more:hover{color:var(--tpafr-blue-d)}

/* Пагинация + пусто */
.tpafr-pager{display:flex;gap:8px;justify-content:center;margin-top:28px}
.tpafr-pager a{padding:8px 14px;border:1px solid var(--tpafr-line);border-radius:10px;text-decoration:none;color:var(--tpafr-ink);font-weight:600}
.tpafr-pager a.is-active,.tpafr-pager a:hover{background:var(--tpafr-blue);color:#fff;border-color:var(--tpafr-blue)}
.tpafr-empty{background:#fff;border:1px dashed var(--tpafr-line);border-radius:14px;padding:40px;text-align:center;color:var(--tpafr-mut)}

/* Отель — детальная страница */
.tpafr-single-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;background:linear-gradient(135deg,#e8f4ff,#fff6e6);border:1px solid var(--tpafr-line);border-radius:20px;padding:28px;margin-bottom:20px}
.tpafr-single-title{margin:6px 0 10px;font-size:32px;font-weight:800;line-height:1.1}
.tpafr-single-sum{margin:0;color:#3c4b59;font-size:16px;max-width:640px}
.tpafr-single-score{flex:0 0 auto;text-align:center;background:#fff;border-radius:16px;padding:16px 20px;border:1px solid var(--tpafr-line)}
.tpafr-single-score-num{display:block;font-size:38px;font-weight:900;color:var(--tpafr-green);line-height:1}
.tpafr-single-score-cap{display:block;margin-top:6px;font-size:12px;color:var(--tpafr-mut);font-weight:600}
.tpafr-single-media{border-radius:18px;overflow:hidden;margin-bottom:22px;max-height:420px}
.tpafr-single-media img{width:100%;height:100%;object-fit:cover;display:block}
.tpafr-block{background:#fff;border:1px solid var(--tpafr-line);border-radius:18px;padding:22px 24px;margin-bottom:20px}
.tpafr-block>h2{margin:0 0 16px;font-size:21px;font-weight:800}

.tpafr-feature-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tpafr-feature-list li{padding:11px 14px 11px 40px;border-radius:10px;position:relative;font-weight:600;font-size:14.5px;background:var(--tpafr-bg)}
.tpafr-feature-list li:before{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:15px}
.tpafr-feature-list li.yes{background:#e7f7ef;color:#1c7a52}
.tpafr-feature-list li.yes:before{content:'✔'}
.tpafr-feature-list li.no{background:#f4f6f8;color:#9aa6b2;text-decoration:line-through}
.tpafr-feature-list li.no:before{content:'—'}
.tpafr-feature-list small{font-weight:400;opacity:.8}

.tpafr-beach{border-radius:14px;padding:16px 18px;background:var(--tpafr-bg);border-left:5px solid var(--tpafr-mut)}
.tpafr-beach-box-gentle{background:#e7f7ef;border-left-color:var(--tpafr-green)}
.tpafr-beach-box-steep{background:#fdece7;border-left-color:var(--tpafr-red)}
.tpafr-beach-facts{display:flex;flex-wrap:wrap;gap:18px;font-size:15px}
.tpafr-beach-note{margin:12px 0 0;font-style:italic;color:#3c4b59}

/* Таблица горок */
.tpafr-slides-wrap{overflow-x:auto}
.tpafr-slides-table{width:100%;border-collapse:collapse;font-size:14.5px}
.tpafr-slides-table th{text-align:left;padding:11px 12px;background:var(--tpafr-blue);color:#fff;font-weight:700;font-size:13px}
.tpafr-slides-table th:first-child{border-top-left-radius:10px}
.tpafr-slides-table th:last-child{border-top-right-radius:10px}
.tpafr-slides-table td{padding:12px;border-bottom:1px solid var(--tpafr-line);vertical-align:top}
.tpafr-slides-table tbody tr:nth-child(even),.tpafr-slides-table tbody tr:nth-child(even){background:#fafcfe}
.tpafr-fear{display:inline-flex;flex-direction:column;gap:2px}
.tpafr-fear-dots{letter-spacing:2px;font-size:12px}
.tpafr-fear-label{font-size:12px;font-weight:700}
.tpafr-fear-1{color:#2fb37a}.tpafr-fear-2{color:#7cb342}.tpafr-fear-3{color:#f4a52a}.tpafr-fear-4{color:#ef6c30}.tpafr-fear-5{color:#e0342b}
.tpafr-video{color:var(--tpafr-blue);font-weight:700;text-decoration:none}
.tpafr-video:hover{text-decoration:underline}
.tpafr-slide-note{color:var(--tpafr-mut);line-height:1.4;display:block;margin-top:3px}
.tpafr-disclaimer{margin:14px 0 0;font-size:13px;color:var(--tpafr-mut);background:#fff8ec;border:1px solid #ffe4b8;border-radius:10px;padding:12px 14px}
.tpafr-back{margin-top:8px}
.tpafr-back a{color:var(--tpafr-blue);font-weight:700;text-decoration:none}

/* Адаптив */
@media(max-width:900px){.tpafr-grid,.tpafr-filters-row{grid-template-columns:1fr 1fr}.tpafr-feature-list{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
.tpafr-grid,.tpafr-filters-row,.tpafr-feature-list{grid-template-columns:1fr}
.tpafr-hero-title{font-size:24px}.tpafr-single-hero{flex-direction:column}
.tpafr-slides-table thead{display:none}
.tpafr-slides-table,.tpafr-slides-table tbody,.tpafr-slides-table tr,.tpafr-slides-table td{display:block;width:100%}
.tpafr-slides-table tr{margin-bottom:14px;border:1px solid var(--tpafr-line);border-radius:12px;overflow:hidden}
.tpafr-slides-table td{border-bottom:1px solid var(--tpafr-line);padding-left:44%;position:relative;min-height:24px}
.tpafr-slides-table td:before{content:attr(data-label);position:absolute;left:12px;top:12px;width:38%;font-weight:700;font-size:12px;color:var(--tpafr-mut)}
}


/* === Возрастные группы: кнопки-иконки в фильтре === */
.tpafr-agebar { margin: 0 0 18px; }
.tpafr-agebar-cap { display:block; font-weight:700; font-size:15px; margin-bottom:10px; color:#1f2937; }
.tpafr-agebar-btns { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
@media (max-width:640px){ .tpafr-agebar-btns { grid-template-columns:repeat(2,1fr); } }
.tpafr-agebtn {
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:6px; padding:16px 10px; border:2px solid #e5e7eb; border-radius:16px; background:#fff;
  cursor:pointer; text-align:center; transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.tpafr-agebtn:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,.08); }
.tpafr-agebtn input { position:absolute; opacity:0; pointer-events:none; }
.tpafr-agbtn-ico { font-size:30px; line-height:1; }
.tpafr-agbtn-lbl { font-size:13px; font-weight:600; color:#374151; }
.tpafr-agebtn.is-on { border-color:currentColor; box-shadow:0 6px 16px rgba(0,0,0,.10); }
.tpafr-agebtn.is-on::after { content:'✓'; position:absolute; top:8px; right:10px; font-weight:800; color:currentColor; }
/* цвета групп (currentColor управляет рамкой/галкой) */
.tpafr-ag-infants   { color:#0ea5e9; }
.tpafr-ag-preschool { color:#f59e0b; }
.tpafr-ag-school    { color:#2563eb; }
.tpafr-ag-teens     { color:#7c3aed; }
.tpafr-agebtn.is-on.tpafr-ag-infants   { background:#f0f9ff; }
.tpafr-agebtn.is-on.tpafr-ag-preschool { background:#fffbeb; }
.tpafr-agebtn.is-on.tpafr-ag-school    { background:#eff6ff; }
.tpafr-agebtn.is-on.tpafr-ag-teens     { background:#f5f3ff; }

/* === Умные бейджи на карточке === */
.tpafr-agechips { display:flex; flex-wrap:wrap; gap:6px; margin:8px 0 10px; }
.tpafr-agechip {
  display:inline-flex; align-items:center; gap:4px; padding:3px 9px; border-radius:999px;
  font-size:12px; font-weight:700; color:#fff; cursor:help; white-space:nowrap;
}
.tpafr-agechip.tpafr-ag-infants   { background:#0ea5e9; }
.tpafr-agechip.tpafr-ag-preschool { background:#f59e0b; }
.tpafr-agechip.tpafr-ag-school    { background:#2563eb; }
.tpafr-agechip.tpafr-ag-teens     { background:#7c3aed; }

/* === Блок возрастов на странице отеля === */
.tpafr-agegroups { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
@media (max-width:640px){ .tpafr-agegroups { grid-template-columns:1fr; } }
.tpafr-agegroup { border:1px solid #e5e7eb; border-radius:14px; padding:14px 16px; border-left-width:5px; }
.tpafr-agegroup.is-off { opacity:.55; background:#fafafa; }
.tpafr-agegroup.tpafr-ag-infants   { border-left-color:#0ea5e9; }
.tpafr-agegroup.tpafr-ag-preschool { border-left-color:#f59e0b; }
.tpafr-agegroup.tpafr-ag-school    { border-left-color:#2563eb; }
.tpafr-agegroup.tpafr-ag-teens     { border-left-color:#7c3aed; }
.tpafr-agegroup-head { display:flex; align-items:center; gap:8px; font-weight:700; }
.tpafr-agegroup-ico { font-size:22px; }
.tpafr-agegroup-lbl { flex:1; }
.tpafr-agegroup-flag { font-weight:800; }
.tpafr-agegroup.is-on .tpafr-agegroup-flag { color:#16a34a; }
.tpafr-agegroup-note { margin:8px 0 0; font-size:14px; color:#4b5563; line-height:1.45; }
.tpafr-agegroup-note.tpafr-muted { color:#9ca3af; font-style:italic; }


/* === Связка плагинов: цена / трансфер / питание / компаньоны === */
.tpafr-card-facts,
.tpafr-single-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 8px 0;
}
.tpafr-fact {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    background: #f1f5f9;
    color: #0f172a;
    line-height: 1.3;
}
.tpafr-fact-price {
    background: #ecfdf5;
    color: #065f46;
}
.tpafr-fact-transfer {
    background: #eff6ff;
    color: #1e3a8a;
}
.tpafr-fact-transfer.is-fast {
    background: #dcfce7;
    color: #166534;
}
.tpafr-fact-meal {
    background: #fef3c7;
    color: #92400e;
}
.tpafr-single-facts .tpafr-fact {
    font-size: 15px;
    padding: 6px 12px;
}
.tpafr-single-facts .tpafr-fact small {
    font-weight: 400;
    opacity: .7;
    margin-left: 4px;
}

.tpafr-companions {
    background: linear-gradient(180deg, #fafcff 0%, #f5f9ff 100%);
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 20px;
}
.tpafr-companions > h2 {
    margin-top: 0;
}
.tpafr-companions-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}
@media (min-width: 720px) {
    .tpafr-companions-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
.tpafr-companion {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 14px 16px;
}
.tpafr-companion h3 {
    margin: 0 0 10px;
    font-size: 15px;
}


/* === Собственная расшифровка питания (fallback без Board Decoder) === */
.tpafr-meal p {
    margin: 0 0 8px;
    line-height: 1.45;
}
.tpafr-meal-code {
    font-weight: 600;
    color: #0f172a;
}
.tpafr-meal-badge {
    display: inline-block;
    background: #92400e;
    color: #fff;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .04em;
    padding: 2px 8px;
    border-radius: 6px;
    margin-right: 6px;
    vertical-align: middle;
}
.tpafr-meal-desc {
    color: #334155;
    font-size: 14px;
}
.tpafr-meal-kids {
    background: #fef3c7;
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 14px;
    color: #78350f;
}
.tpafr-meal-hint {
    font-size: 12px;
    color: #94a3b8;
}


/* ==========================================================================
   Богатая карточка отеля (single) — в стиле модального квик-вью
   ========================================================================== */
.tpafr-hc {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, .10);
    padding: 22px;
    max-width: 1040px;
    margin: 0 auto;
}
.tpafr-hc-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}
.tpafr-hc-title {
    font-size: 24px;
    line-height: 1.2;
    margin: 0 0 4px;
    font-weight: 800;
    color: #0f172a;
}
.tpafr-hc-flag {
    color: #f59e0b;
}
.tpafr-hc-sub {
    margin: 0;
    color: #64748b;
    font-size: 14px;
}
.tpafr-hc-sub .tpafr-stars {
    color: #f59e0b;
}

/* Галерея / главное фото + рейтинг */
.tpafr-hc-media {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 16px;
}
@media (min-width: 720px) {
    .tpafr-hc-media {
        grid-template-columns: minmax(0, 3fr) minmax(160px, 1fr);
    }
}
.tpafr-hc-media-main {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background: #eef2f7;
    min-height: 220px;
}
.tpafr-hc-media-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.tpafr-hc-media-main .tpafr-card-noimg {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 64px;
    min-height: 220px;
}
.tpafr-hc-quality {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #16a34a;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    padding: 5px 12px;
    border-radius: 999px;
    box-shadow: 0 4px 12px rgba(22, 163, 74, .35);
}
.tpafr-hc-familyscore {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: rgba(15, 23, 42, .82);
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    padding: 5px 12px;
    border-radius: 999px;
}
.tpafr-hc-ratingbox {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    background: linear-gradient(160deg, #1e3a8a 0%, #2563eb 100%);
    color: #fff;
    border-radius: 16px;
    padding: 16px;
    text-align: center;
}
.tpafr-hc-rating-num {
    font-size: 34px;
    font-weight: 800;
    line-height: 1;
}
.tpafr-hc-rating-num small {
    font-size: 15px;
    font-weight: 600;
    opacity: .8;
}
.tpafr-hc-rating-lbl {
    font-weight: 700;
    font-size: 15px;
}
.tpafr-hc-rating-cnt {
    font-size: 12px;
    opacity: .85;
}

.tpafr-hc-summary {
    color: #334155;
    font-size: 15px;
    line-height: 1.5;
    margin: 0 0 14px;
}

/* Сетка блоков */
.tpafr-hc-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin: 16px 0;
}
@media (min-width: 720px) {
    .tpafr-hc-grid {
        grid-template-columns: 1fr 1fr;
    }
    .tpafr-hc-box-wide {
        grid-column: 1 / -1;
    }
}
.tpafr-hc-box {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 14px 16px;
}
.tpafr-hc-box h2 {
    font-size: 16px;
    margin: 0 0 10px;
    color: #0f172a;
}
.tpafr-hc-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.tpafr-hc-list li {
    position: relative;
    padding-left: 24px;
    margin: 5px 0;
    font-size: 14px;
    color: #334155;
    line-height: 1.4;
}
.tpafr-hc-list li::before {
    position: absolute;
    left: 0;
    top: 0;
}
.tpafr-hc-list li.yes::before { content: '✅'; }
.tpafr-hc-list li.no::before  { content: '✖️'; opacity: .5; }
.tpafr-hc-list li.info::before { content: '•'; color: #2563eb; font-weight: 800; }
.tpafr-hc-list li.no { color: #94a3b8; text-decoration: line-through; }
.tpafr-hc-note {
    margin: 8px 0 0;
    font-style: italic;
    color: #475569;
    font-size: 13px;
}

/* Аквапарк: колонки по возрастам */
.tpafr-hc-slidecols {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
@media (min-width: 620px) {
    .tpafr-hc-slidecols {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }
}
.tpafr-hc-slidecol {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 10px 12px;
}
.tpafr-hc-slidecol-h {
    font-weight: 700;
    font-size: 14px;
    color: #0f172a;
    margin-bottom: 6px;
}
.tpafr-hc-slidecol-h small {
    font-weight: 400;
    color: #94a3b8;
}
.tpafr-hc-slidecol p {
    margin: 0;
    font-size: 13px;
    color: #475569;
    line-height: 1.45;
}
.tpafr-hc-videocol {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #eff6ff;
    border-color: #bfdbfe;
}
.tpafr-hc-video {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    color: #1d4ed8;
    text-decoration: none;
    font-size: 13px;
}
.tpafr-hc-video-play {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #2563eb;
    color: #fff;
    font-size: 12px;
}
.tpafr-hc-more {
    margin: 10px 0 0;
}
.tpafr-hc-more a {
    font-weight: 600;
    color: #2563eb;
    text-decoration: none;
    font-size: 14px;
}

/* Карточка в списке: рейтинг и бейдж качества */
.tpafr-card-rating {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #1e3a8a;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    padding: 3px 9px;
    border-radius: 8px;
}
.tpafr-card-rating small {
    font-size: 10px;
    opacity: .8;
}
.tpafr-card-quality {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background: #16a34a;
    color: #fff;
    font-weight: 700;
    font-size: 11px;
    padding: 3px 9px;
    border-radius: 999px;
}

/* Стики-футер с ценой и кнопкой брони */
.tpafr-hc-footer {
    position: sticky;
    bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 -6px 24px rgba(15, 23, 42, .10);
    padding: 14px 18px;
    margin-top: 18px;
}
.tpafr-hc-footer-price {
    font-size: 15px;
    color: #334155;
}
.tpafr-hc-footer-price strong {
    font-size: 20px;
    color: #065f46;
    white-space: nowrap;
}
.tpafr-hc-footer-price small {
    display: block;
    color: #94a3b8;
    font-size: 12px;
}
.tpafr-hc-book {
    display: inline-block;
    background: #2563eb;
    color: #fff !important;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    padding: 12px 26px;
    border-radius: 10px;
    transition: background .15s ease;
    white-space: nowrap;
}
.tpafr-hc-book:hover {
    background: #1d4ed8;
}
