.api-travel-search-container,
.api-travel-search-container *,
.api-travel-results-container,
.api-travel-results-container * {
font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif !important;
}
.api-travel-search-container {
background: #fff;
padding: 20px;
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.api-travel-search-form .form-row {
display: flex;
gap: 15px;
flex-wrap: wrap;
margin-bottom: 15px;
align-items: flex-end;
}
.api-travel-search-form .form-group {
flex: 1;
min-width: 150px;
}
.api-travel-search-form label {
display: block;
font-size: 12px;
color: #666;
margin-bottom: 5px;
}
.api-travel-search-form .form-control {
width: 100%;
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 14px;
}
.api-travel-search-form .btn-search,
button.api-travel-search-form .btn-search,
.api-travel-search-form button.btn-search {
background-color: #1FA3C2 !important; color: white !important;
border: none !important;
padding: 12px 25px;
border-radius: 4px;
cursor: pointer;
font-weight: bold;
width: 100%;
text-transform: uppercase;
}
.api-travel-search-form .btn-search:hover,
button.api-travel-search-form .btn-search:hover,
.api-travel-search-form button.btn-search:hover {
background-color: #1989A3 !important;
} .icon-location label:before {
content: "\f230";
font-family: dashicons;
margin-right: 5px;
}
.icon-flight label:before {
content: "\f529";
font-family: dashicons;
margin-right: 5px;
}
.icon-date label:before {
content: "\f508";
font-family: dashicons;
margin-right: 5px;
}
.icon-user label:before {
content: "\f110";
font-family: dashicons;
margin-right: 5px;
} .mini-badge {
display: inline-block;
padding: 2px 8px;
font-size: 11px;
font-weight: 600;
border-radius: 12px;
letter-spacing: 0.5px;
}
.mini-badge.operator-w2m {
background-color: #e91e63;
color: white;
}
.mini-badge.operator-soltour {
background-color: #2196f3;
color: white;
}
.mini-badge.operator-travelplan {
background-color: #4caf50;
color: white;
}
.mini-badge.operator-solferias {
background-color: #ff9800;
color: white;
}
.mini-badge.operator-soltropico {
background-color: #9c27b0;
color: white;
}
.mini-badge.operator-viajartours {
background-color: #16a085;
color: white;
}
.mini-badge.operator-unknown {
background-color: #9e9e9e;
color: white;
} .package-badge {
background-color: #ff9800;
color: white;
}  .calendar-price {
display: block;
font-size: 11px;
font-weight: 600;
color: #1FA3C2;
text-align: center;
margin-top: 2px;
padding: 2px 4px;
background: linear-gradient(135deg, #e8f7fa 0%, #d4f1f7 100%);
border-radius: 4px;
border: 1px solid #b8e6f0;
white-space: nowrap;
} .price-operador .calendar-price,
.calendar-price.price-operador {
color: #27ae60;
background: linear-gradient(135deg, #eafaf1 0%, #d5f5e3 100%);
border-color: #a9dfbf;
font-style: normal;
} .price-agencia .calendar-price,
.calendar-price.price-agencia {
color: #1FA3C2;
background: linear-gradient(135deg, #e8f7fa 0%, #d4f1f7 100%);
border-color: #b8e6f0;
} .price-sob-consulta .calendar-price,
.calendar-price.price-sob-consulta {
color: #e67e22;
background: linear-gradient(135deg, #fef5e7 0%, #fce4b8 100%);
border-color: #f0c889;
font-size: 9px !important;
font-style: italic;
} .has-price {
background: linear-gradient(135deg, #f8fdfe 0%, #f0fafc 100%) !important;
}
.has-price:hover {
background: linear-gradient(135deg, #e8f7fa 0%, #d4f1f7 100%) !important;
} .flatpickr-day .icon-direct {
position: absolute;
top: 2px;
right: 2px;
display: inline-block;
font-size: 16px;
width: 16px;
height: 16px;
color: #1FA3C2;
opacity: 0.9;
}
.flatpickr-day.has-direct {
position: relative;
}
.flatpickr-day.selected .icon-direct {
color: #fff;
opacity: 1;
} .operator-dots {
display: flex;
justify-content: center;
gap: 3px;
margin-top: 3px;
}
.operator-dot {
width: 8px;
height: 8px;
border-radius: 50%;
background: #ccc;
}
.operator-dot.w2m { background: #1FA3C2; }
.operator-dot.soltour { background: #e74c3c; }
.operator-dot.travelplan { background: #27ae60; }
.operator-dot.soltropico { background: #f39c12; }
.operator-dot.viajartours { background: #16a085; } .flatpickr-day {
position: relative;
height: 68px !important;
line-height: 1.2 !important;
}
.flatpickr-day.has-price {
font-weight: 600;
} .flatpickr-day.selected,
.flatpickr-day.selected:hover {
background: #1FA3C2 !important;
border-color: #1FA3C2 !important;
}
.flatpickr-day.selected .calendar-price {
background: rgba(255, 255, 255, 0.9) !important;
color: #1FA3C2 !important;
} .flatpickr-day.today {
border-color: #1FA3C2 !important;
} .flatpickr-day.disabled {
opacity: 0.3;
} .flatpickr-calendar {
border-radius: 12px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12) !important;
border: 1px solid #e0e0e0;
}
.flatpickr-months {
background: linear-gradient(135deg, #1FA3C2 0%, #1989A3 100%);
border-radius: 12px 12px 0 0;
padding: 10px 0;
}
.flatpickr-month {
color: white !important;
fill: white !important;
}
.flatpickr-prev-month,
.flatpickr-next-month {
color: white !important;
fill: white !important;
}
.flatpickr-weekdays {
background: #f8f9fa;
padding: 8px 0;
}
.flatpickr-weekday {
color: #666 !important;
font-weight: 600 !important;
} .calendar-price:hover::after {
content: attr(title);
position: absolute;
bottom: 100%;
left: 50%;
transform: translateX(-50%);
background: #333;
color: white;
padding: 4px 8px;
border-radius: 4px;
font-size: 11px;
white-space: nowrap;
z-index: 1000;
opacity: 1;
transition: opacity 0.2s;
pointer-events: none;
}  .apipp-public-calendar .flatpickr-calendar {
width: 100% !important;
max-width: 720px;
margin: 0 auto;
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15) !important;
border-radius: 16px !important;
overflow: hidden;
}
.apipp-public-calendar .flatpickr-months {
background: linear-gradient(135deg, #1FA3C2 0%, #1989A3 50%, #157a94 100%) !important;
padding: 15px 0;
}
.apipp-public-calendar .flatpickr-month {
font-size: 16px !important;
font-weight: 600 !important;
letter-spacing: 0.5px;
} .apipp-public-calendar .flatpickr-current-month {
color: #fff !important;
font-size: 16px !important;
font-weight: 600 !important;
}
.apipp-public-calendar .flatpickr-current-month .cur-month {
color: #fff !important;
font-weight: 600 !important;
}
.apipp-public-calendar .flatpickr-current-month input.cur-year {
color: #fff !important;
font-size: 16px !important;
font-weight: 600 !important;
background: transparent !important;
border: none !important;
box-shadow: none !important;
opacity: 1 !important;
visibility: visible !important;
display: inline-block !important;
width: auto !important;
padding: 0 0 0 4px !important;
margin: 0 !important;
}
.apipp-public-calendar .flatpickr-current-month input.cur-year::-webkit-inner-spin-button,
.apipp-public-calendar .flatpickr-current-month input.cur-year::-webkit-outer-spin-button {
-webkit-appearance: none !important;
margin: 0 !important;
}
.apipp-public-calendar .flatpickr-weekdays {
background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
border-bottom: 2px solid #dee2e6;
padding: 12px 0;
}
.apipp-public-calendar .flatpickr-weekday {
font-size: 13px !important;
font-weight: 700 !important;
color: #495057 !important;
text-transform: uppercase;
}
.apipp-public-calendar .flatpickr-days {
padding: 10px;
}
.apipp-public-calendar .flatpickr-day {
height: 58px !important;
line-height: 1.3 !important;
margin: 3px;
border-radius: 10px !important;
transition: all 0.3s ease;
font-size: 13px;
font-weight: 500;
}
.apipp-public-calendar .flatpickr-day:hover:not(.disabled) {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(31, 163, 194, 0.3);
} .apipp-public-calendar .calendar-price {
font-size: 12px;
font-weight: 700;
padding: 4px 6px;
border-radius: 6px;
margin-top: 4px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
transition: all 0.2s ease;
}
.apipp-public-calendar .flatpickr-day:hover .calendar-price {
transform: scale(1.05);
} .apipp-public-calendar .flatpickr-day.best-price {
background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%) !important;
border: 2px solid #28a745 !important;
box-shadow: 0 0 10px rgba(40, 167, 69, 0.3);
}
.apipp-public-calendar .flatpickr-day.best-price .calendar-price {
background: linear-gradient(135deg, #28a745 0%, #20c997 100%) !important;
color: white !important;
border-color: #1e7e34;
} .apipp-public-calendar .flatpickr-day.selected {
background: linear-gradient(135deg, #1FA3C2 0%, #1989A3 100%) !important;
box-shadow: 0 4px 15px rgba(31, 163, 194, 0.4);
}
.apipp-public-calendar .flatpickr-day.selected .calendar-price {
background: rgba(255, 255, 255, 0.95) !important;
color: #1FA3C2 !important;
font-weight: 700;
} .apipp-public-calendar .flatpickr-day.today {
border: 2px solid #ffc107 !important;
background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%) !important;
}
.apipp-public-calendar .flatpickr-day.today .calendar-price {
background: linear-gradient(135deg, #ffc107 0%, #ffb347 100%) !important;
color: #212529 !important;
border-color: #e0a800;
} .apipp-price-legend {
display: flex;
justify-content: center;
gap: 20px;
margin-top: 15px;
padding: 10px;
background: #f8f9fa;
border-radius: 8px;
font-size: 12px;
}
.apipp-price-legend-item {
display: flex;
align-items: center;
gap: 6px;
}
.apipp-price-legend-dot {
width: 12px;
height: 12px;
border-radius: 3px;
}
.apipp-price-legend-dot.agency {
background: linear-gradient(135deg, #1FA3C2 0%, #1989A3 100%);
}
.apipp-price-legend-dot.operator {
background: linear-gradient(135deg, #27ae60 0%, #2ecc71 100%);
} .apipp-public-calendar .calendar-price::after {
font-size: 12px;
font-weight: 500;
padding: 6px 10px;
border-radius: 6px;
white-space: normal;
max-width: 150px;
text-align: center;
line-height: 1.4;
}
.operator-w2m { background-color: #3498db; color: white; }
.operator-travelplan { background-color: #9b59b6; color: white; }
.operator-soltour { background-color: #e74c3c; color: white; }
.operator-solferias { background-color: #2ecc71; color: white; }
.operator-soltropico { background-color: #f39c12; color: white; }
.operator-viajartours { background-color: #16a085; color: white; }
.price-net {
color: #666;
}
.price-pvp {
color: #1FA3C2;
font-weight: 600;
} .rooms-table {
width: 100% !important;
border-collapse: collapse !important;
font-size: 13px !important;
overflow-x: auto !important;
display: block !important;
}
.rooms-table thead,
.rooms-table tbody,
.rooms-table tr,
.rooms-table td,
.rooms-table th {
display: block !important;
}
.rooms-table thead tr {
position: absolute !important;
top: -9999px !important;
left: -9999px !important;
}
.rooms-table tr {
border: 1px solid #f0f0f0 !important;
border-radius: 12px !important;
margin-bottom: 12px !important;
background: #fff !important;
box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
transition: box-shadow 0.2s ease !important;
}
.rooms-table tr:hover {
box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}
.rooms-table td {
border: none !important;
border-bottom: 1px solid #f5f5f5 !important;
position: relative !important;
padding: 14px 16px !important;
text-align: left !important;
display: flex !important;
align-items: center !important;
justify-content: space-between !important;
}
.rooms-table td:before {
position: static !important;
width: auto !important;
padding-right: 12px !important;
white-space: nowrap !important;
font-weight: 500 !important;
color: #888 !important;
font-size: 12px !important;
content: attr(data-label) !important;
flex-shrink: 0 !important;
}
.rooms-table td:last-child {
border-bottom: none !important;
} @media (min-width: 768px) {
.rooms-table {
display: table !important;
overflow-x: visible !important;
}
.rooms-table thead tr {
position: relative !important;
top: auto !important;
left: auto !important;
}
.rooms-table tr {
display: table-row !important;
border: none !important;
margin-bottom: 0 !important;
background: transparent !important;
box-shadow: none !important;
}
.rooms-table tr:hover {
background: #f8f9fa !important;
}
.rooms-table td {
display: table-cell !important;
padding: 16px 12px !important;
border-bottom: 1px solid #f0f0f0 !important;
text-align: left !important;
}
.rooms-table td:before {
display: none !important;
}
.rooms-table th {
display: table-cell !important;
background: #f8f9fa !important;
font-weight: 600 !important;
color: #555 !important;
padding: 14px 12px !important;
text-align: left !important;
font-size: 12px !important;
text-transform: uppercase !important;
letter-spacing: 0.5px !important;
border-bottom: 2px solid #1FA3C2 !important;
}
}
.room-row {
display: table-row;
}
.show-more-row td {
text-align: center;
padding: 10px;
}
.button {
display: inline-block;
padding: 8px 16px;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 13px;
font-weight: 600;
text-decoration: none;
transition: all 0.2s;
}
.button-small {
padding: 6px 12px;
font-size: 12px;
}
.button-primary {
background: linear-gradient(135deg, #1FA3C2 0%, #1989A3 100%);
color: white;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(31, 163, 194, 0.3);
}
.button-primary:hover {
background: linear-gradient(135deg, #1989A3 0%, #176E85 100%);
box-shadow: 0 4px 12px rgba(31, 163, 194, 0.4);
transform: translateY(-1px);
}
.button-secondary {
background: #e0e0e0;
color: #333;
}
.button-secondary:hover {
background: #d0d0d0;
} .search-results-list {
display: flex;
flex-direction: column;
gap: 20px;
}
.result-card {
display: flex;
flex-direction: row;
background: #fff;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
transition: transform 0.2s;
}
.result-card:hover {
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
.card-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 10px;
}
.card-header h4 {
margin: 0;
flex: 1;
}
.price-summary {
display: flex;
flex-direction: column;
align-items: flex-end;
background: rgba(255, 255, 255, 0.95);
padding: 8px 12px;
border-radius: 4px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.price-summary .price-net {
display: block;
font-weight: bold;
color: #0073aa;
font-size: 14px;
}
.price-summary .price-pvp {
display: block;
color: #666;
font-size: 12px;
}
.card-thumb {
width: 300px;
position: relative;
flex-shrink: 0;
}
.card-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
min-height: 250px;
}
.operator-badge {
position: absolute;
top: 10px;
right: 10px;
background: rgba(0, 0, 0, 0.7);
color: #fff;
padding: 4px 8px;
border-radius: 4px;
font-size: 11px;
text-transform: uppercase;
}
.card-details {
flex: 1;
padding: 20px;
display: flex;
flex-direction: column;
}
.card-details h4 {
margin: 0 0 10px;
font-size: 20px;
color: #333;
}
.stars {
font-size: 16px;
color: #f39c12;
margin-left: 5px;
letter-spacing: 2px;
}
.hotel-description {
margin: 10px 0;
padding: 10px;
background: #f8f9fa;
border-radius: 4px;
border-left: 3px solid #0073aa;
}
.hotel-description p {
margin: 0;
font-size: 13px;
color: #555;
line-height: 1.5;
}
.multi-operator-badge {
background: #e8f4fd;
border: 1px solid #b8daff;
border-radius: 4px;
padding: 8px 12px;
margin-bottom: 10px;
font-size: 13px;
color: #004085;
}
.badge-icon {
margin-right: 5px;
}
.mini-badge {
display: inline-block;
padding: 2px 6px;
border-radius: 3px;
font-size: 10px;
font-weight: bold;
color: white;
margin-left: 5px;
}
.mini-badge.w2m { background: #0073aa; }
.mini-badge.soltour { background: #e74c3c; }
.mini-badge.travelplan { background: #27ae60; }
.mini-badge.soltropico { background: #f39c12; }
.mini-badge.viajartours { background: #16a085; }
.mini-badge.solferias { background: #9b59b6; }
.mini-badge.package-badge {
text-transform: uppercase;
letter-spacing: 0.5px;
}
.mini-badge.package-essence { background: #8e44ad; }
.mini-badge.package-quality { background: #2980b9; }
.mini-badge.package-family { background: #27ae60; }
.mini-badge.package-absolut { background: #e67e22; }
.mini-badge.package-pacotes { background: #16a085; }
.room-count {
font-size: 13px;
color: #666;
margin-bottom: 10px;
}
.btn-toggle-rooms {
background: #0073aa;
color: #fff;
border: none;
padding: 6px 12px;
border-radius: 4px;
cursor: pointer;
font-size: 12px;
transition: background 0.3s;
}
.btn-toggle-rooms:hover {
background: #005a8a;
}
.rooms-list {
margin-top: 15px;
padding-top: 15px;
border-top: 1px solid #eee;
}
.rooms-table {
width: 100%;
border-collapse: collapse;
font-size: 13px;
}
.rooms-table th {
background: #f9f9f9;
padding: 8px;
text-align: left;
font-weight: 600;
color: #555;
}
.rooms-table td {
padding: 8px;
border-bottom: 1px solid #eee;
}
.rooms-table tr:last-child td {
border-bottom: none;
}
@media (max-width: 768px) {
.result-card {
flex-direction: column;
}
.card-thumb {
width: 100%;
height: 200px;
}
.card-price-action {
width: 100%;
border-left: none;
border-top: 1px solid #eee;
flex-direction: row;
justify-content: space-between;
padding: 15px 20px;
}
.btn-book {
padding: 8px 15px;
}
} @media (max-width: 640px) { .r-seguro-row {
flex-wrap: wrap !important;
}
.r-seguro-row .r-seguro-price {
flex: 1 1 100% !important;
text-align: left !important;
display: flex !important;
flex-wrap: wrap !important;
align-items: baseline !important;
gap: 4px 10px !important;
border-top: 1px dashed #e3e8ee !important;
padding-top: 8px !important;
margin-top: 8px !important;
}
.r-seguro-row .r-seguro-price > div {
margin-top: 0 !important;
} .r-seguro-pax-row {
flex-wrap: wrap !important;
}
.r-seguro-pax-row > span {
flex: 1 1 100% !important;
min-width: 0 !important;
}
.r-seguro-pax-row .r-seguro-pax {
flex: 1 1 100% !important;
max-width: none !important;
}
}  @media (max-width: 768px) {
.apipp-public-calendar .flatpickr-calendar {
max-width: 100% !important;
border-radius: 12px !important;
}
.apipp-public-calendar .flatpickr-day {
height: 52px !important;
font-size: 12px;
margin: 2px;
border-radius: 8px !important;
}
.apipp-public-calendar .calendar-price {
font-size: 10px;
padding: 2px 4px;
border-radius: 4px;
}
.apipp-public-calendar .flatpickr-weekday {
font-size: 11px !important;
}
.flatpickr-day .icon-direct {
font-size: 13px;
width: 13px;
height: 13px;
}
} @media (max-width: 480px) {
.apipp-public-calendar .flatpickr-calendar {
border-radius: 10px !important;
}
.apipp-public-calendar .flatpickr-day {
height: 46px !important;
font-size: 11px;
margin: 1px;
border-radius: 6px !important;
}
.apipp-public-calendar .calendar-price {
font-size: 9px;
padding: 1px 3px;
}
.apipp-public-calendar .flatpickr-month {
font-size: 14px !important;
}
.apipp-public-calendar .flatpickr-weekday {
font-size: 10px !important;
}
.flatpickr-day .icon-direct {
font-size: 11px;
width: 11px;
height: 11px;
top: 1px;
right: 1px;
}
} .atc-search-progress-bar {
background: linear-gradient(135deg, #f8f9fa 0%, #eef2f7 100%);
border: 1px solid #e0e6ed;
border-radius: 10px;
padding: 14px 18px;
margin-bottom: 16px;
box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.atc-progress-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 8px;
}
.atc-progress-label {
font-size: 14px;
font-weight: 600;
color: #2c3e50;
}
.atc-progress-track {
width: 100%;
height: 8px;
background: #e0e6ed;
border-radius: 4px;
overflow: hidden;
}
.atc-progress-fill {
height: 100%;
background: linear-gradient(90deg, #1FA3C2 0%, #1989A3 100%);
border-radius: 4px;
transition: width 0.5s ease;
animation: atc-progress-shimmer 2s linear infinite;
background-size: 200% 100%;
}
@keyframes atc-progress-shimmer {
0% { background-position: 200% 0; }
100% { background-position: -200% 0; }
}
.atc-progress-detail {
font-size: 12px;
color: #7f8c8d;
margin-top: 6px;
} .apipp-search-hint {
display: none; width: -moz-fit-content;
width: fit-content; max-width: 100%; margin-top: 12px;
padding: 9px 12px;
background: rgba(31,163,194,0.07);
border-left: 3px solid #1FA3C2;
border-radius: 6px;
font-size: 12.5px;
line-height: 1.5;
color: #4a5a6a;
min-height: 1.5em; white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.apipp-search-hint-text {
font-style: italic;
} .circ-state .apipp-search-hint,
.comb-state .apipp-search-hint,
.apipp-budget-state .apipp-search-hint,
.r-loading .apipp-search-hint {
margin-left: auto;
margin-right: auto;
text-align: left;
} @media (max-width: 640px) {
.apipp-search-hint {
white-space: normal;
min-height: 1.5em;
}
}.r-summary, .r-summary *,
.r-section, .r-section *,
.r-3col-grid, .r-3col-grid *,
.r-pax-form, .r-pax-form *,
.r-loading, .r-loading *,
.r-booking-result, .r-booking-result * {
font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif !important;
} .r-loading {
text-align: center !important;
padding: 40px 20px !important;
}
.r-spinner {
border: 3px solid #f3f3f3 !important;
border-top: 3px solid #3498db !important;
border-radius: 50% !important;
width: 50px !important;
height: 50px !important;
animation: rspin 1s linear infinite !important;
margin: 0 auto 20px !important;
display: block !important;
}
@keyframes rspin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.r-loading h3 {
color: #333 !important;
font-size: 18px !important;
margin: 0 0 10px !important;
font-weight: 600 !important;
}
.r-loading p {
color: #666 !important;
font-size: 14px !important;
margin: 0 !important;
line-height: 1.5 !important;
} .r-summary, .r-section {
background: var(--atc-card, #ffffff) !important;
border: 1px solid var(--atc-border, #e8ecef) !important;
border-radius: var(--atc-radius, 14px) !important;
padding: 22px !important;
margin-bottom: 20px !important;
box-shadow: var(--atc-shadow, 0 4px 20px rgba(26,35,50,0.08)) !important;
border-top: 3px solid var(--atc-primary, #1FA3C2) !important;
transition: box-shadow 0.25s ease !important;
box-sizing: border-box !important;
overflow-wrap: break-word !important;
word-break: break-word !important;
}
.r-section h4 {
margin: 0 0 15px !important;
color: var(--atc-text, #2c3e50) !important;
font-size: 17px !important;
font-weight: 700 !important;
border-bottom: 2px solid var(--atc-bg, #f4f6f9) !important;
padding-bottom: 10px !important;
display: flex !important;
align-items: center !important;
gap: 8px !important;
} .r-section-hotel    { border-top-color: var(--atc-primary, #1FA3C2) !important; }
.r-section-flights   { border-top-color: var(--atc-primary-dark, #1989A3) !important; }
.r-section-included  { border-top-color: var(--atc-success, #27ae60) !important; }
.r-trip-total-section{ border-top-color: var(--atc-warning, #f39c12) !important; }
.r-extras-block      { border-top-color: #8e44ad !important; }
.r-section-cancel    { border-top-color: var(--atc-error, #e74c3c) !important; }
.r-section-payment   { border-top-color: var(--atc-primary, #1FA3C2) !important; }
.r-tp-alts-section   { border-top-color: var(--atc-primary-dark, #1989A3) !important; } .r-summary {
background: #fff !important;
color: #2c3e50 !important;
border: 1px solid #e0e0e0 !important;
border-radius: 8px !important;
padding: 20px !important;
margin-bottom: 20px !important;
box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}
.r-summary h4 {
color: #2c3e50 !important;
margin: 0 0 15px !important;
font-size: 18px !important;
font-weight: 700 !important;
border-bottom: 2px solid #e0e0e0 !important;
padding-bottom: 8px !important;
}
.r-summary-grid {
display: grid !important;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
gap: 12px !important;
}
.r-summary-item {
background: #ffffff !important;
padding: 12px !important;
border-radius: 6px !important;
box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
}
.r-summary-item.hotel { border-left: 4px solid #3498db; box-shadow: 0 2px 8px rgba(52,152,219,0.2); }
.r-summary-item.rooms { border-left: 4px solid #2980b9; box-shadow: 0 2px 8px rgba(41,128,185,0.2); }
.r-summary-item.room-type { border-left: 4px solid #5dade2; box-shadow: 0 2px 8px rgba(93,173,226,0.2); }
.r-summary-item.board { border-left: 4px solid #1abc9c; box-shadow: 0 2px 8px rgba(26,188,156,0.2); }
.r-summary-item.departure { border-left: 4px solid #3498db; box-shadow: 0 2px 8px rgba(52,152,219,0.2); }
.r-summary-item.airport { border-left: 4px solid #5dade2; box-shadow: 0 2px 8px rgba(93,173,226,0.2); }
.r-summary-item.nights { border-left: 4px solid #2980b9; box-shadow: 0 2px 8px rgba(41,128,185,0.2); }
.r-summary-item.adults { border-left: 4px solid #1abc9c; box-shadow: 0 2px 8px rgba(26,188,156,0.2); }
.r-summary-item.children { border-left: 4px solid #5dade2; box-shadow: 0 2px 8px rgba(93,173,226,0.2); }
.r-summary-item.ages { border-left: 4px solid #2980b9; box-shadow: 0 2px 8px rgba(41,128,185,0.2); }
.r-summary-item.distribution { border-left: 4px solid #3498db; box-shadow: 0 2px 8px rgba(52,152,219,0.2); }
.r-summary-item .label {
font-size: 12px !important;
color: #7f8c8d !important;
margin-bottom: 4px !important;
font-weight: 600 !important;
}
.r-summary-item .value {
font-weight: 700 !important;
font-size: 14px !important;
color: #2c3e50 !important;
} .r-3col-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
margin-bottom: 20px;
}
@media (max-width: 900px) {
.r-3col-grid {
grid-template-columns: 1fr;
}
} .r-hotel-image img {
width: 100%;
height: 180px;
object-fit: cover;
border-radius: 6px;
margin-bottom: 10px;
}
.r-hotel-image .fallback {
width: 100%;
height: 180px;
background: linear-gradient(135deg, #e1e4e8, #b2bec3);
display: flex;
align-items: center;
justify-content: center;
color: #fff;
border-radius: 6px;
margin-bottom: 10px;
font-style: italic;
}
.r-hotel-info h5 {
margin: 0 0 8px;
font-size: 16px;
}
.r-hotel-stars {
color: #f1c40f;
margin-bottom: 8px;
}
.r-hotel-desc {
font-size: 12px;
color: #5a6c7d;
max-height: 80px;
overflow: hidden;
}
.r-hotel-desc.expanded {
max-height: none;
overflow: visible;
}
.r-hotel-toggle {
background: none;
border: none;
color: var(--atc-primary, #1FA3C2);
font-size: 11px;
cursor: pointer;
padding: 0;
margin-top: 4px;
text-align: left;
display: block;
} .r-flight-card {
background: #f9fafb;
padding: 10px;
border-radius: 6px;
margin-bottom: 8px;
font-size: 13px;
}
.r-flight-card .route {
font-weight: 600;
}
.r-flight-card .meta {
color: #7f8c8d;
font-size: 11px;
margin-top: 4px;
} .r-services-list {
list-style: none;
padding: 0;
margin: 0;
}
.r-services-list li {
padding: 6px 0;
border-bottom: 1px solid #f0f0f0;
font-size: 13px;
}
.r-services-list li:before {
content: "\2713 ";
color: #27ae60;
font-weight: 700;
}
.r-services-list li:last-child {
border-bottom: 0;
} .r-optional {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px;
border: 1px solid #e1e4e8;
border-radius: 6px;
margin-bottom: 8px;
} .r-extras-toggle {
text-align: center;
margin-top: 10px;
}
.r-extras-toggle button {
background: #f0fafd;
border: 1px solid var(--atc-primary, #1FA3C2);
color: var(--atc-primary-dark, #1989A3);
padding: 6px 14px;
border-radius: 20px;
cursor: pointer;
font-weight: 600;
}
.r-extras-toggle button:hover {
background: var(--atc-primary, #1FA3C2);
color: #fff;
} .r-cancellation-flexible {
background: #f0fdf4;
color: #15803d;
border: 1px solid #bbf7d0;
border-left: 4px solid #22c55e;
border-radius: 6px;
padding: 12px 15px;
}
.r-cancellation-flexible p {
margin: 0;
font-weight: 600;
}
.r-cancellation-cards {
background: transparent;
color: #2c3e50;
border-radius: 0;
padding: 0;
}
.r-cancellation-card {
background: #fff;
border: 1px solid #e0e0e0;
border-left: 4px solid #ef4444;
border-radius: 6px;
padding: 12px;
margin-bottom: 10px;
}
.r-cancellation-card:last-child {
margin-bottom: 0;
}
.r-cancellation-table {
background: transparent;
color: #2c3e50;
border-radius: 0;
padding: 0;
}
.r-cancellation-table table {
width: 100%;
border-collapse: collapse;
background: #fff;
border: 1px solid #e0e0e0;
border-radius: 6px;
overflow: hidden;
}
.r-cancellation-table th {
background: #f9fafb;
color: #555;
padding: 10px;
text-align: left;
font-weight: 600;
font-size: 12px;
border-bottom: 1px solid #e0e0e0;
}
.r-cancellation-table td {
padding: 8px 10px;
border-top: 1px solid #f0f0f0;
font-size: 13px;
}
.r-cancellation-table td.amount {
color: #c0392b;
font-weight: 700;
} .r-payment-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #f0f0f0;
font-size: 14px;
}
.r-payment-row:last-child {
border-bottom: 0;
font-size: 16px;
font-weight: 700;
color: #2c3e50;
padding-top: 14px;
margin-top: 4px;
border-top: 2px solid #e0e0e0;
}
.r-payment-row .label {
color: #555;
text-align: left;
}
.r-payment-row span:last-child {
text-align: right;
font-weight: 600;
color: #2c3e50;
} .r-pax-form {
background: #f8f9fa;
border: 1px solid #e9ecef;
border-radius: 8px;
padding: 20px;
margin-bottom: 15px;
}
.r-pax-form h5 {
margin: 0 0 15px;
color: var(--atc-text, #2c3e50);
font-size: 16px;
border-bottom: 2px solid var(--atc-primary, #1FA3C2);
padding-bottom: 8px;
}
.r-pax-form .form-row {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
}
.r-pax-form label {
display: block;
margin-bottom: 5px;
font-weight: 500;
color: #495057;
}
.r-pax-form input, .r-pax-form select {
width: 100%;
padding: 10px;
border: 1px solid #ced4da;
border-radius: 6px;
}
.r-pax-form input:focus, .r-pax-form select:focus {
outline: none;
border-color: var(--atc-primary, #1FA3C2);
box-shadow: 0 0 0 2px rgba(31,163,194,0.18);
} .r-references {
background: #fff !important;
border: 1px solid #e0e0e0 !important;
border-radius: 8px !important;
padding: 20px !important;
margin-top: 20px !important;
box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
}
.r-references h5 {
margin: 0 0 15px !important;
color: #333 !important;
font-size: 16px !important;
font-weight: 700 !important;
border-bottom: 2px solid #e0e0e0 !important;
padding-bottom: 8px !important;
}
.r-references p {
margin: 8px 0 !important;
font-size: 14px !important;
color: #666 !important;
line-height: 1.5 !important;
}
.r-references strong {
color: #333 !important;
font-weight: 700 !important;
font-size: 15px !important;
} @media (max-width: 768px) {
.r-summary-grid {
grid-template-columns: 1fr;
gap: 12px;
}
.r-summary {
padding: 20px;
}
.r-summary h4 {
font-size: 18px;
}
.r-3col-grid {
grid-template-columns: 1fr;
gap: 15px;
}
} .r-pax-block {
border: 1px solid #e2e8f0;
border-radius: 10px;
padding: 16px 18px 14px;
margin-bottom: 14px;
background: #fff;
width: 100%;
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
box-sizing: border-box;
}
.r-pax-block-title {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 6px;
font-size: 13px;
font-weight: 700;
color: var(--atc-primary-dark, #1989A3);
margin-bottom: 4px;
padding-bottom: 8px;
border-bottom: 1px solid #e9ecef;
} .r-pax-badge {
display: inline-block;
font-size: 10px;
font-weight: 700;
letter-spacing: 0.4px;
text-transform: uppercase;
padding: 2px 8px;
border-radius: 20px;
}
.r-pax-badge-lead {
background: #e3f2fd;
color: #1565c0;
}
.r-pax-badge-child {
background: #fff3cd;
color: #856404;
} .r-pax-group {
margin-top: 10px;
}
.r-pax-group + .r-pax-group {
margin-top: 14px;
padding-top: 12px;
border-top: 1px dashed #e9ecef;
}
.r-pax-group-title {
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.6px;
color: #6c757d;
margin-bottom: 10px;
} .r-pax-group .r-pax-form {
background: transparent;
border: none;
border-radius: 0;
padding: 0;
margin-bottom: 0;
} .r-pax-col3,
.r-pax-col2 {
width: 100%;
box-sizing: border-box;
}
.r-pax-col3 label,
.r-pax-col2 label {
display: block;
margin-bottom: 4px;
font-size: 12px;
font-weight: 600;
color: #495057;
}
.r-pax-col3 input,
.r-pax-col3 select,
.r-pax-col2 input,
.r-pax-col2 select {
width: 100%;
padding: 8px 10px;
border: 1px solid #ced4da;
border-radius: 6px;
font-size: 13px;
box-sizing: border-box;
}
.r-pax-col3 input:focus,
.r-pax-col3 select:focus,
.r-pax-col2 input:focus,
.r-pax-col2 select:focus {
outline: none;
border-color: var(--atc-primary, #1FA3C2);
box-shadow: 0 0 0 2px rgba(31,163,194,0.18);
} @media (min-width: 768px) {
.r-pax-form {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.r-pax-col3 {
flex: 0 0 calc(33.333% - 7px);
min-width: 0;
}
.r-pax-col2 {
flex: 0 0 calc(50% - 5px);
min-width: 0;
}
}
@media (max-width: 767px) {
.r-pax-col3,
.r-pax-col2 {
width: 100%;
}
} .r-top-layout {
display: flex !important;
flex-wrap: nowrap !important;
gap: 20px !important;
align-items: flex-start !important;
margin-bottom: 0 !important;
box-sizing: border-box !important;
}
.r-top-hotel {
flex: 0 0 auto !important;
width: 340px !important;
min-width: 240px !important;
max-width: 380px !important;
}
.r-top-hotel .r-section {
height: 100% !important;
box-sizing: border-box !important;
}
.r-top-right {
flex: 1 1 0 !important;
min-width: 0 !important;
display: flex !important;
flex-direction: column !important;
gap: 0 !important;
}
.r-top-right .r-section {
margin-bottom: 16px !important;
} .r-trip-total-section {
flex: 0 0 280px !important;
display: flex !important;
flex-direction: column !important;
gap: 8px !important;
width: 280px !important;
min-width: 260px !important;
max-width: 300px !important;
padding: 18px 22px !important;
margin-bottom: 0 !important;
box-sizing: border-box !important;
}
.r-trip-total-section h4 {
margin: 0 0 4px !important;
}
.r-total-big .value,
.r-total-big span:last-child {
font-size: 24px !important;
font-weight: 800 !important;
color: var(--atc-primary-dark, #1989A3) !important;
} .r-btn-primary,
.r-cta-continue {
width: 100% !important;
height: 48px !important;
background: linear-gradient(135deg, var(--atc-primary, #1FA3C2), var(--atc-primary-dark, #1989A3)) !important;
color: #fff !important;
border: none !important;
border-radius: 10px !important;
font-weight: 700 !important;
font-size: 15px !important;
cursor: pointer !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
gap: 8px !important;
transition: transform 0.2s, box-shadow 0.25s !important;
box-shadow: 0 4px 15px rgba(31,163,194,0.4) !important;
text-transform: uppercase !important;
letter-spacing: 0.5px !important;
margin-top: 4px !important;
}
.r-btn-primary:hover,
.r-cta-continue:hover {
transform: translateY(-2px) !important;
box-shadow: 0 8px 25px rgba(31,163,194,0.5) !important;
}
.r-btn-primary:active,
.r-cta-continue:active { transform: translateY(0) !important; }
.r-btn-secondary {
width: 100% !important;
height: 44px !important;
background: #fff !important;
border: 2px solid var(--atc-primary, #1FA3C2) !important;
border-radius: 10px !important;
color: var(--atc-primary-dark, #1989A3) !important;
font-size: 14px !important;
font-weight: 700 !important;
cursor: pointer !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
gap: 8px !important;
transition: background 0.2s, color 0.2s, transform 0.2s !important;
margin-top: 10px !important;
}
.r-btn-secondary:hover {
background: var(--atc-bg, #e9f8fb) !important;
transform: translateY(-1px) !important;
} .r-extras-block h4 {
margin: 0 0 14px !important;
}
.r-extras-2col {
display: flex !important;
gap: 20px !important;
align-items: flex-start !important;
}
.r-extras-col {
flex: 1 1 0 !important;
min-width: 0 !important;
}
.r-extras-col h5 {
margin: 0 0 10px !important;
font-size: 13px !important;
font-weight: 700 !important;
text-transform: uppercase !important;
letter-spacing: .5px !important;
color: #5d6d7e !important;
border-bottom: 1px solid #e0e0e0 !important;
padding-bottom: 6px !important;
}  @media (max-width: 900px) {
.r-top-layout,
.r-extras-2col {
flex-direction: column !important;
}
.r-top-hotel {
width: 100% !important;
max-width: 100% !important;
flex: none !important;
}
.r-top-right {
width: 100% !important;
flex: none !important;
}
.r-trip-total-section {
width: 100% !important;
max-width: 100% !important;
flex: none !important;
}
.r-extras-col {
width: 100% !important;
}
} @media (max-width: 600px) {
.r-trip-total-section {
width: 100% !important;
max-width: 100% !important;
gap: 8px !important;
}
.r-cta-continue {
padding: 15px !important;
font-size: 16px !important;
}
.r-total-big span:last-child {
font-size: 20px !important;
}
.r-top-right .r-section {
margin-bottom: 12px !important;
}
} .r-tp-alts-section h4 {
margin: 0 0 12px !important;
}
.r-tp-alts-list {
display: flex !important;
flex-direction: column !important;
gap: 8px !important;
}
.r-tp-alt-row {
display: flex !important;
align-items: center !important;
justify-content: space-between !important;
gap: 12px !important;
padding: 10px 14px !important;
background: #f8f9fa !important;
border: 1px solid #e0e0e0 !important;
border-radius: 8px !important;
transition: border-color 0.2s, background 0.2s !important;
}
.r-tp-alt-row.r-tp-alt-selected {
background: var(--atc-bg, #e9f8fb) !important;
border-color: var(--atc-primary, #1FA3C2) !important;
}
.r-tp-alt-info {
flex: 1 !important;
font-size: 13px !important;
color: #2c3e50 !important;
line-height: 1.4 !important;
}
.r-tp-alt-action {
display: flex !important;
flex-direction: column !important;
align-items: flex-end !important;
gap: 6px !important;
min-width: 110px !important;
}
.r-tp-alt-price {
font-size: 12px !important;
font-weight: 700 !important;
border-radius: 4px !important;
padding: 2px 7px !important;
}
.r-tp-alt-sup {
background: #fdecea !important;
color: #c0392b !important;
}
.r-tp-alt-inc {
background: #eafaf1 !important;
color: #27ae60 !important;
}
@media (max-width: 600px) {
.r-tp-alt-row {
flex-direction: column !important;
align-items: flex-start !important;
}
.r-tp-alt-action {
flex-direction: row !important;
align-items: center !important;
width: 100% !important;
justify-content: space-between !important;
}
}  .r-back-row {
text-align: right !important;
margin: -4px 0 14px !important;
}
.r-btn-back {
background: transparent !important;
border: 1px solid #cbd5e1 !important;
color: #475569 !important;
border-radius: 6px !important;
padding: 6px 14px !important;
font-size: 12px !important;
font-weight: 600 !important;
cursor: pointer !important;
}
.r-btn-back:hover {
border-color: var(--atc-primary, #1FA3C2) !important;
color: var(--atc-primary, #1FA3C2) !important;
} .r-section-terms {
border-top-color: var(--atc-primary, #1FA3C2) !important;
scroll-margin-top: 100px !important;
}
.r-scroll-tail {
height: 60vh !important;
pointer-events: none !important;
} .r-float-total {
position: fixed !important;
bottom: 16px !important;
right: 16px !important;
z-index: 99980 !important;
display: none !important;
align-items: center !important;
gap: 14px !important;
background: #fff !important;
border: 1px solid #e2e8f0 !important;
border-radius: 12px !important;
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.22) !important;
padding: 10px 14px !important;
}
.r-float-total.is-visible {
display: flex !important;
}
.r-float-total .r-ft-info {
line-height: 1.3 !important;
}
.r-float-total .r-ft-total {
font-size: 17px !important;
font-weight: 700 !important;
color: #1e293b !important;
white-space: nowrap !important;
}
.r-float-total .r-ft-dp {
font-size: 12px !important;
color: #64748b !important;
white-space: nowrap !important;
}
.r-float-total .r-btn-primary {
padding: 9px 16px !important;
font-size: 13px !important;
white-space: nowrap !important;
}
@media (max-width: 640px) {
.r-float-total {
left: 8px !important;
right: 8px !important;
bottom: 8px !important;
justify-content: space-between !important;
}
}
.r-terms-label {
display: flex !important;
align-items: flex-start !important;
gap: 10px !important;
font-size: 14px !important;
color: #334155 !important;
line-height: 1.6 !important;
cursor: pointer !important;
}
.r-terms-label input[type="checkbox"] {
margin-top: 4px !important;
transform: scale(1.25) !important;
flex-shrink: 0 !important;
}
.r-terms-label a,
.r-terms-info a {
color: var(--atc-primary, #1FA3C2) !important;
font-weight: 600 !important;
} .r-terms-info {
display: block !important;
overflow-wrap: break-word !important;
} .r-terms-payment {
display: block !important;
width: 100% !important;
box-sizing: border-box !important;
overflow-wrap: break-word !important;
}
#r-terms-section .r-terms-payment,
#circ-terms-section .r-terms-payment,
#comb-terms-section .r-terms-payment,
#r-terms-section .r-terms-payment *,
#circ-terms-section .r-terms-payment *,
#comb-terms-section .r-terms-payment * {
text-align: left !important;
}
#r-terms-section .r-terms-payment p,
#circ-terms-section .r-terms-payment p,
#comb-terms-section .r-terms-payment p,
#r-terms-section .r-terms-payment ul,
#circ-terms-section .r-terms-payment ul,
#comb-terms-section .r-terms-payment ul,
#r-terms-section .r-terms-payment ol,
#circ-terms-section .r-terms-payment ol,
#comb-terms-section .r-terms-payment ol,
#r-terms-section .r-terms-payment li,
#circ-terms-section .r-terms-payment li,
#comb-terms-section .r-terms-payment li {
margin-left: 0 !important;
margin-right: 0 !important;
}
.r-terms-payment p {
margin: 0 0 8px !important;
}
.r-terms-payment p:last-child {
margin-bottom: 0 !important;
}
.r-terms-payment ul,
.r-terms-payment ol {
padding-left: 22px !important;
}  .r-pax-modal-overlay {
position: fixed !important;
top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
background: rgba(15, 23, 42, 0.55) !important;
z-index: 99990 !important;
display: none !important;
align-items: center !important;
justify-content: center !important;
padding: 20px !important;
}
.r-pax-modal-overlay.r-pax-modal-open {
display: flex !important;
}
.r-pax-modal-box {
background: #fff !important;
border-radius: 14px !important;
width: 100% !important;
max-width: 920px !important;
max-height: 90vh !important;
display: flex !important;
flex-direction: column !important;
box-shadow: 0 12px 50px rgba(0, 0, 0, 0.3) !important;
}
.r-pax-modal-head {
display: flex !important;
align-items: center !important;
justify-content: space-between !important;
padding: 16px 22px !important;
border-bottom: 1px solid #e2e8f0 !important;
flex-shrink: 0 !important;
}
.r-pax-modal-head h4 {
margin: 0 !important;
font-size: 17px !important;
color: #1e293b !important;
}
.r-pax-modal-close {
background: none !important;
border: none !important;
font-size: 28px !important;
line-height: 1 !important;
color: #64748b !important;
cursor: pointer !important;
padding: 0 4px !important;
}
.r-pax-modal-close:hover {
color: #0f172a !important;
} .r-pax-modal-box > form {
display: flex !important;
flex-direction: column !important;
flex: 1 1 auto !important;
min-height: 0 !important;
}
.r-pax-modal-body {
padding: 18px 22px !important;
overflow-y: auto !important;
flex: 1 1 auto !important;
min-height: 0 !important;
}
.r-pax-modal-foot {
padding: 14px 22px !important;
border-top: 1px solid #e2e8f0 !important;
text-align: center !important;
flex-shrink: 0 !important;
}
@media (max-width: 640px) {
.r-pax-modal-overlay {
padding: 8px !important;
align-items: flex-start !important;
}
.r-pax-modal-box {
max-height: 96vh !important;
}
}svg.dashicons { display:inline-block; width:1em; height:1em; vertical-align:top; fill:currentColor; } .atc-wrapper {
--atc-primary: #1FA3C2 !important;
--atc-primary-dark: #1989A3 !important;
--atc-accent: #1FA3C2 !important;
--atc-dark: #1a2332 !important;
--atc-text: #2c3e50 !important;
--atc-muted: #7f8c8d !important;
--atc-bg: #f4f6f9 !important;
--atc-card: #ffffff !important;
--atc-border: #e8ecef !important;
--atc-success: #27ae60 !important;
--atc-radius: 14px !important;
--atc-shadow: 0 4px 20px rgba(26,35,50,0.08) !important;
--atc-shadow-hover: 0 12px 35px rgba(26,35,50,0.15) !important; --cp: #1FA3C2; --ca: #1FA3C2; --cad: #1989A3; --ct: #2c3e50; --cm: #7f8c8d; --cbg: #f4f6f9; --cbr: #e8ecef; --cs: #27ae60; --cr: 14px; --csh: 0 4px 20px rgba(26,35,50,0.08); --circ-primary: #1FA3C2; --circ-primary-dark: #1989A3; --circ-accent: #1FA3C2; --circ-accent-dark: #1989A3; --circ-text: #2c3e50; --circ-muted: #7f8c8d; --circ-bg: #f4f6f9; --circ-card: #ffffff; --circ-border: #e8ecef; --circ-success: #27ae60; --circ-radius: 14px; --circ-shadow: 0 4px 20px rgba(26,35,50,0.08); --circ-shadow-hover: 0 12px 35px rgba(26,35,50,0.15);
font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif !important;
color: #2c3e50 !important;
width: 100% !important;
max-width: 100% !important;
min-width: 0 !important; margin: 0 auto !important;
padding: 0 15px !important;
box-sizing: border-box !important;
}
.atc-form,
.atc-form-floating,
.api-travel-search-container,
.api-travel-search-form,
.atc-fields,
.atc-field {
width: 100% !important;
max-width: 100% !important;
}  .atc-wrapper *, .atc-wrapper *::before, .atc-wrapper *::after {
font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif !important;
font-size: 13px !important;
box-sizing: border-box !important;
} .atc-wrapper h1, .atc-wrapper h2, .atc-wrapper h3,
.atc-wrapper .atc-hero-title, .atc-wrapper .atc-state h3,
.atc-wrapper .circ-state h3, .atc-wrapper .circ-hero-title,
.atc-wrapper .atc-results-count, .atc-wrapper .circ-results-count,
.atc-wrapper .atc-price-total, .atc-wrapper .comb-book-page .atc-price-total,
.atc-wrapper .circ-price-value, .atc-wrapper .atc-success-price,
.atc-wrapper .cbm-success-price, .atc-wrapper .cbm-success-title,
.atc-wrapper .cbm-success-icon, .atc-wrapper .atc-illu-icon,
.atc-wrapper .circ-illu-icon,
.atc-wrapper .circ-loading-icon, .atc-wrapper .atc-airport-code,
.atc-wrapper .atc-arrow-icon, .atc-wrapper .atc-hotel-name,
.atc-wrapper .atc-detail-stars, .atc-wrapper .atc-price-per-person,
.atc-wrapper .comb-book-page .atc-price-per-person,
.atc-wrapper .circ-price-currency, .atc-wrapper .atc-btn-search,
.atc-wrapper .circ-btn-book, .atc-wrapper .circ-btn-retry,
.atc-wrapper .comb-btn-refresh, .atc-wrapper .r-btn-primary,
.atc-wrapper .r-btn-secondary, .atc-wrapper .atc-back-btn,
.atc-wrapper .atc-results-sub, .atc-wrapper .circ-results-sub,
.atc-wrapper .atc-card-body h4, .atc-wrapper .circ-card-header-body h4,
.atc-wrapper .atc-section-title, .atc-wrapper .atc-flight-airline,
.atc-wrapper .atc-value, .atc-wrapper .atc-flight-time,
.atc-wrapper .atc-flight-direction h5, .atc-wrapper .fo-section h5,
.atc-wrapper .atc-cache-expiry-text,
.atc-wrapper .atc-progress-label, .atc-wrapper .atc-results-sub,
.atc-wrapper .atc-sort select, .atc-wrapper .circ-sort select,
.atc-wrapper .atc-field .form-control, .atc-wrapper .atc-pax-trigger,
.atc-wrapper .atc-btn-search, .atc-wrapper .atc-pax-arrow,
.atc-wrapper .circ-pax-arrow, .atc-wrapper .circ-pax-close,
.atc-wrapper .atc-field label, .atc-wrapper .atc-field .dashicons,
.atc-wrapper .circ-meta-item .dashicons, .atc-wrapper .circ-expand-title .dashicons,
.atc-wrapper .circ-dest-header .dashicons, .atc-wrapper .atc-btn-search .dashicons,
.atc-wrapper .atc-cache-expiry-content .dashicons,
.atc-wrapper .atc-total-price, .atc-wrapper .circ-total-price,
.atc-wrapper .atc-fp-price, .atc-wrapper .comb-fp-price,
.atc-wrapper .atc-mf-price, .atc-wrapper .atc-hotel-fallback,
.atc-wrapper .atc-success-ref strong, .atc-wrapper .cbm-success-ref strong,
.atc-wrapper .r-section h4, .atc-wrapper .r-excursion-price-note {
font-size: inherit !important;
} .atc-wrapper h1, .atc-wrapper .atc-hero-title, .atc-wrapper .circ-hero-title { font-size: 32px !important; }
.atc-wrapper h2, .atc-wrapper .atc-state h3, .atc-wrapper .circ-state h3 { font-size: 24px !important; }
.atc-wrapper h3, .atc-wrapper .atc-section-title { font-size: 18px !important; }
.atc-wrapper h4, .atc-wrapper .atc-card-body h4, .atc-wrapper .circ-card-header-body h4,
.atc-wrapper .r-section h4 { font-size: 16px !important; }
.atc-wrapper h5, .atc-wrapper .atc-flight-direction h5, .atc-wrapper .fo-section h5 { font-size: 14px !important; }
.atc-wrapper .atc-price-total, .atc-wrapper .comb-book-page .atc-price-total { font-size: 32px !important; }
.atc-wrapper .circ-price-value { font-size: 28px !important; }
.atc-wrapper .atc-airport-code, .atc-wrapper .atc-arrow-icon { font-size: 20px !important; }
.atc-wrapper .atc-hotel-name { font-size: 16px !important; }
.atc-wrapper .atc-detail-stars { font-size: 16px !important; }
.atc-wrapper .atc-price-per-person, .atc-wrapper .comb-book-page .atc-price-per-person { font-size: 13px !important; }
.atc-wrapper .circ-price-currency { font-size: 13px !important; }
.atc-wrapper .atc-results-count, .atc-wrapper .circ-results-count { font-size: 20px !important; }
.atc-wrapper .atc-btn-search, .atc-wrapper .circ-btn-book, .atc-wrapper .circ-btn-retry,
.atc-wrapper .comb-btn-refresh, .atc-wrapper .r-btn-primary, .atc-wrapper .r-btn-secondary,
.atc-wrapper .atc-back-btn { font-size: 14px !important; }
.atc-wrapper .atc-illu-icon, .atc-wrapper .circ-illu-icon { font-size: 46px !important; }
.atc-wrapper .circ-loading-icon { font-size: 26px !important; }
.atc-wrapper .cbm-success-icon { font-size: 48px !important; }
.atc-wrapper .cbm-success-price { font-size: 24px !important; }
.atc-wrapper .cbm-success-title { font-size: 20px !important; }
.atc-wrapper .atc-success-ref strong, .atc-wrapper .cbm-success-ref strong { font-size: 16px !important; }
.atc-wrapper .atc-total-price, .atc-wrapper .circ-total-price { font-size: 16px !important; }
.atc-wrapper .atc-mf-price { font-size: 14px !important; }
.atc-wrapper .atc-hotel-fallback { font-size: 16px !important; }
.atc-wrapper .atc-value { font-size: 13px !important; }
.atc-wrapper .atc-flight-time { font-size: 13px !important; }
.atc-wrapper .atc-flight-airline { font-size: 13px !important; }
.atc-wrapper .atc-cache-expiry-text { font-size: 13px !important; }
.atc-wrapper .atc-progress-label { font-size: 13px !important; }
.atc-wrapper .atc-results-sub, .atc-wrapper .circ-results-sub { font-size: 13px !important; }
.atc-wrapper .atc-sort select, .atc-wrapper .circ-sort select { font-size: 13px !important; }
.atc-wrapper .atc-field .form-control, .atc-wrapper .atc-pax-trigger { font-size: 14px !important; }
.atc-wrapper .atc-field label { font-size: 11px !important; }
.atc-wrapper .atc-fp-price, .atc-wrapper .comb-fp-price { font-size: 10px !important; }
.atc-wrapper .r-excursion-price-note { font-size: 11px !important; } .atc-wrapper .dashicons, .atc-wrapper .dashicons::before { font-size: inherit !important; } .atc-form-floating {
background: #fff !important;
border-radius: 14px !important;
box-shadow: 0 10px 40px rgba(26,35,50,0.12) !important;
padding: 22px !important;
margin: 20px auto 30px !important;
max-width: 100% !important;
position: relative !important;
z-index: 99999 !important;
overflow: visible !important;
}
.atc-fields {
display: grid !important;
grid-template-columns: 1.4fr 1fr 1fr 0.7fr 1fr 0.9fr !important;
gap: 12px !important;
align-items: start !important;
}
.atc-field {
position: relative !important;
min-width: 0 !important;
overflow: visible !important;
}
.atc-field-date {
cursor: pointer !important;
}
.atc-field-submit .atc-submit-spacer { visibility: hidden !important;
pointer-events: none !important;
}
.atc-field label {
display: flex !important;
align-items: center !important;
min-height: 14px !important;
gap: 6px !important;
font-weight: 700 !important;
line-height: 14px !important;
color: #1989A3 !important;
margin-bottom: 7px !important;
text-transform: uppercase !important;
letter-spacing: 0.5px !important;
}
.atc-field label .dashicons {
flex: 0 0 14px !important;
width: 14px !important;
height: 14px !important;
line-height: 14px !important;
color: #1FA3C2 !important;
}
.atc-field .form-control,
.atc-field-locked,
.atc-pax-trigger {
width: 100% !important;
height: 48px !important;
background: #f4f6f9 !important;
border: 2px solid transparent !important;
border-radius: 10px !important;
padding: 0 14px !important;
font-weight: 600 !important;
line-height: 44px !important;
color: #2c3e50 !important;
cursor: pointer !important;
transition: border-color 0.2s, background 0.2s, box-shadow 0.2s !important;
display: flex !important;
align-items: center !important;
outline: none !important;
box-sizing: border-box !important;
}
.atc-pax-trigger {
justify-content: space-between !important;
gap: 10px !important;
}
.atc-pax-trigger > :first-child {
min-width: 0 !important;
overflow: hidden !important;
text-overflow: ellipsis !important;
white-space: nowrap !important;
}
.atc-pax-arrow {
flex: 0 0 auto !important;
margin-left: auto !important;
color: #7f8c8d !important;
}
.atc-field .form-control:hover:not(:disabled),
.atc-pax-trigger:hover {
border-color: #1FA3C2 !important;
background: #fff !important;
} .atc-date-trigger {
position: relative !important;
justify-content: space-between !important;
gap: 10px !important;
}
.atc-date-trigger .atc-date-input-hidden {
position: absolute !important;
top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
width: 100% !important;
height: 100% !important;
margin: 0 !important;
padding: 0 !important;
border: 0 !important;
opacity: 0 !important;
pointer-events: none !important;
background: transparent !important;
color: transparent !important;
box-shadow: none !important;
cursor: default !important;
}
.atc-date-trigger.is-disabled {
color: #b0b8c0 !important;
background: #eef0f3 !important;
cursor: not-allowed !important;
}
.atc-date-trigger.is-disabled:hover {
border-color: transparent !important;
background: #eef0f3 !important;
}
.atc-date-trigger.is-disabled .atc-pax-arrow {
color: #b0b8c0 !important;
}
.atc-date-trigger .atc-pax-arrow {
transition: transform 0.2s !important;
}
.atc-date-trigger.open .atc-pax-arrow {
transform: rotate(180deg) !important;
} .atc-field select.form-control {
display: block !important;
appearance: none !important;
-webkit-appearance: none !important;
-moz-appearance: none !important;
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237f8c8d' stroke-width='2'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
background-repeat: no-repeat !important;
background-position: right 12px center !important;
background-size: 14px !important;
padding-right: 36px !important;
line-height: 44px !important;
}
.atc-field input.form-control {
appearance: none !important;
-webkit-appearance: none !important;
}
.atc-field .form-control:focus {
border-color: #1FA3C2 !important;
background: #fff !important;
box-shadow: 0 0 0 3px rgba(31,163,194,0.12) !important;
}
.atc-field .form-control::placeholder {
color: #9aa8b5 !important;
opacity: 1 !important;
}
.atc-field .form-control:disabled {
color: #b0b8c0 !important;
cursor: not-allowed !important;
background: #eef0f3 !important;
}
.atc-field-locked {
background: linear-gradient(90deg, rgba(31,163,194,0.08), rgba(31,163,194,0.05)) !important;
color: #2c3e50 !important;
font-weight: 700 !important;
border: 2px solid rgba(31,163,194,0.2) !important;
cursor: default !important;
}
.atc-btn-search {
width: 100% !important;
height: 48px !important;
background: linear-gradient(135deg, #1FA3C2, #1989A3) !important;
color: #fff !important;
border: none !important;
border-radius: 10px !important;
font-weight: 700 !important;
cursor: pointer !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
gap: 8px !important;
transition: transform 0.2s, box-shadow 0.25s !important;
box-shadow: 0 4px 15px rgba(31,163,194,0.4) !important;
text-transform: uppercase !important;
letter-spacing: 0.5px !important;
}
.atc-btn-search:hover:not(:disabled) {
transform: translateY(-2px) !important;
box-shadow: 0 8px 25px rgba(31,163,194,0.5) !important;
}
.atc-btn-search:active { transform: translateY(0); }
.atc-btn-search:disabled { opacity: 0.6; cursor: wait; }
.atc-btn-search .dashicons {
width: 18px !important;
height: 18px !important;
} .atc-cache-expiry-message {
background: #fff3cd !important;
border: 1px solid #ffc107 !important;
border-radius: 8px !important;
padding: 15px 20px !important;
margin: 20px auto 30px !important;
max-width: 100% !important;
box-shadow: 0 2px 8px rgba(255, 193, 7, 0.2) !important;
}
.atc-cache-expiry-content {
display: flex !important;
align-items: center !important;
gap: 12px !important;
}
.atc-cache-expiry-content .dashicons {
width: 20px !important;
height: 20px !important;
color: #856404 !important;
}
.atc-cache-expiry-text {
color: #856404 !important;
font-weight: 500 !important;
} .atc-results-section { margin: 0 0 60px; width: 100% !important; }
.atc-state {
background: #fff !important;
border-radius: 14px !important;
padding: 60px 30px !important;
text-align: center !important;
box-shadow: 0 4px 20px rgba(26,35,50,0.08) !important;
width: 100% !important;
}
.atc-state h3 {
margin: 22px 0 10px !important;
color: #2c3e50 !important;
font-weight: 700 !important;
}
.atc-state p {
color: #7f8c8d !important;
max-width: 480px !important;
margin: 0 auto !important;
line-height: 1.5 !important;
}
.atc-state-results {
background: transparent !important;
box-shadow: none !important;
padding: 0 !important;
text-align: left !important;
width: 100% !important;
}
.atc-results-list {
width: 100% !important;
}
.atc-results-list .atc-search-progress-bar {
display: block !important;
visibility: visible !important;
width: 50% !important;
min-height: 88px !important;
margin: 0 auto 16px !important;
padding: 18px 22px !important;
overflow: visible !important;
background: linear-gradient(135deg, #f7fcfd 0%, #eef8fb 100%) !important;
border: 1px solid #b8e3ed !important;
border-radius: 12px !important;
box-shadow: 0 4px 16px rgba(31,163,194,0.10) !important;
}
.atc-results-list .atc-progress-header {
display: flex !important;
align-items: center !important;
justify-content: space-between !important;
margin-bottom: 10px !important;
}
.atc-results-list .atc-progress-label {
color: #2c3e50 !important;
font-weight: 600 !important;
font-size: 15px !important;
line-height: 1.4 !important;
padding-right: 12px !important;
}
.atc-results-list .atc-progress-track {
display: block !important;
width: 100% !important;
height: 8px !important;
overflow: hidden !important;
background: #d9f0f5 !important;
border-radius: 999px !important;
}
.atc-results-list .atc-progress-fill {
display: block !important;
min-width: 8px !important;
height: 100% !important;
background: linear-gradient(90deg, #1FA3C2, #1989A3) !important;
border-radius: inherit !important;
transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
position: relative !important;
overflow: hidden !important;
}
.atc-results-list .atc-progress-fill::after {
content: '' !important;
position: absolute !important;
top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.35), transparent) !important;
animation: atc-progress-sheen 2s ease-in-out infinite !important;
}
.atc-results-list .atc-progress-detail {
display: block !important;
margin-top: 8px !important;
color: #7a96a3 !important;
font-weight: 500 !important;
font-size: 13px !important;
}
@keyframes atc-progress-sheen {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
} .atc-state-illustration {
position: relative !important;
width: 130px !important;
height: 130px !important;
margin: 0 auto !important;
}
.atc-illu-circle {
position: absolute !important;
top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
background: linear-gradient(135deg, rgba(31,163,194,0.15), rgba(31,163,194,0.15)) !important;
border-radius: 50% !important;
animation: atc-pulse 2.5s ease-in-out infinite !important;
}
.atc-illu-circle.warning {
background: linear-gradient(135deg, rgba(255,193,7,0.2), rgba(31,163,194,0.15)) !important;
}
.atc-illu-plane {
position: absolute !important;
top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
}
@keyframes atc-pulse {
0%, 100% { transform: scale(1); opacity: 1; }
50% { transform: scale(1.08); opacity: 0.85; }
} .atc-results-bar {
display: flex !important;
justify-content: space-between !important;
align-items: center !important;
padding: 0 5px !important;
margin-bottom: 22px !important;
flex-wrap: wrap !important;
gap: 15px !important;
}
.atc-results-info { display: flex; flex-direction: column; gap: 3px; }
.atc-results-count {
font-weight: 800 !important;
color: #2c3e50 !important;
}
.atc-results-sub {
font-size: 13px !important;
color: #7f8c8d !important;
}
.atc-dest-page {
margin: -10px 5px 18px 5px !important;
}
.atc-dest-page-link {
display: inline-flex !important;
align-items: center !important;
gap: 5px !important;
font-size: 13px !important;
font-weight: 700 !important;
color: var(--atc-primary, #1FA3C2) !important;
text-decoration: none !important;
}
.atc-dest-page-link:hover {
color: var(--atc-primary-dark, #157a94) !important;
text-decoration: underline !important;
}
.atc-dest-page-link .dashicons {
font-size: 16px !important;
width: 16px !important;
height: 16px !important;
}
.atc-sort {
display: flex !important;
align-items: center !important;
gap: 8px !important;
}
.atc-sort label {
font-weight: 600 !important;
color: #7f8c8d !important;
text-transform: uppercase !important;
}
.atc-sort select {
background: #fff !important;
border: 1px solid #e8ecef !important;
border-radius: 8px !important;
padding: 8px 12px !important;
font-size: 13px !important;
font-weight: 600 !important;
color: #2c3e50 !important;
cursor: pointer !important;
outline: none !important;
} .atc-card {
display: grid !important;
grid-template-columns: 280px 1fr 220px !important;
background: var(--atc-res-card-bg, #fff) !important;
border-radius: var(--atc-res-card-radius, 0px) !important;
overflow: hidden !important;
box-shadow: 0 4px 20px rgba(26,35,50,0.08) !important;
transition: transform 0.3s ease, box-shadow 0.3s ease !important;
position: relative !important;
}
.atc-card:hover {
transform: translateY(-4px) !important;
box-shadow: 0 12px 35px rgba(26,35,50,0.15) !important;
}
.atc-card-thumb {
position: relative !important;
background: var(--atc-res-thumb-bg, #ecf0f1) !important;
overflow: hidden !important; align-self: start !important;
}
.atc-card-thumb img {
width: 100% !important;
height: auto !important;
aspect-ratio: 16 / 9 !important;
object-fit: cover !important;
display: block !important;
transition: transform 0.5s ease !important;
}
.atc-card:hover .atc-card-thumb img { transform: scale(1.05); }
.atc-thumb-caption {
padding: 10px 12px 12px !important;
background: var(--atc-res-card-bg, #fff) !important;
}
.atc-thumb-stars {
color: var(--atc-res-star, #f39c12) !important;
font-size: 14px !important;
letter-spacing: 2px !important;
margin-bottom: 4px !important;
}
.atc-thumb-cat {
color: var(--atc-muted, #95a5a6) !important;
font-size: 11px !important;
text-transform: uppercase !important;
letter-spacing: .5px !important;
margin-bottom: 4px !important;
}
.atc-thumb-name {
font-size: 14px !important;
font-weight: 700 !important;
color: var(--atc-text, #2c3e50) !important;
line-height: 1.3 !important;
}
.atc-thumb-desc {
margin-top: 6px !important;
font-size: 12px !important;
color: var(--atc-muted, #7f8c8d) !important;
line-height: 1.45 !important;
display: -webkit-box !important;
-webkit-line-clamp: 5 !important;
-webkit-box-orient: vertical !important;
overflow: hidden !important;
}
.atc-thumb-google {
display: flex !important;
align-items: center !important;
gap: 4px !important;
margin-top: 6px !important;
font-size: 12px !important;
color: var(--atc-muted, #7f8c8d) !important;
}
.atc-thumb-google-score {
font-weight: 700 !important;
color: var(--atc-text, #2c3e50) !important;
}
.atc-thumb-web { margin-top: 6px !important; }
.atc-thumb-web a {
font-size: 12px !important;
color: var(--atc-primary) !important;
text-decoration: none !important;
}
.atc-thumb-web a:hover { text-decoration: underline !important; }
.atc-operator-badge {
position: absolute !important;
top: 14px !important;
left: 14px !important;
background: rgba(26,35,50,0.85) !important;
-webkit-backdrop-filter: blur(8px) !important;
backdrop-filter: blur(8px) !important;
color: #fff !important;
padding: 6px 12px !important;
border-radius: 20px !important;
text-transform: uppercase !important;
font-weight: 700 !important;
letter-spacing: 0.5px !important;
}
.atc-card-deal-tag {
position: absolute !important;
top: 14px !important;
right: 14px !important;
background: var(--atc-res-badge-bg, #1FA3C2) !important;
color: var(--atc-res-badge-text, #fff) !important;
padding: 5px 11px !important;
border-radius: 6px !important;
font-weight: 700 !important;
letter-spacing: 0.5px !important;
text-transform: uppercase !important;
box-shadow: 0 4px 12px rgba(31,163,194,0.4) !important;
}
.atc-card-body {
padding: 22px 26px !important;
display: flex !important;
flex-direction: column !important;
justify-content: center !important;
min-width: 0 !important;
}
.atc-card-body h4 {
margin: 0 0 8px !important;
font-weight: 700 !important;
color: #2c3e50 !important;
line-height: 1.3 !important;
}
.atc-stars {
display: inline-flex !important;
gap: 1px !important;
color: var(--atc-res-star, #ffb400) !important;
font-size: 13px !important;
margin-left: 6px !important;
vertical-align: middle !important;
}
.atc-card-meta {
display: flex !important;
flex-wrap: wrap !important;
gap: 8px 16px !important;
color: #7f8c8d !important;
font-size: 13px !important;
margin-top: 10px !important;
}
.atc-meta-item {
display: flex !important;
align-items: center !important;
gap: 5px !important;
}
.atc-meta-item .dashicons {
width: 16px !important;
height: 16px !important;
color: var(--atc-primary, #1FA3C2) !important;
} .atc-rooms-list { margin-top: 12px; display: flex; flex-direction: column; gap: 0; }
.atc-room-row {
padding: 14px 4px !important;
border-bottom: 1px solid var(--atc-res-border, #eef1f4) !important;
}
.atc-room-row:first-child { padding-top: 4px !important; }
.atc-room-row:last-child { border-bottom: none !important; }
.atc-room-main {
display: flex !important;
align-items: center !important;
justify-content: space-between !important;
gap: 14px !important;
}
.atc-room-hidden { display: none !important; }
.atc-room-info { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.atc-room-name {
font-weight: 600 !important;
color: var(--atc-text, #2c3e50) !important;
font-size: 14px !important;
}
.atc-room-meta {
display: flex !important;
flex-wrap: wrap !important;
gap: 6px !important;
}
.atc-chip {
display: inline-flex !important;
align-items: center !important;
gap: 4px !important;
background: var(--atc-res-chip-bg, #eaf6f9) !important;
color: var(--atc-res-chip-text, #1FA3C2) !important;
font-size: 11px !important;
font-weight: 600 !important;
padding: 3px 10px !important;
border-radius: 20px !important;
line-height: 1.4 !important;
} .atc-chip.atc-chip-flight {
color: var(--atc-res-flight-text, var(--atc-res-chip-text, #1FA3C2)) !important;
}
.atc-room-board { color: var(--atc-muted, #7f8c8d); }
.atc-room-right {
display: flex !important;
align-items: center !important;
gap: 12px !important;
flex-shrink: 0 !important;
}
.atc-room-price {
font-weight: 800 !important;
font-size: 17px !important;
color: var(--atc-res-price, var(--atc-primary, #1FA3C2)) !important;
white-space: nowrap !important;
}
.atc-room-details-toggle {
background: none !important;
border: none !important;
color: var(--atc-muted, #7f8c8d) !important;
font-size: 11px !important;
font-weight: 600 !important;
cursor: pointer !important;
padding: 4px 6px !important;
text-decoration: underline !important;
}
.atc-room-details-toggle:hover { color: var(--atc-primary, #1FA3C2) !important; }
.atc-room-internal {
display: flex !important;
flex-wrap: wrap !important;
gap: 6px 20px !important;
margin-top: 10px !important;
padding: 10px 14px !important;
background: var(--atc-res-internal-bg, #f4f8fa) !important;
border-radius: 8px !important;
font-size: 12px !important;
color: var(--atc-muted, #546a7b) !important;
}
.atc-room-internal.atc-room-collapsed { display: none !important; }
.atc-room-internal strong { color: var(--atc-text, #2c3e50) !important; }
.atc-btn-room {
background: linear-gradient(135deg, var(--atc-primary, #1FA3C2), var(--atc-primary-dark, #1989A3)) !important;
color: #fff !important;
padding: 8px 18px !important;
border-radius: 20px !important;
text-decoration: none !important;
font-weight: 700 !important;
font-size: 12px !important;
white-space: nowrap !important;
transition: transform 0.15s, box-shadow 0.2s !important;
}
.atc-btn-room:hover {
transform: translateY(-1px) !important;
box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
color: #fff !important;
}
.atc-rooms-toggle {
margin-top: 8px !important;
background: none !important;
border: 1px dashed var(--atc-res-border, #e8ecef) !important;
border-radius: 8px !important;
padding: 7px 14px !important;
color: var(--atc-primary, #1FA3C2) !important;
font-weight: 600 !important;
cursor: pointer !important;
width: 100% !important;
text-align: center !important;
transition: background 0.15s !important;
}
.atc-rooms-toggle:hover { background: rgba(31,163,194,0.06); }
.atc-card-flight {
margin-top: 12px !important;
padding: 10px 14px !important;
background: linear-gradient(90deg, rgba(31,163,194,0.06), transparent) !important;
border-left: 3px solid var(--atc-primary, #1FA3C2) !important;
border-radius: 6px !important;
color: #2c3e50 !important;
font-weight: 500 !important;
}
.atc-card-flight .dashicons {
width: 14px !important;
height: 14px !important;
margin-right: 4px !important;
color: #1FA3C2 !important;
}
.atc-card-action {
padding: 22px !important;
background: var(--atc-bg, #f4f6f9) !important;
display: flex !important;
flex-direction: column !important;
justify-content: center !important;
align-items: center !important;
text-align: center !important;
border-left: 1px solid var(--atc-res-border, #e8ecef) !important;
gap: 8px !important;
}
.atc-price-from {
color: #7f8c8d !important;
text-transform: uppercase !important;
letter-spacing: 0.5px !important;
font-weight: 600 !important;
}
.atc-price-tag {
display: flex !important;
align-items: baseline !important;
gap: 3px !important;
line-height: 1 !important;
}
.atc-price-value {
font-weight: 800 !important;
color: #2c3e50 !important;
background: linear-gradient(135deg, var(--atc-res-price, #1FA3C2), var(--atc-primary-dark, #1989A3)) !important;
-webkit-background-clip: text !important;
-webkit-text-fill-color: transparent !important;
background-clip: text !important;
}
.atc-price-currency {
font-weight: 700 !important;
color: var(--atc-res-price, var(--atc-primary, #1FA3C2)) !important;
}
.atc-price-info {
color: #7f8c8d !important;
margin: 2px 0 8px !important;
}
.atc-btn-book {
background: linear-gradient(135deg, var(--atc-primary, #1FA3C2), var(--atc-primary-dark, #1989A3)) !important;
color: #fff !important;
padding: 11px 24px !important;
border-radius: 50px !important;
text-decoration: none !important;
font-weight: 700 !important;
font-size: 13px !important;
text-transform: uppercase !important;
letter-spacing: 0.5px !important;
transition: transform 0.2s, box-shadow 0.25s !important;
display: inline-flex !important;
align-items: center !important;
gap: 6px !important;
border: none !important;
cursor: pointer !important;
box-shadow: 0 4px 14px rgba(31,163,194,0.35) !important;
}
.atc-btn-book:hover {
transform: translateY(-2px) !important;
box-shadow: 0 8px 22px rgba(31,163,194,0.5) !important;
}
.atc-btn-retry {
margin-top: 20px !important;
background: #2c3e50 !important;
color: #fff !important;
border: none !important;
padding: 12px 24px !important;
border-radius: 50px !important;
font-weight: 600 !important;
cursor: pointer !important;
display: inline-flex !important;
align-items: center !important;
gap: 6px !important;
}
.atc-btn-retry:hover { background: #000; }
.atc-pax-dropdown.open .atc-pax-arrow { transform: rotate(180deg); }
.atc-pax-dropdown { box-sizing: border-box !important;
font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif !important;
color: #2c3e50 !important;
text-align: left !important; width: max-content !important;
min-width: 340px !important;
max-width: calc(100vw - 32px) !important;
background: #fff !important;
border: 1px solid #ccebf2 !important;
border-radius: 14px !important;
box-shadow: 0 14px 32px rgba(26,35,50,0.16) !important;
padding: 14px 16px !important;
z-index: 999999 !important;
}
.atc-wrapper .dashicons,
.atc-wrapper .dashicons::before,
.atc-pax-dropdown .dashicons,
.atc-pax-dropdown .dashicons::before {
display: inline-block !important;
font-family: dashicons !important;
font-style: normal !important;
font-weight: normal !important;
line-height: 1 !important;
text-decoration: inherit !important;
vertical-align: middle !important;
}
.atc-wrapper .dashicons-location::before { content: "\f230" !important; }
.atc-wrapper .dashicons-airplane::before { content: "\f15f" !important; }
.atc-wrapper .dashicons-calendar-alt::before { content: "\f508" !important; }
.atc-wrapper .dashicons-clock::before { content: "\f469" !important; }
.atc-wrapper .dashicons-groups::before { content: "\f307" !important; }
.atc-wrapper .dashicons-search::before { content: "\f179" !important; }
.atc-wrapper .dashicons-plus::before,
.atc-pax-dropdown .dashicons-plus::before { content: "\f132" !important; }
.atc-pax-dropdown .pax-close-mobile {
display: block !important;
width: 34px !important;
height: 34px !important;
margin: 0 0 6px auto !important;
padding: 0 !important;
border: 0 !important;
border-radius: 50% !important;
background: #e9f8fb !important;
color: #1989A3 !important;
font-weight: 700 !important;
line-height: 34px !important;
cursor: pointer !important;
}
.atc-pax-dropdown .room-block {
padding: 10px 12px !important;
margin-bottom: 8px !important;
border: 1px solid #ccebf2 !important;
border-radius: 10px !important;
background: #f7fcfd !important;
}
.atc-pax-dropdown .room-block:last-child { margin-bottom: 0 !important; }
.atc-pax-dropdown .room-header {
display: flex !important;
align-items: center !important;
justify-content: space-between !important;
gap: 12px !important;
margin-bottom: 6px !important;
color: #2c3e50 !important;
}
.atc-pax-dropdown .room-title {
color: #1989A3 !important;
font-size: 14px !important;
font-weight: 700 !important;
}
.atc-pax-dropdown .dashicons-trash::before { content: "\f182" !important; }
.atc-pax-dropdown .pax-room-remove {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
width: 28px !important;
height: 28px !important;
padding: 0 !important;
border: 0 !important;
border-radius: 8px !important;
background: transparent !important;
color: #b0bec5 !important;
cursor: pointer !important;
transition: background .15s ease, color .15s ease !important;
}
.atc-pax-dropdown .pax-room-remove:hover {
background: #fdecea !important;
color: #e74c3c !important;
}
.atc-pax-dropdown .pax-room-remove .dashicons {
font-size: 16px !important;
width: 16px !important;
height: 16px !important;
}
.atc-pax-dropdown .room-fields {
display: flex !important;
flex-wrap: wrap !important;
gap: 8px !important;
}
.atc-pax-dropdown .pax-field {
flex: 0 0 108px !important;
min-width: 0 !important;
}
.atc-pax-dropdown .pax-field-qty {
flex-basis: 118px !important;
}
.atc-pax-dropdown .pax-field-label {
display: block !important;
margin-bottom: 4px !important;
color: #7f8c8d !important;
font-size: 11px !important;
font-weight: 600 !important;
}
.atc-pax-dropdown .room-note {
margin-top: 4px !important;
color: #7f8c8d !important;
font-size: 11px !important;
text-align: center !important;
}
.atc-pax-dropdown .qty-control {
display: inline-flex !important;
align-items: center !important;
justify-content: space-between !important;
width: 100% !important;
height: 38px !important;
overflow: hidden !important;
border: 1px solid #b8e3ed !important;
border-radius: 8px !important;
background: #e9f8fb !important;
}
.atc-pax-dropdown .qty-btn,
.atc-pax-dropdown .qty-step {
width: 34px !important;
height: 100% !important;
padding: 0 !important;
border: 0 !important;
background: transparent !important;
color: #1989A3 !important;
font-size: 16px !important;
font-weight: 700 !important;
line-height: 1 !important;
cursor: pointer !important;
transition: background .15s ease, color .15s ease !important;
}
.atc-pax-dropdown .qty-btn:hover,
.atc-pax-dropdown .qty-step:hover {
background: #1FA3C2 !important;
color: #fff !important;
}
.atc-pax-dropdown .qty-val {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
flex: 1 !important;
height: 100% !important;
color: #1989A3 !important;
font-size: 15px !important;
font-weight: 800 !important;
}
.atc-pax-dropdown .pax-select,
.atc-pax-dropdown .child-age-select {
width: 100% !important;
height: 38px !important;
padding: 0 8px !important;
appearance: none !important;
-webkit-appearance: none !important;
border: 1px solid #b8e3ed !important;
border-radius: 8px !important;
background-color: #fff !important;
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231989A3' stroke-width='2.5'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
background-repeat: no-repeat !important;
background-position: right 10px center !important;
background-size: 16px !important;
color: #2c3e50 !important;
font-size: 13px !important;
font-weight: 600 !important;
}
.atc-pax-dropdown .pax-footer-actions {
display: flex !important;
align-items: center !important;
justify-content: space-between !important;
gap: 12px !important;
margin-top: 10px !important;
padding-top: 10px !important;
border-top: 1px solid #ccebf2 !important;
}
.atc-pax-dropdown .button-pax-add,
.atc-pax-dropdown .button-pax-confirm {
min-height: 40px !important;
padding: 0 14px !important;
border-radius: 8px !important;
font-size: 13px !important;
font-weight: 700 !important;
cursor: pointer !important;
}
.atc-pax-dropdown .button-pax-add {
border: 1px solid #1FA3C2 !important;
background: #e9f8fb !important;
color: #1989A3 !important;
}
.atc-pax-dropdown .button-pax-confirm {
border: 1px solid #1FA3C2 !important;
background: #1FA3C2 !important;
color: #fff !important;
} @media (max-width: 1100px) {
.atc-fields { grid-template-columns: repeat(3, 1fr) !important; }
.atc-field-submit { grid-column: span 3 !important; }
.atc-card { grid-template-columns: 220px 1fr 180px !important; }
}
@media (max-width: 900px) {
.atc-card { grid-template-columns: 1fr !important; }
.atc-card-thumb { height: auto !important; }
.atc-card-action {
border-left: none !important;
border-top: 1px solid #e8ecef !important;
flex-direction: row !important;
justify-content: space-between !important;
flex-wrap: wrap !important;
}
.atc-price-from, .atc-price-info { display: none !important; }
.atc-field-submit .atc-submit-spacer { display: none !important; }
}
@media (max-width: 640px) {
.atc-room-main { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
.atc-room-right { width: 100% !important; justify-content: space-between !important; }
}
@media (max-width: 700px) {
.atc-wrapper {
width: 100vw !important;
max-width: 100vw !important;
margin-left: calc(50% - 50vw) !important;
margin-right: 0 !important;
padding: 0 12px !important;
}
.atc-hero { padding: 50px 20px 100px !important; }
.atc-form-floating { margin-top: -40px !important; padding: 16px !important; }
.atc-fields { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
.atc-field-submit { grid-column: span 2 !important; }
.atc-results-bar { flex-direction: column !important; align-items: stretch !important; }
.atc-state { padding: 40px 20px !important; }
.atc-pax-dropdown { width: calc(100vw - 32px) !important; max-width: 360px !important; }
}
@media (max-width: 480px) {
.atc-fields { grid-template-columns: 1fr !important; }
.atc-field-submit { grid-column: span 1 !important; }
.atc-pax-dropdown {
width: calc(100vw - 24px) !important;
max-width: none !important;
}
.atc-pax-dropdown .pax-field { flex: 1 1 calc(50% - 8px) !important; }
.atc-pax-dropdown .pax-footer-actions { align-items: stretch !important; flex-direction: column !important; }
.atc-pax-dropdown .button-pax-add,
.atc-pax-dropdown .button-pax-confirm { width: 100% !important; }
} .circ-wrapper {
--circ-primary: #1FA3C2 !important;
--circ-primary-dark: #1989A3 !important;
--circ-accent: #1FA3C2 !important;
--circ-accent-dark: #1989A3 !important;
--circ-text: #2c3e50 !important;
--circ-muted: #7f8c8d !important;
--circ-bg: #f4f6f9 !important;
--circ-border: #e8ecef !important;
--circ-success: #27ae60 !important;
--circ-radius: 14px !important;
--circ-shadow: 0 4px 20px rgba(26,35,50,0.08) !important;
--circ-shadow-hover: 0 12px 35px rgba(26,35,50,0.15) !important;
font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif !important;
color: #2c3e50 !important;
max-width: 100% !important;
min-width: 0 !important;
margin: 0 auto !important;
padding: 0 15px !important;
}
.circ-wrapper *, .circ-wrapper *::before, .circ-wrapper *::after {
font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif !important;
font-size: 13px !important;
box-sizing: border-box !important;
}
.circ-wrapper h1, .circ-wrapper h2, .circ-wrapper h3,
.circ-wrapper .circ-hero-title, .circ-wrapper .circ-state h3,
.circ-wrapper .circ-results-count, .circ-wrapper .circ-price-value,
.circ-wrapper .circ-price-currency, .circ-wrapper .circ-illu-icon,
.circ-wrapper .circ-loading-icon, .circ-wrapper .circ-btn-book,
.circ-wrapper .circ-btn-retry, .circ-wrapper .circ-total-price,
.circ-wrapper .circ-card-header-body h4, .circ-wrapper .circ-pax-close,
.circ-wrapper .circ-sort select, .circ-wrapper .circ-btn-add-room,
.circ-wrapper .circ-btn-confirm-pax, .circ-wrapper .circ-pax-arrow,
.circ-wrapper .circ-expand-title .dashicons, .circ-wrapper .circ-dest-header .dashicons,
.circ-wrapper .circ-meta-item .dashicons, .circ-wrapper .circ-room-price-tag,
.circ-wrapper .circ-flight-btn, .circ-wrapper .circ-flight-suppl,
.circ-wrapper .circ-price-from, .circ-wrapper .circ-price-total,
.circ-wrapper .circ-btn-options, .circ-wrapper .circ-expand-title,
.circ-wrapper .circ-dest-header, .circ-wrapper .circ-hotel-name,
.circ-wrapper .circ-hotel-meta, .circ-wrapper .circ-room-name-txt,
.circ-wrapper .circ-room-board-txt, .circ-wrapper .circ-room-status,
.circ-wrapper .circ-flight-label, .circ-wrapper .circ-stage-day-num,
.circ-wrapper .circ-stage-title, .circ-wrapper .circ-stage-meal,
.circ-wrapper .circ-stage-desc, .circ-wrapper .circ-stage-icon,
.circ-wrapper .circ-card-meta, .circ-wrapper .circ-card-desc,
.circ-wrapper .circ-card-subtitle, .circ-wrapper .circ-tag,
.circ-wrapper .circ-services-col-title, .circ-wrapper .circ-service-item,
.circ-wrapper .circ-itin-tab, .circ-wrapper .circ-results-sub,
.circ-wrapper .circ-type-badge, .circ-wrapper .dashicons {
font-size: inherit !important;
}
.circ-wrapper h1, .circ-wrapper .circ-hero-title { font-size: 32px !important; }
.circ-wrapper h2, .circ-wrapper .circ-state h3 { font-size: 24px !important; }
.circ-wrapper h3 { font-size: 18px !important; }
.circ-wrapper h4, .circ-wrapper .circ-card-header-body h4 { font-size: 16px !important; }
.circ-wrapper .circ-price-value { font-size: 28px !important; }
.circ-wrapper .circ-results-count { font-size: 20px !important; }
.circ-wrapper .circ-illu-icon { font-size: 46px !important; }
.circ-wrapper .circ-loading-icon { font-size: 26px !important; }
.circ-wrapper .circ-pax-close { font-size: 20px !important; }
.circ-wrapper .circ-btn-book, .circ-wrapper .circ-btn-retry { font-size: 14px !important; }
.circ-wrapper .circ-total-price { font-size: 16px !important; }
.circ-wrapper .circ-sort select { font-size: 13px !important; }
.circ-wrapper .circ-price-currency { font-size: 13px !important; }
.circ-wrapper .circ-results-sub { font-size: 13px !important; }
.circ-wrapper .circ-room-price-tag { font-size: 13px !important; }
.circ-wrapper .dashicons, .circ-wrapper .dashicons::before { font-size: inherit !important; }
.circ-form-card {
background: #fff !important;
border-radius: 14px !important;
box-shadow: 0 10px 40px rgba(26,35,50,0.12) !important;
padding: 22px !important;
margin: 20px auto 30px !important;
position: relative !important;
z-index: 5 !important;
overflow: visible !important;
}
.circ-field label {
display: flex !important;
align-items: center !important;
gap: 5px !important;
font-weight: 700 !important;
color: #7f8c8d !important;
margin-bottom: 6px !important;
text-transform: uppercase !important;
letter-spacing: 0.5px !important;
}
.circ-pax-arrow { color: #7f8c8d; }
.circ-pax-dropdown {
position: absolute !important;
top: 100%; left: 0 !important;
margin-top: 6px !important;
width: 340px !important;
background: #fff !important;
border: 1px solid #e8ecef !important;
border-radius: 14px !important;
box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
padding: 20px !important;
z-index: 9999 !important;
}
.circ-pax-close { position: absolute; top: 10px; right: 14px; background: none; border: none; cursor: pointer; color: #7f8c8d; }
.circ-pax-footer { display: flex; justify-content: space-between; align-items: center; margin-top: 16px; padding-top: 14px; border-top: 1px solid #e8ecef; }
.circ-btn-add-room { background: none; border: 1px dashed #1FA3C2; color: #1FA3C2; padding: 7px 12px; border-radius: 8px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 4px; }
.circ-btn-confirm-pax { background: #1FA3C2; color: #fff; border: none; padding: 8px 18px; border-radius: 8px; font-weight: 700; cursor: pointer; }
.circ-results-section { margin: 0 0 60px; }
.circ-state { background: #fff; border-radius: 14px; padding: 60px 30px; text-align: center; box-shadow: 0 4px 20px rgba(26,35,50,0.08); }
.circ-state h3 { margin: 22px 0 10px; font-weight: 700; color: #2c3e50; }
.circ-state p { color: #7f8c8d; max-width: 480px; margin: 0 auto; line-height: 1.5; }
.circ-state-results { background: transparent; box-shadow: none; padding: 0; text-align: left; }
.circ-illu { position: relative; width: 120px; height: 120px; margin: 0 auto; }
.circ-illu-circle { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: linear-gradient(135deg, rgba(31,163,194,0.15), rgba(31,163,194,0.12)); border-radius: 50%; animation: circ-pulse 2.5s ease-in-out infinite; }
.circ-illu-warn { background: linear-gradient(135deg, rgba(255,193,7,0.2), rgba(31,163,194,0.15)); }
.circ-illu-icon { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; }
@keyframes circ-pulse { 0%,100% { transform: scale(1); opacity:1; } 50% { transform: scale(1.08); opacity:0.85; } }
.circ-loading-orbit { position: relative; width: 90px; height: 90px; margin: 0 auto 16px; border: 3px dashed #1FA3C2; border-radius: 50%; animation: circ-rotate 3.5s linear infinite; }
.circ-loading-icon { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); }
@keyframes circ-rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.circ-btn-retry { margin-top: 20px; background: #2c3e50; color: #fff; border: none; padding: 12px 24px; border-radius: 50px; font-weight: 600; cursor: pointer; }
.circ-results-bar { display: flex; justify-content: space-between; align-items: center; padding: 0 4px; margin-bottom: 22px; flex-wrap: wrap; gap: 12px; }
.circ-results-info { display: flex; flex-direction: column; gap: 3px; }
.circ-results-count { font-weight: 800; color: #2c3e50; }
.circ-results-count::before { content: '\2726'; color: #1FA3C2; margin-right: 8px; }
.circ-results-sub { color: #7f8c8d; }
.circ-sort { display: flex; align-items: center; gap: 8px; }
.circ-sort label { font-weight: 600; color: #7f8c8d; text-transform: uppercase; }
.circ-sort select { background:#fff; border:1px solid #e8ecef; border-radius:8px; padding:8px 12px; font-weight:600; cursor:pointer; }
.circ-results-list { display: grid; gap: 20px; }
.circ-card { background: #fff; border-radius: 14px; box-shadow: 0 4px 20px rgba(26,35,50,0.08); overflow: hidden; transition: transform 0.3s, box-shadow 0.3s; }
.circ-card:hover { transform: translateY(-3px); box-shadow: 0 12px 35px rgba(26,35,50,0.15); }
.circ-card-header { display: flex; align-items: center; gap: 16px; padding: 16px 20px; border-bottom: 1px solid #e8ecef; background: #f4f6f9; }
.circ-card-header-img { width: 80px; height: 60px; object-fit: cover; border-radius: 8px; flex-shrink: 0; }
.circ-card-header-body { flex: 1; min-width: 0; }
.circ-card-header-body h4 { margin: 4px 0 6px; font-weight: 700; line-height: 1.3; color: #2c3e50; }
.circ-type-badge { display: inline-block; padding: 3px 9px; border-radius: 20px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; }
.circ-type-badge.circuito { background: rgba(31,163,194,0.15); color: #1989A3; }
.circ-type-badge.combinado { background: rgba(31,163,194,0.15); color: #1FA3C2; }
.circ-card-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; color: #7f8c8d; margin-bottom: 0; }
.circ-meta-item { display: flex; align-items: center; gap: 4px; }
.circ-meta-item .dashicons { width: 13px; height: 13px; color: #1FA3C2; }
.circ-card-desc { color: #7f8c8d; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.circ-card-subtitle { color: #1FA3C2; font-weight: 600; margin-bottom: 4px; }
.circ-card-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.circ-tag { display: inline-flex; align-items: center; gap: 3px; padding: 3px 8px; border-radius: 20px; font-weight: 600; background: rgba(31,163,194,0.1); color: #1FA3C2; border: 1px solid rgba(31,163,194,0.2); }
.circ-tag.category { background: rgba(31,163,194,0.1); color: #1FA3C2; border-color: rgba(31,163,194,0.2); }
.circ-services-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.circ-services-col { background: #f4f6f9; border-radius: 10px; padding: 14px 16px; }
.circ-services-col-title { font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 10px; display: flex; align-items: center; gap: 6px; }
.circ-services-col-title.included { color: #27ae60; }
.circ-services-col-title.excluded { color: #e74c3c; }
.circ-service-item { display: flex; align-items: flex-start; gap: 7px; color: #2c3e50; padding: 4px 0; border-bottom: 1px solid #e8ecef; }
.circ-service-item:last-child { border-bottom: none; }
.circ-service-item::before { content: '✓'; color: #27ae60; font-weight: 700; flex-shrink: 0; }
.circ-service-item.excluded::before { content: '✗'; color: #e74c3c; }
.circ-itin-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.circ-itin-tab { padding: 6px 14px; border-radius: 20px; border: 2px solid #e8ecef; background: #fff; font-weight: 600; cursor: pointer; color: #7f8c8d; transition: border-color 0.2s, color 0.2s, background 0.2s; }
.circ-itin-tab.active { border-color: #1FA3C2; background: rgba(31,163,194,0.08); color: #1FA3C2; }
.circ-itin-panel { display: none !important; }
.circ-itin-panel.active { display: block !important; }
.circ-stage { display: grid; grid-template-columns: 52px 1fr; gap: 0; margin-bottom: 0; }
.circ-stage:not(:last-child) > .circ-stage-day { border-bottom: none; }
.circ-stage-day { text-align: center; padding: 14px 4px 14px; }
.circ-stage-day-num { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg, #1FA3C2, #1989A3); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; margin: 0 auto 4px; }
.circ-stage-day-line { width: 2px; background: #e8ecef; flex: 1; margin: 0 auto; min-height: 20px; }
.circ-stage-body { padding: 12px 14px 12px 10px; border-left: none; display: flex; gap: 10px; align-items: flex-start; }
.circ-stage-body-text { flex: 1; min-width: 0; }
.circ-stage-title { font-weight: 700; color: #2c3e50; margin-bottom: 3px; }
.circ-stage-meal { color: #7f8c8d; margin-bottom: 6px; }
.circ-stage-desc { color: #7f8c8d; line-height: 1.4; }
.circ-stage-icons { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 5px; }
.circ-stage-icon { display: flex; align-items: center; gap: 3px; color: #7f8c8d; background: #f4f6f9; border-radius: 6px; padding: 2px 7px; }
.circ-stage-img { width: 96px !important; height: 64px !important; object-fit: cover !important; border-radius: 6px !important; flex-shrink: 0 !important; display: block !important; }
@media (max-width: 600px) { .circ-services-grid { grid-template-columns: 1fr; } }
.circ-card-action { padding: 20px; background: linear-gradient(135deg, #fafbfc, #f4f6f9); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border-left: 1px solid #e8ecef; gap: 6px; }
.circ-price-from { color: #7f8c8d; text-transform: uppercase; letter-spacing: 0.5px; font-weight: 600; }
.circ-price-tag { display: flex; align-items: baseline; gap: 2px; line-height: 1; }
.circ-price-value { font-weight: 800; background: linear-gradient(135deg, #1FA3C2, #1989A3); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.circ-price-currency { font-weight: 700; color: #1FA3C2; }
.circ-price-total { color: #7f8c8d; margin: 2px 0 8px; }
.circ-price-total strong { color: #2c3e50; }
.circ-btn-options { background: linear-gradient(135deg, #1FA3C2, #1989A3); color: #fff; border: none; padding: 10px 18px; border-radius: 50px; font-weight: 700; cursor: pointer; display: flex; align-items: center; gap: 6px; text-transform: uppercase; letter-spacing: 0.4px; transition: transform 0.2s, box-shadow 0.2s; box-shadow: 0 4px 14px rgba(31,163,194,0.35); white-space: nowrap; }
.circ-btn-options:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(31,163,194,0.5); }
.circ-card-expand { padding: 24px !important; display: block !important; animation: circ-fade-in 0.3s ease !important; }
@keyframes circ-fade-in { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }
.circ-expand-section { margin-bottom: 20px; }
.circ-expand-section:last-child { margin-bottom: 0; }
.circ-expand-title { font-weight: 700; text-transform: uppercase; letter-spacing: 0.7px; color: #7f8c8d; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.circ-expand-title::after { content: ''; flex: 1; height: 1px; background: #e8ecef; }
.circ-expand-title .dashicons { width: 15px; height: 15px; }
.circ-product-description { font-size: 13px; line-height: 1.6; color: #2c3e50; background: #f4f6f9; border-radius: 8px; padding: 14px 16px; }
.circ-dest-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.circ-dest-block { background: #f4f6f9; border-radius: 10px; padding: 14px 16px; }
.circ-dest-header { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-weight: 700; color: #1FA3C2; }
.circ-dest-header .dashicons { width: 16px; height: 16px; }
.circ-dest-tabs { display: flex; flex-wrap: wrap; gap: 0; margin-bottom: 14px; border-bottom: 2px solid #e8ecef; }
.circ-dest-tab { display: inline-flex; align-items: center; gap: 6px; padding: 10px 18px; border: none; background: transparent; color: #7f8c8d; font-weight: 600; font-size: 13px; cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px; transition: all 0.15s; }
.circ-dest-tab:hover { color: #1FA3C2; background: rgba(31,163,194,0.04); }
.circ-dest-tab.active { color: #1FA3C2; border-bottom-color: #1FA3C2; }
.circ-dest-tab.needs-selection { color: #e67e22; }
.circ-dest-tab.needs-selection::after { content: ' *'; color: #e74c3c; font-weight: 700; }
.circ-dest-tab.has-selection::after { content: ' \2713'; color: #27ae60; font-weight: 700; font-size: 12px; }
.circ-dest-tab .dashicons { width: 15px; height: 15px; }
.circ-dest-panel { display: none; }
.circ-dest-panel.active { display: block; }
.circ-hotel-block { margin-bottom: 16px; background: #fff; border-radius: 10px; padding: 14px; border: 1px solid #e8ecef; display: flex; gap: 16px; align-items: flex-start; transition: border-color 0.18s, box-shadow 0.18s; }
.circ-hotel-block:last-child { margin-bottom: 0; }
.circ-hotel-photo { flex-shrink: 0; }
.circ-hotel-info { flex: 1; min-width: 0; }
.circ-hotel-selectable { border: 2px solid transparent !important; transition: border-color 0.18s, box-shadow 0.18s !important; cursor: pointer !important; }
.circ-hotel-selectable:hover { border-color: #1FA3C2 !important; box-shadow: 0 0 0 3px rgba(31,163,194,0.12) !important; }
.circ-hotel-selected { border-color: #1FA3C2 !important; box-shadow: 0 0 0 4px rgba(31,163,194,0.18) !important; background: #f0fafd !important; }
.circ-hotel-radio { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.circ-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 99999; display: none; align-items: center; justify-content: center; }
.circ-modal-box { background: #fff; border-radius: 14px; padding: 30px 28px; max-width: 420px; width: 90%; text-align: center; box-shadow: 0 8px 40px rgba(0,0,0,0.25); animation: circ-modal-pop .3s ease; }
@keyframes circ-modal-pop { 0% { transform: scale(0.85); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
.circ-modal-icon { margin-bottom: 14px; }
.circ-modal-icon .dashicons { font-size: 48px; width: 48px; height: 48px; color: #f39c12; }
.circ-modal-title { font-size: 20px; font-weight: 800; color: #2c3e50; margin-bottom: 10px; }
.circ-modal-msg { color: #5a6c7d; line-height: 1.6; margin-bottom: 22px; font-size: 14px; }
.circ-modal-btn { background: #1FA3C2; color: #fff; border: none; border-radius: 50px; padding: 10px 28px; font-weight: 700; font-size: 14px; cursor: pointer; transition: background 0.2s; }
.circ-modal-btn:hover { background: #178aa8; }
.circ-hotel-name-line { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; flex-wrap: wrap; }
.circ-hotel-name { font-weight: 700; color: #2c3e50; line-height: 1.3; }
.circ-hotel-stars { font-weight: 600; color: #f39c12; white-space: nowrap; }
.circ-hotel-cat { color: #999; font-size: 12px; font-weight: 400; }
.circ-hotel-thumb { width: 160px !important; min-width: 160px; height: auto !important; aspect-ratio: 16 / 9 !important; object-fit: cover !important; border-radius: 0 !important; display: block !important; flex-shrink: 0; }
.circ-hotel-dates { color: #7f8c8d; margin-bottom: 10px; }
.circ-hotel-options { display: flex; flex-direction: column; gap: 4px; }
.circ-room-opt { display: grid; grid-template-columns: 1fr auto auto auto; align-items: center; gap: 8px; padding: 7px 10px; border-radius: 8px; cursor: pointer; transition: background 0.15s; border: 2px solid transparent; background: #fff; }
.circ-room-opt:hover { background: rgba(31,163,194,0.06); }
.circ-room-opt.selected { background: rgba(39,174,96,0.08); }
.circ-room-opt input[type="radio"] { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.circ-room-info { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.circ-room-name-txt { font-weight: 600; color: #2c3e50; }
.circ-room-board-txt { color: #7f8c8d; }
.circ-room-status { color: #7f8c8d; }
.circ-room-price-tag { font-weight: 700 !important; color: #1FA3C2 !important; white-space: nowrap !important; }
.circ-room-select-btn { background: #1FA3C2; color: #fff; border: none; border-radius: 20px; padding: 4px 12px; font-weight: 700; cursor: pointer; white-space: nowrap; transition: background 0.2s; pointer-events: none; }
.circ-room-opt.selected .circ-room-select-btn { background: #27ae60; }
.circ-room-opt.selected .circ-room-select-btn::before { content: '✓ '; }
.circ-room-price-tag.included { color: #27ae60 !important; background: rgba(39,174,96,0.1) !important; border: 1px solid rgba(39,174,96,0.3) !important; border-radius: 20px !important; padding: 2px 10px !important; font-weight: 700 !important; }
.circ-flights-list { display: flex; flex-wrap: wrap; gap: 8px; }
.circ-flight-btn { padding: 8px 14px; border-radius: 8px; border: 2px solid #e8ecef; background: #fff; font-weight: 600; cursor: pointer; transition: border-color 0.2s, background 0.2s; color: #2c3e50; display: flex; flex-direction: column; gap: 2px; align-items: flex-start; }
.circ-flight-btn:hover { border-color: #1FA3C2; background: rgba(31,163,194,0.05); }
.circ-flight-btn.selected { border-color: #1FA3C2; background: rgba(31,163,194,0.08); }
.circ-flight-label { color: #2c3e50; font-weight: 600; }
.circ-flight-suppl { font-weight: 700; color: #1FA3C2; }
.circ-flight-suppl.free { color: #27ae60; }
.circ-expand-footer { margin-top: 20px; padding-top: 16px; border-top: 1px solid #e8ecef; display: flex; align-items: center; justify-content: flex-end; gap: 16px; flex-wrap: wrap; }
.circ-total-price { font-weight: 800; color: #2c3e50; }
.circ-total-price span { color: #1FA3C2; }
.circ-btn-book { background: linear-gradient(135deg, #1FA3C2, #1989A3); color: #fff; border: none; padding: 12px 28px; border-radius: 50px; font-weight: 700; cursor: pointer; text-transform: uppercase; letter-spacing: 0.5px; transition: transform 0.2s, box-shadow 0.2s; box-shadow: 0 4px 14px rgba(31,163,194,0.35); display: flex; align-items: center; gap: 8px; }
.circ-btn-book:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(31,163,194,0.5); }
@media (max-width: 900px) {
.circ-card-main { grid-template-columns: 1fr; }
.circ-card-thumb { min-height: 180px; }
.circ-card-action { border-left: none; border-top: 1px solid #e8ecef; flex-direction: row; justify-content: space-between; flex-wrap: wrap; padding: 16px 20px; }
.circ-price-from { display: none; }
.circ-dest-grid { grid-template-columns: 1fr; }
.circ-dest-tabs { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.circ-dest-tab { white-space: nowrap; flex-shrink: 0; }
}
@media (max-width: 600px) {
.circ-results-bar { flex-direction: column; align-items: stretch; }
.circ-state { padding: 40px 20px; }
.circ-card-expand { padding: 16px; }
.circ-expand-footer { justify-content: center; }
.circ-pax-dropdown { width: calc(100vw - 32px) !important; left: 0 !important; right: 0 !important; }
.comb-pax-dropdown { width: calc(100vw - 32px) !important; left: 0 !important; right: 0 !important; }
.circ-modal-box { padding: 24px 20px !important; max-width: 90% !important; }
} .circ-book-modal-overlay {
position: fixed; top: 0; right: 0; bottom: 0; left: 0; background: rgba(0,0,0,0.55) !important;
z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 16px !important;
}
.circ-book-modal-box {
background: #fff; border-radius: 16px; padding: 28px 28px 22px !important;
max-width: 480px; width: 100%; position: relative !important;
box-shadow: 0 12px 48px rgba(0,0,0,0.22) !important;
}
.circ-book-modal-close {
position: absolute; top: 14px; right: 16px; background: none; border: none !important;
cursor: pointer; color: #888; line-height: 1 !important;
}
.circ-book-modal-close:hover { color: #333; }
.circ-book-modal-title {
font-weight: 800; color: #1FA3C2 !important;
display: flex; align-items: center; gap: 8px; margin-bottom: 18px !important;
}
.circ-book-modal-pkg {
background: #f5fafd; border-radius: 10px; padding: 14px 16px; margin-bottom: 14px !important;
}
.circ-book-modal-name {
font-weight: 700; color: #1a2d3e; margin-bottom: 8px !important;
}
.circ-book-modal-meta {
display: flex; flex-wrap: wrap; gap: 8px; color: #555; margin-bottom: 8px !important;
}
.circ-book-modal-hotels { margin-top: 8px; }
.circ-book-modal-hotel { color: #2a5f7a; padding: 3px 0; }
.circ-book-modal-info {
color: #666; text-align: center; margin-bottom: 16px; line-height: 1.5 !important;
}
.circ-book-modal-actions {
display: flex; gap: 10px; justify-content: center; flex-wrap: wrap !important;
}
.circ-book-modal-wa {
background: #25d366; color: #fff; text-decoration: none !important;
padding: 11px 22px; border-radius: 50px; font-weight: 700;
display: flex; align-items: center; gap: 7px !important;
}
.circ-book-modal-wa:hover { background: #1db854; color: #fff; }
.circ-book-modal-email {
background: #1FA3C2; color: #fff; text-decoration: none !important;
padding: 11px 22px; border-radius: 50px; font-weight: 700;
display: flex; align-items: center; gap: 7px !important;
}
.circ-book-modal-email:hover { background: #1989A3; color: #fff; } .circ-book-modal-loading {
text-align: center; padding: 32px 0; color: #666;
display: flex; align-items: center; justify-content: center; gap: 10px !important;
}
.circ-book-modal-error {
background: #fff0f0; border: 1px solid #ffc0c0; border-radius: 8px !important;
padding: 14px 16px; color: #c0392b;
display: flex; align-items: center; gap: 8px; margin: 12px 0 !important;
}
@keyframes circ-spin { to { transform: rotate(360deg); } }
.circ-spin { display: inline-block; animation: circ-spin 1s linear infinite; } .circ-book-price-confirmed {
display: flex; align-items: center; justify-content: space-between;
background: #eef9f0; border: 1px solid #b8e6c0; border-radius: 8px;
padding: 12px 16px; margin: 12px 0; font-weight: 700;
}
.circ-book-price-label { color: #2e7d32; }
.circ-book-price-val   { color: #1b5e20; } .circ-book-policies {
background: #fffbe6; border: 1px solid #ffe082; border-radius: 8px !important;
padding: 10px 14px; margin: 10px 0 !important;
}
.circ-book-policies-title {
font-weight: 700; color: #f57f17 !important;
display: flex; align-items: center; gap: 5px; margin-bottom: 6px !important;
}
.circ-book-policy-row {
display: flex; justify-content: space-between; color: #555 !important;
padding: 3px 0; border-bottom: 1px solid #fff9c4 !important;
}
.circ-book-policy-row:last-child { border-bottom: none; }
.circ-book-policy-date   { font-weight: 600; } .circ-book-section-title {
font-weight: 800; color: #1FA3C2 !important;
display: flex; align-items: center; gap: 6px; margin: 14px 0 8px !important;
border-top: 1px solid #e8ecef; padding-top: 12px !important;
}
.circ-book-pax-block   { margin-bottom: 14px; }
.circ-book-pax-title   { font-weight: 700; color: #555; margin-bottom: 6px; }
.circ-book-pax-fields  { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.circ-book-input {
width: 100%; padding: 8px 10px; border: 1px solid #e8ecef !important;
border-radius: 6px; box-sizing: border-box !important;
outline: none; transition: border-color 0.2s !important;
}
.circ-book-input:focus { border-color: #1FA3C2; }
.circ-book-submit {
background: #1FA3C2; color: #fff; border: none !important;
padding: 12px 28px; border-radius: 50px; font-weight: 700 !important;
cursor: pointer; display: flex; align-items: center; gap: 8px !important;
transition: background 0.2s !important;
}
.circ-book-submit:hover { background: #1989A3; } .circ-book-success {
text-align: center; padding: 24px 0 !important;
}
.circ-book-success-icon {
width: 48px; height: 48px; color: #2e7d32; margin-bottom: 10px !important;
}
.circ-book-success-title {
font-weight: 800; color: #1b5e20; margin-bottom: 8px !important;
}
.circ-book-success-ref   { color: #333; margin-bottom: 6px; }
.circ-book-success-price { font-weight: 800; color: #1FA3C2; margin-bottom: 8px; }
.circ-book-success-info  { color: #666; }
.circ-book-success-section { text-align: left; margin: 16px 20px; padding: 12px 14px; background: #f8f9fa; border-radius: 8px; border: 1px solid #e9ecef; }
.circ-book-success-section-title { font-weight: 700; color: #1FA3C2; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.3px; }
.circ-book-success-row { color: #444; padding: 5px 0; border-bottom: 1px solid #e9ecef; }
.circ-book-success-row:last-child { border-bottom: none; } .circ-expand-topbar {
display: flex !important;
align-items: center !important;
justify-content: space-between !important;
background: #1FA3C2 !important;
border-radius: 10px !important;
padding: 12px 18px !important;
margin-bottom: 16px !important;
gap: 12px !important;
}
.circ-expand-topbar .circ-total-price {
color: #fff !important;
font-weight: 700 !important;
margin: 0 !important;
}
.circ-expand-topbar .circ-total-price span { color: #fff !important; }
.circ-expand-topbar .circ-btn-book {
background: #fff !important;
color: #1FA3C2 !important;
border: none !important;
border-radius: 7px !important;
padding: 8px 18px !important;
font-weight: 800 !important;
font-size: 13px !important;
cursor: pointer !important;
display: flex !important;
align-items: center !important;
gap: 6px !important;
white-space: nowrap !important;
}
.circ-expand-topbar .circ-btn-book:hover {
background: #e8f7fb !important;
} .circ-price-detail-table { width: 100% !important; border-collapse: collapse !important; font-size: 13px !important; }
.circ-price-detail-table th { background: #f4f6f9 !important; padding: 7px 10px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.4px !important; color: #7f8c8d !important; border-bottom: 2px solid #e8ecef !important; }
.circ-price-detail-table td { padding: 7px 10px !important; border-bottom: 1px solid #e8ecef !important; vertical-align: middle !important; }
.circ-price-detail-table tfoot td { border-top: 2px solid #e8ecef !important; border-bottom: none !important; background: #f4f6f9 !important; padding: 8px 10px !important; }
.circ-price-detail-table tfoot strong { font-size: 13px !important; color: #2c3e50 !important; } .circ-comp-nights-wrap { flex-direction: column !important; gap: 8px !important; }
.circ-comp-nights-inner { display: flex !important; flex-direction: column !important; gap: 8px !important; }
.circ-comp-night-row { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; background: #f4f6f9 !important; border-radius: 8px !important; padding: 8px 12px !important; border: 1px solid #e8ecef !important; }
.circ-comp-night-label { font-size: 13px !important; font-weight: 600 !important; color: #2c3e50 !important; flex: 1 !important; }
.circ-comp-night-controls { display: flex !important; align-items: center !important; gap: 8px !important; }
.circ-comp-night-btn { width: 28px !important; height: 28px !important; border-radius: 50% !important; border: 1px solid #e8ecef !important; background: #fff !important; color: #2c3e50 !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; line-height: 1 !important; padding: 0 !important; }
.circ-comp-night-btn:hover { background: #1FA3C2 !important; color: #fff !important; border-color: #1FA3C2 !important; }
.circ-comp-night-val { font-weight: 700 !important; min-width: 24px !important; text-align: center !important; color: #2c3e50 !important; }
.circ-comp-night-meta { color: #7f8c8d !important; }
.circ-comp-nights-total { font-size: 13px !important; color: #7f8c8d !important; padding: 4px 0 !important; }
.circ-comp-nights-total strong { color: #1FA3C2 !important; }
.circ-comp-nights-hint { margin-left: 6px !important; color: #e74c3c !important; font-weight: 600 !important; }
.circ-comp-nights-hint.ok { color: #27ae60 !important; } .circ-room-hidden { display: none !important; visibility: hidden !important; max-height: 0 !important; overflow: hidden !important; margin: 0 !important; padding: 0 !important; border: none !important; }
.circ-rooms-toggle {
width: 100% !important;
background: none !important;
border: 1px dashed #e8ecef !important;
border-radius: 6px !important;
color: #1FA3C2 !important;
font-weight: 600 !important;
padding: 5px 10px !important;
cursor: pointer !important;
margin-top: 4px !important;
display: flex !important;
align-items: center !important;
gap: 4px !important;
}
.circ-rooms-toggle:hover { background: #f0fafd; } .circ-stage-img-sm {
display: block !important;
height: 64px !important;
width: 96px !important;
object-fit: cover !important;
border-radius: 6px !important;
flex-shrink: 0 !important;
margin-top: 4px !important;
} .circ-flt-baggage {
display: inline-flex !important;
align-items: center !important;
gap: 3px !important;
background: #eef9f0 !important;
border: 1px solid #b8e6c0 !important;
border-radius: 4px !important;
padding: 1px 7px !important;
font-weight: 600 !important;
color: #2e7d32 !important;
}
.circ-flt-baggage .dashicons { width: 13px; height: 13px; } .circ-flight-detail-grid {
display: grid !important;
grid-template-columns: 1fr !important;
gap: 12px !important;
margin-bottom: 6px !important;
}
.circ-flt-row {
display: flex !important;
align-items: flex-start !important;
gap: 14px !important;
background: #f8fbfd !important;
border: 1px solid #daedf5 !important;
border-radius: 12px !important;
padding: 16px 18px !important;
}
.circ-flt-row.inbound {
background: #f8f4fd !important;
border-color: #e0d5f5 !important;
}
.circ-flt-type {
font-weight: 800 !important;
text-transform: uppercase !important;
letter-spacing: 0.5px !important;
color: #fff !important;
background: #1FA3C2 !important;
border-radius: 6px !important;
padding: 4px 10px !important;
white-space: nowrap !important;
margin-top: 2px !important;
flex-shrink: 0 !important;
}
.circ-flt-type.inbound { background: #8e44ad; }
.circ-flt-main { flex: 1; min-width: 0; }
.circ-flt-route {
display: flex !important;
align-items: center !important;
gap: 10px !important;
font-weight: 800 !important;
color: #2c3e50 !important;
flex-wrap: wrap !important;
}
.circ-flt-arrow { color: #1FA3C2; }
.circ-flt-loc { letter-spacing: 0.5px; }
.circ-flt-times {
display: flex !important;
align-items: center !important;
gap: 8px !important;
margin-top: 6px !important;
font-size: 13px !important;
color: #7f8c8d !important;
flex-wrap: wrap !important;
}
.circ-flt-time { font-weight: 600; color: #2c3e50; }
.circ-flt-time-sep { color: #7f8c8d; }
.circ-flt-airline {
display: flex !important;
align-items: center !important;
gap: 10px !important;
margin-top: 7px !important;
color: #7f8c8d !important;
}
.circ-flt-num {
background: #f4f6f9 !important;
border: 1px solid #e8ecef !important;
border-radius: 4px !important;
padding: 2px 8px !important;
font-weight: 700 !important;
color: #2c3e50 !important;
letter-spacing: 0.3px !important;
}
.circ-flt-date {
color: #5d6d7e !important;
font-weight: 600 !important;
margin-top: 3px !important;
} @media (max-width: 768px) {
.circ-flt-row { padding: 14px 14px !important; gap: 10px !important; }
.circ-flt-route { gap: 8px !important; }
.circ-flt-times { gap: 6px !important; }
.circ-flt-airline { gap: 8px !important; }
}
@media (max-width: 600px) {
.circ-flight-detail-grid { gap: 8px !important; }
.circ-flt-row {
flex-direction: column !important;
gap: 8px !important;
padding: 12px !important;
}
.circ-flt-type { margin-top: 0 !important; align-self: flex-start !important; }
.circ-flt-airline { flex-wrap: wrap !important; gap: 6px !important; }
.circ-flt-num { padding: 2px 6px !important; }
.circ-hotel-block { flex-direction: column !important; }
.circ-hotel-thumb { width: 100% !important; min-width: 0; height: auto !important; }
.circ-hotel-photo { width: 100%; }
}
@media (max-width: 480px) {
.circ-flt-row { padding: 10px !important; border-radius: 10px !important; }
.circ-flt-route { font-size: 13px !important; gap: 6px !important; }
.circ-flt-times { gap: 4px !important; }
} .circ-fp-price {
display: block !important;
font-weight: 700 !important;
color: #1FA3C2 !important;
line-height: 1 !important;
margin-top: 1px !important;
text-align: center !important;
letter-spacing: -0.3px !important;
}
.circ-fp-consult {
color: #1FA3C2 !important;
}
.flatpickr-day.selected .circ-fp-price,
.flatpickr-day.startRange .circ-fp-price {
color: #fff !important;
} .atc-results-layout {
display: flex !important;
gap: 20px !important;
align-items: flex-start !important;
width: 100% !important;
}
.atc-filter-sidebar {
flex: 0 0 260px !important;
width: 260px !important;
background: #fff !important;
border: 1px solid #e8ecef !important;
border-radius: 14px !important;
padding: 20px 18px !important;
box-shadow: 0 4px 20px rgba(26,35,50,0.06) !important;
position: -webkit-sticky !important;
position: sticky !important;
top: 20px !important;
max-height: calc(100vh - 40px) !important;
max-height: calc(100dvh - 40px) !important;
overflow-y: auto !important;
}
.atc-filter-header {
display: flex !important;
justify-content: space-between !important;
align-items: center !important;
margin-bottom: 18px !important;
padding-bottom: 12px !important;
border-bottom: 1px solid #eef1f4 !important;
}
.atc-filter-header h3 {
font-size: 15px !important;
font-weight: 800 !important;
color: #2c3e50 !important;
margin: 0 !important;
}
.atc-filter-clear {
background: none !important;
border: none !important;
color: #1FA3C2 !important;
font-size: 11px !important;
font-weight: 600 !important;
cursor: pointer !important;
padding: 0 !important;
text-decoration: underline !important;
}
.atc-filter-clear:hover {
color: #1989A3 !important;
}
.atc-filter-section {
margin-bottom: 18px !important;
}
.atc-filter-section:last-child {
margin-bottom: 0 !important;
}
.atc-filter-label {
display: block !important;
font-size: 12px !important;
font-weight: 700 !important;
color: #2c3e50 !important;
text-transform: uppercase !important;
letter-spacing: 0.3px !important;
margin-bottom: 8px !important;
}
.atc-filter-input {
width: 100% !important;
padding: 8px 12px !important;
border: 1px solid #e8ecef !important;
border-radius: 8px !important;
font-size: 13px !important;
color: #2c3e50 !important;
outline: none !important;
box-sizing: border-box !important;
}
.atc-filter-input:focus {
border-color: #1FA3C2 !important;
box-shadow: 0 0 0 3px rgba(31,163,194,0.12) !important;
}
.atc-filter-stars, .atc-filter-boards {
display: flex !important;
flex-direction: column !important;
gap: 6px !important;
}
.atc-filter-check {
display: flex !important;
align-items: center !important;
gap: 8px !important;
cursor: pointer !important;
font-size: 13px !important;
color: #2c3e50 !important;
padding: 4px 0 !important;
}
.atc-filter-check input[type="checkbox"] {
width: 16px !important;
height: 16px !important;
accent-color: #1FA3C2 !important;
cursor: pointer !important;
flex-shrink: 0 !important;
}
.atc-filter-check .atc-filter-star-icons {
color: #f5a623 !important;
font-size: 12px !important;
letter-spacing: 1px !important;
}
.atc-filter-range {
width: 100% !important;
accent-color: #1FA3C2 !important;
cursor: pointer !important;
margin: 6px 0 4px !important;
}
.atc-filter-price-display {
display: block !important;
font-size: 13px !important;
font-weight: 700 !important;
color: #1FA3C2 !important;
text-align: right !important;
}
.atc-results-main {
flex: 1 1 0 !important;
min-width: 0 !important;
}
.atc-no-filter-results {
text-align: center !important;
padding: 48px 24px !important;
color: #64748b !important;
font-size: 15px !important;
line-height: 1.6 !important;
background: #fff !important;
border-radius: 14px !important;
border: 1px solid #e8ecef !important;
margin-top: 16px !important;
} @media (max-width: 900px) {
.atc-results-layout {
flex-direction: column !important; align-items: stretch !important;
}
.atc-results-main {
width: 100% !important;
max-width: 100% !important;
} .atc-results-list .atc-search-progress-bar {
width: 100% !important;
padding: 16px 18px !important;
}
.atc-filter-sidebar {
flex: 0 0 auto !important;
width: 100% !important;
position: relative !important;
top: 0 !important;
max-height: none !important;
order: -1 !important;
}
}
@media (max-width: 480px) {
.atc-filter-sidebar {
padding: 16px 14px !important;
}
.atc-filter-header h3 {
font-size: 14px !important;
}
} .comb-wrapper{--cp:#1FA3C2;--ca:#1FA3C2;--cad:#1989A3;--ct:#2c3e50;--cm:#7f8c8d;--cbg:#f4f6f9;--cbr:#e8ecef;--cs:#27ae60;--cr:14px;--csh:0 4px 20px rgba(26,35,50,.08);font-family:'Segoe UI',-apple-system,sans-serif!important;color:#2c3e50!important;max-width:100%!important;width:100%!important;min-width:0!important;margin:0 auto!important;padding:0 15px!important;overflow-x:hidden!important;box-sizing:border-box!important}
.comb-wrapper *,.comb-wrapper *::before,.comb-wrapper *::after{font-family:'Segoe UI',-apple-system,sans-serif!important;font-size:13px!important;box-sizing:border-box!important}
.comb-wrapper h1,.comb-wrapper h2,.comb-wrapper h3,.comb-wrapper h4,.comb-wrapper h5,
.comb-wrapper .comb-hero-title,.comb-wrapper .atc-price-total,.comb-wrapper .atc-price-per-person,
.comb-wrapper .atc-price-label,.comb-wrapper .atc-back-btn,.comb-wrapper .r-btn-primary,
.comb-wrapper .r-btn-secondary,.comb-wrapper .comb-btn-refresh,.comb-wrapper .cbm-success-icon,
.comb-wrapper .cbm-success-title,.comb-wrapper .cbm-success-price,.comb-wrapper .cbm-success-ref strong,
.comb-wrapper .atc-results-count,.comb-wrapper .atc-progress-label,
.comb-wrapper .atc-btn-search,.comb-wrapper .atc-illu-icon,
.comb-wrapper .atc-airport-code,.comb-wrapper .atc-arrow-icon,.comb-wrapper .atc-hotel-name,
.comb-wrapper .atc-detail-stars,.comb-wrapper .atc-total-price,.comb-wrapper .atc-mf-price,
.comb-wrapper .atc-hotel-fallback,.comb-wrapper .atc-flight-airline,.comb-wrapper .atc-flight-time,
.comb-wrapper .atc-value,.comb-wrapper .atc-cache-expiry-text,.comb-wrapper .atc-results-sub,
.comb-wrapper .atc-sort select,.comb-wrapper .atc-field .form-control,.comb-wrapper .atc-pax-trigger,
.comb-wrapper .atc-field label,.comb-wrapper .comb-fp-price,.comb-wrapper .r-excursion-price-note,
.comb-wrapper .r-section h4,.comb-wrapper .fo-section h5,.comb-wrapper .atc-flight-direction h5,
.comb-wrapper .dashicons{font-size:inherit!important}
.comb-wrapper h1,.comb-wrapper .comb-hero-title{font-size:32px!important}
.comb-wrapper h2{font-size:24px!important}
.comb-wrapper h3{font-size:18px!important}
.comb-wrapper h4,.comb-wrapper .r-section h4{font-size:16px!important}
.comb-wrapper h5,.comb-wrapper .fo-section h5,.comb-wrapper .atc-flight-direction h5{font-size:14px!important}
.comb-wrapper .atc-price-total{font-size:32px!important}
.comb-wrapper .atc-results-count{font-size:20px!important}
.comb-wrapper .atc-airport-code,.comb-wrapper .atc-arrow-icon{font-size:20px!important}
.comb-wrapper .atc-hotel-name{font-size:16px!important}
.comb-wrapper .atc-detail-stars{font-size:16px!important}
.comb-wrapper .atc-total-price{font-size:16px!important}
.comb-wrapper .atc-mf-price{font-size:14px!important}
.comb-wrapper .atc-hotel-fallback{font-size:16px!important}
.comb-wrapper .cbm-success-ref strong{font-size:16px!important}
.comb-wrapper .atc-btn-search,.comb-wrapper .r-btn-primary,.comb-wrapper .r-btn-secondary,
.comb-wrapper .atc-back-btn,.comb-wrapper .comb-btn-refresh{font-size:14px!important}
.comb-wrapper .atc-illu-icon{font-size:46px!important}
.comb-wrapper .cbm-success-icon{font-size:48px!important}
.comb-wrapper .cbm-success-price{font-size:24px!important}
.comb-wrapper .cbm-success-title{font-size:20px!important}
.comb-wrapper .atc-price-per-person{font-size:13px!important}
.comb-wrapper .atc-price-label{font-size:13px!important}
.comb-wrapper .atc-cache-expiry-text{font-size:13px!important}
.comb-wrapper .atc-progress-label{font-size:13px!important}
.comb-wrapper .atc-results-sub{font-size:13px!important}
.comb-wrapper .atc-sort select{font-size:13px!important}
.comb-wrapper .atc-field .form-control,.comb-wrapper .atc-pax-trigger{font-size:14px!important}
.comb-wrapper .atc-field label{font-size:11px!important}
.comb-wrapper .comb-fp-price{font-size:10px!important}
.comb-wrapper .r-excursion-price-note{font-size:11px!important}
.comb-wrapper .atc-value{font-size:13px!important}
.comb-wrapper .atc-flight-time{font-size:13px!important}
.comb-wrapper .atc-flight-airline{font-size:13px!important}
.comb-wrapper .dashicons,.comb-wrapper .dashicons::before{font-size:inherit!important}
.comb-wrapper img,.comb-wrapper table,.comb-wrapper video,.comb-wrapper iframe{max-width:100%!important;height:auto}
@media(max-width:600px){.comb-wrapper{padding:0 8px!important}}
.comb-hero{margin-bottom:16px}
.comb-hero-title{font-weight:800!important;color:#2c3e50!important;margin:0!important}
.comb-form-card{background:#fff!important;border-radius:14px!important;box-shadow:0 10px 40px rgba(26,35,50,.12)!important;padding:22px!important;margin:0 auto 30px!important;position:relative!important;z-index:5!important;overflow:visible!important}
.comb-pax-dropdown{position:absolute!important;top:100%;left:0!important;margin-top:6px!important;width:320px!important;background:#fff!important;border:1px solid #e8ecef!important;border-radius:14px!important;box-shadow:0 10px 30px rgba(0,0,0,.15)!important;padding:20px!important;z-index:9999!important}
.comb-state{background:#fff;border-radius:14px;padding:60px 20px;text-align:center;box-shadow:0 4px 20px rgba(26,35,50,0.08)}
.comb-state h3{margin:22px 0 10px;font-weight:700;color:#2c3e50}
.comb-state p{color:#7f8c8d;max-width:520px;margin:0 auto;line-height:1.5}
.comb-illu{position:relative;width:120px;height:120px;margin:0 auto}
.comb-illu-circle{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(31,163,194,.15),rgba(31,163,194,.12));border-radius:50%;animation:comb-pulse 2.5s ease-in-out infinite}
.comb-illu-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;}
@keyframes comb-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.85}}
.comb-loading-orbit{position:relative;width:90px;height:90px;margin:0 auto 16px;border:3px dashed #1FA3C2;border-radius:50%;animation:comb-rotate 3.5s linear infinite}
.comb-loading-icon{position:absolute;top:-14px;left:50%;transform:translateX(-50%);}
@keyframes comb-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(max-width:480px){
.comb-state p{max-width:100%;word-wrap:break-word;hyphens:auto;padding:0 4px}
.comb-illu{width:90px;height:90px}
.comb-loading-orbit{width:72px;height:72px}
.comb-loading-icon{top:-12px;}
}
.comb-results-bar{display:flex;justify-content:space-between;align-items:center;padding:0 4px;margin-bottom:22px;flex-wrap:wrap;gap:12px}
.comb-results-count{font-weight:800;color:#2c3e50}
.comb-results-count::before{content:'\2726';color:#1FA3C2;margin-right:8px}
.comb-results-list{display:grid;gap:20px}
.comb-card{background:#fff;border-radius:14px;box-shadow:0 4px 20px rgba(26,35,50,0.08);overflow:hidden;transition:transform .3s,box-shadow .3s;max-width:100%;box-sizing:border-box}
.comb-card:hover{transform:translateY(-3px);box-shadow:0 12px 35px rgba(26,35,50,.15)}
.comb-expand-topbar{display:flex!important;align-items:center!important;justify-content:space-between!important;background:#1FA3C2!important;border-radius:10px!important;padding:12px 18px!important;margin-bottom:16px!important;gap:12px!important;flex-wrap:wrap!important}
.comb-expand-topbar .comb-total-price{color:#fff!important;font-weight:700!important;margin:0!important}
.comb-price-disclaimer{color:#fff!important;font-weight:500!important;opacity:.85!important;margin-top:3px!important}
.comb-expand-topbar .comb-btn-book{background:#fff!important;color:#1FA3C2!important;border:none!important;border-radius:7px!important;padding:8px 18px!important;font-weight:800!important;cursor:pointer!important;display:flex!important;align-items:center!important;gap:6px!important;white-space:nowrap!important}
.comb-card-expand{padding:24px!important;display:block!important;animation:comb-fade-in .3s ease!important;box-sizing:border-box!important;max-width:100%!important;overflow-x:hidden!important}
@media(max-width:600px){.comb-card-expand{padding:14px 10px!important}.comb-expand-topbar{padding:10px 12px!important}}
@keyframes comb-fade-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.comb-expand-section{margin-bottom:20px}
.comb-expand-title{font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:#7f8c8d;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.comb-expand-title::after{content:'';flex:1;height:1px;background:#e8ecef}
.comb-product-description{line-height:1.6;color:#4a5568;background:#f8fafc;border:1px solid #e8ecef;border-radius:8px;padding:14px;white-space:pre-wrap;word-wrap:break-word}
.comb-dest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:700px){.comb-dest-grid{grid-template-columns:1fr!important}}
.comb-dest-block{background:#f4f6f9;border-radius:10px;padding:14px 16px}
.comb-dest-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-weight:700;color:#1FA3C2}
.comb-hotel-block{margin-bottom:16px;background:#fff;border-radius:10px;padding:12px;border:1px solid #e8ecef}
.comb-hotel-destination{font-weight:700;color:#1FA3C2;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.comb-hotel-name-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.comb-hotel-name{font-weight:700;color:#2c3e50;line-height:1.3}
.comb-hotel-stars{font-weight:600;color:#f39c12;white-space:nowrap}
.comb-hotel-thumb{width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important;border-radius:0!important;margin-bottom:10px!important;display:block!important}
.comb-hotel-dates{color:#7f8c8d;margin-bottom:10px}
.comb-hotel-selectable{border:2px solid transparent!important;transition:border-color .18s,box-shadow .18s!important;cursor:pointer!important}
.comb-hotel-selectable:hover{border-color:#1FA3C2!important;box-shadow:0 0 0 3px rgba(31,163,194,.12)!important}
.comb-hotel-selected{border-color:#1FA3C2!important;box-shadow:0 0 0 4px rgba(31,163,194,.18)!important;background:#f0fafd!important}
.comb-hotel-selected-room{margin-bottom:10px;padding:10px;border-radius:8px;background:#f8fafc;border:1px solid #e8ecef}
.comb-hotel-selected-room-label{font-weight:700;text-transform:uppercase;color:#1FA3C2;margin-bottom:4px}
.comb-hotel-selected-room-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#2c3e50}
.comb-hotel-selected-room-name{font-weight:700}
.comb-hotel-selected-room-sep{color:#7f8c8d}
.comb-hotel-selected-room-board{color:#7f8c8d}
.comb-hotel-selected-room-price{margin-left:auto;font-weight:700;color:#1FA3C2}
.comb-hotel-selected-room-price.included{color:#27ae60}
.comb-price-summary{display:flex;flex-direction:column;gap:6px;background:#f4f6f9;border-radius:10px;padding:14px 18px}
.comb-price-summary-row{display:flex;justify-content:space-between;align-items:center;color:#2c3e50;padding:4px 0;border-bottom:1px solid #e8ecef}
.comb-price-summary-row:last-child{border-bottom:none}
.comb-price-summary-row.highlight{margin-top:4px;padding-top:8px;border-top:2px solid #e8ecef;border-bottom:none}
.comb-price-summary-row.highlight span{font-weight:700;color:#2c3e50}
.comb-price-summary-row.highlight strong{color:#1FA3C2}
.comb-missing-alert{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:10px 14px;margin-bottom:14px;font-weight:600;color:#856404;display:flex;align-items:center;gap:8px;animation:comb-shake .4s ease}@keyframes comb-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.comb-hotel-options{display:flex;flex-direction:column;gap:4px}
.comb-room-opt{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;cursor:pointer;transition:background .15s;border:2px solid transparent;background:#fff}
.comb-room-opt:hover{background:rgba(31,163,194,.06)}
.comb-room-opt.selected{background:rgba(39,174,96,.08)}
.comb-hotel-radio,.comb-room-opt input[type="radio"]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.comb-room-opt{padding-left:10px}
.comb-room-info{display:flex;flex-direction:column;gap:1px;min-width:0}
.comb-room-name-txt{font-weight:600;color:#2c3e50}
.comb-room-board-txt{color:#7f8c8d}
.comb-room-status{color:#7f8c8d}
.comb-room-price-tag{font-weight:700!important;color:#1FA3C2!important;white-space:nowrap!important}
.comb-room-select-btn{background:#1FA3C2;color:#fff;border:none;border-radius:20px;padding:4px 12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .2s;pointer-events:none}
.comb-room-opt.selected .comb-room-select-btn{background:#27ae60}
.comb-room-opt.selected .comb-room-select-btn::before{content:'✓ '}
.comb-room-price-tag.included{color:#27ae60!important;background:rgba(39,174,96,.1)!important;border:1px solid rgba(39,174,96,.3)!important;border-radius:20px!important;padding:2px 10px!important;}
.comb-room-hidden{display:none!important}
.comb-rooms-toggle{width:100%!important;background:none!important;border:1px dashed #e8ecef!important;border-radius:6px!important;color:#1FA3C2!important;font-weight:600!important;padding:5px 10px!important;cursor:pointer!important;margin-top:4px!important;display:flex!important;align-items:center!important;gap:4px!important}
.comb-comp-nights-wrap{align-self:start!important;position:relative!important;z-index:5!important}
.comb-comp-night-row{display:flex!important;flex-direction:column!important;gap:6px!important;background:#f4f6f9!important;border-radius:8px!important;padding:10px 12px!important;border:1px solid #e8ecef!important;margin-bottom:8px!important}
.comb-comp-night-header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
.comb-comp-night-label{font-weight:600!important;color:#2c3e50!important;flex:1!important}
.comb-comp-night-meta{color:#7f8c8d!important}
.comb-comp-night-controls{display:flex!important;align-items:center!important;gap:8px!important}
.comb-comp-night-btn{width:28px!important;height:28px!important;border-radius:50%!important;border:1px solid #e8ecef!important;background:#fff!important;color:#2c3e50!important;font-weight:700!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;padding:0!important}
.comb-comp-night-btn:hover{background:#1FA3C2!important;color:#fff!important;border-color:#1FA3C2!important}
.comb-comp-night-btn:disabled{opacity:.4!important;cursor:not-allowed!important}
.comb-comp-night-val{font-weight:700!important;min-width:24px!important;text-align:center!important}
.comb-comp-night-row.invalid{background:rgba(231,76,60,.08)!important;border-color:#e74c3c!important}
.comb-comp-night-row.invalid .comb-comp-night-val,.comb-comp-night-row.invalid .comb-comp-night-meta{color:#e74c3c!important}
.comb-comp-nights-total{color:#7f8c8d;padding:4px 0}
.comb-comp-nights-total strong{color:#1FA3C2}
.comb-comp-nights-hint{margin-left:6px;color:#e74c3c;font-weight:600}
.comb-comp-nights-hint.ok{color:#27ae60}
.comb-comp-nights-hint.error{color:#e74c3c;font-weight:700}
.comb-price-detail-table{width:100%!important;border-collapse:collapse!important;}
.comb-price-detail-table th{background:#f4f6f9!important;padding:7px 10px!important;font-weight:700!important;text-transform:uppercase!important;color:#7f8c8d!important;border-bottom:2px solid #e8ecef!important}
.comb-price-detail-table td{padding:7px 10px!important;border-bottom:1px solid #e8ecef!important;vertical-align:middle!important}
.comb-price-detail-table tfoot td{border-top:2px solid #e8ecef!important;border-bottom:none!important;background:#f4f6f9!important;padding:8px 10px!important}
.comb-flt-row{display:flex!important;align-items:flex-start!important;gap:12px!important;background:#f8fbfd!important;border:1px solid #daedf5!important;border-radius:10px!important;padding:12px 14px!important;margin-bottom:8px!important}
.comb-flt-row.inbound{background:#fff8f0!important;border-color:#f5ddb8!important}
.comb-flt-type{font-weight:800!important;text-transform:uppercase!important;color:#fff!important;background:#1FA3C2!important;border-radius:5px!important;padding:3px 7px!important;white-space:nowrap!important;flex-shrink:0!important}
.comb-flt-type.inbound{background:#1FA3C2}
.comb-flt-main{flex:1;min-width:0}
.comb-flt-route{display:flex!important;align-items:center!important;gap:8px!important;font-weight:800!important;color:#2c3e50!important}
.comb-flt-times{display:flex!important;align-items:center!important;gap:6px!important;margin-top:4px!important;color:#7f8c8d!important}
.comb-flt-time{font-weight:600;color:#2c3e50}
.comb-flt-num{background:#f4f6f9!important;border:1px solid #e8ecef!important;border-radius:4px!important;padding:1px 6px!important;font-weight:700!important}
.comb-flight-btn{padding:8px 14px;border-radius:8px;border:2px solid #e8ecef;background:#fff;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s;color:#2c3e50;display:inline-flex;flex-direction:column;gap:2px;align-items:flex-start}
.comb-flight-btn.selected{border-color:#1FA3C2;background:rgba(31,163,194,.08)}
.comb-flight-suppl{font-weight:700;color:#1FA3C2}
.comb-flight-suppl.free{color:#27ae60}
.comb-services-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.comb-services-col{background:#f4f6f9;border-radius:10px;padding:14px 16px}
.comb-services-col-title{font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.comb-services-col-title.included{color:#27ae60}
.comb-services-col-title.excluded{color:#e74c3c}
.comb-service-item{display:flex;align-items:flex-start;gap:7px;color:#2c3e50;padding:4px 0;border-bottom:1px solid #e8ecef}
.comb-service-item:last-child{border-bottom:none}
.comb-service-item::before{content:'✓';color:#27ae60;font-weight:700;flex-shrink:0}
.comb-service-item.excluded::before{content:'✗';color:#e74c3c}
.comb-stage{display:grid;grid-template-columns:52px 1fr;gap:0;margin-bottom:0}
.comb-stage-day{text-align:center;padding:14px 4px}
.comb-stage-day-num{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#1FA3C2,#1989A3);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;margin:0 auto 4px}
.comb-stage-day-line{width:2px;background:#e8ecef;flex:1;margin:0 auto;min-height:20px}
.comb-stage-body{padding:12px 14px 12px 10px;display:flex;gap:10px;align-items:flex-start}
.comb-stage-body-text{flex:1;min-width:0}
.comb-stage-title{font-weight:700;color:#2c3e50;margin-bottom:3px;word-break:break-word;overflow-wrap:anywhere}
.comb-stage-meal{color:#7f8c8d;margin-bottom:6px}
.comb-stage-desc{color:#7f8c8d;line-height:1.4;word-break:break-word;overflow-wrap:anywhere;white-space:normal}
.comb-stage-icons{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.comb-stage-icon{display:flex;align-items:center;gap:3px;color:#7f8c8d;background:#f4f6f9;border-radius:6px;padding:2px 7px}
.comb-stage-img-sm{display:block!important;height:64px!important;width:96px!important;object-fit:cover!important;border-radius:6px!important;flex-shrink:0!important;margin-top:4px!important}
@media(max-width:600px){
.comb-stage-body{flex-direction:column!important;gap:6px!important;padding:10px 8px!important}
.comb-stage-img-sm{width:100%!important;height:140px!important;margin-top:0!important}
.comb-stage{grid-template-columns:40px 1fr!important}
.comb-stage-day-num{width:28px!important;height:28px!important;}
.comb-services-grid{grid-template-columns:1fr!important}
}
.comb-itin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.comb-itin-tab{padding:6px 14px;border-radius:20px;border:2px solid #e8ecef;background:#fff;font-weight:600;cursor:pointer;color:#7f8c8d;transition:border-color .2s,color .2s,background .2s}
.comb-itin-tab.active{border-color:#1FA3C2;background:rgba(31,163,194,.08);color:#1FA3C2}
.comb-itin-panel{display:none!important}
.comb-itin-panel.active{display:block!important}
.comb-section-tabs{display:flex;gap:0;border-bottom:2px solid #e8ecef;margin-bottom:18px}
.comb-section-tab{padding:10px 20px;border:none;background:none;font-weight:700;color:#7f8c8d;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:color .2s,border-color .2s;display:flex;align-items:center;gap:6px}
.comb-section-tab:hover{color:#1FA3C2}
.comb-section-tab.active{color:#1FA3C2;border-bottom-color:#1FA3C2}
.comb-section-panel{display:none}
.comb-section-panel.active{display:block}
@media(max-width:480px){.comb-section-tab{padding:8px 14px;}} .comb-book-page{background:transparent;padding:10px 0;margin:0 0 30px;animation:comb-fade-in .4s ease}
.comb-book-page .atc-back-btn{background:#fff;color:#475569;border:1px solid #e2e8f0;padding:8px 18px;border-radius:30px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px;margin-bottom:10px}
.comb-book-page .atc-back-btn:hover{background:#f8fafc;color:#0f172a;border-color:#cbd5e1;transform:translateX(-2px)}
.comb-book-page .atc-price-section{background:linear-gradient(135deg,#0f2027 0%,#203a43 50%,#2c5364 100%);color:#fff;padding:30px 20px;border-radius:16px;text-align:center;margin:20px 0 30px;box-shadow:0 15px 35px rgba(15,32,39,.25);border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden}
.comb-book-page .atc-price-section::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 60%);pointer-events:none}
.comb-book-page .atc-price-label{text-transform:uppercase;letter-spacing:1.5px;opacity:.8;margin-bottom:8px;font-weight:600}
.comb-book-page .atc-price-total{font-weight:800;line-height:1.1;text-shadow:0 2px 10px rgba(0,0,0,.3);margin-bottom:8px}
.comb-book-page .atc-price-per-person{font-weight:500;opacity:.9;background:rgba(255,255,255,.15);display:inline-block;padding:6px 16px;border-radius:30px} .comb-book-page .r-section h4{color:#1e293b!important;font-weight:700!important;margin:0 0 15px!important;padding-bottom:12px!important;border-bottom:2px solid #f1f5f9!important}
.comb-book-page .r-btn-primary,.comb-book-page .r-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;border-radius:50px;font-weight:700;cursor:pointer;border:none;transition:all .2s;margin-top:10px;margin-right:10px}
.comb-book-page .r-btn-primary{background:linear-gradient(135deg,#1FA3C2,#1989A3);color:#fff;box-shadow:0 4px 15px rgba(31,163,194,.35)}
.comb-book-page .r-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(31,163,194,.45)}
.comb-book-page .r-btn-secondary{background:#fff;color:#475569;border:1px solid #e2e8f0;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.comb-book-page .r-btn-secondary:hover{background:#f8fafc;color:#0f172a;border-color:#cbd5e1}
.comb-book-page .r-btn-primary:disabled{opacity:.6;cursor:wait;transform:none}
.comb-book-page .r-pax-form label{font-weight:600;color:#475569}
.comb-book-page .r-pax-form input,.comb-book-page .r-pax-form select{width:100%;padding:10px;border:1px solid #ced4da;border-radius:6px;box-sizing:border-box}
.comb-book-page .r-pax-form input:focus,.comb-book-page .r-pax-form select:focus{outline:none;border-color:#1FA3C2;box-shadow:0 0 0 2px rgba(31,163,194,.2)}
.comb-book-page .r-pax-form input.error{border-color:#e74c3c;background:#fff8f8}
.comb-book-page .cbm-loading{text-align:center;padding:48px 0;color:#666;display:flex;flex-direction:column;align-items:center;gap:12px}
.comb-book-page .cbm-spinner{width:44px;height:44px;border:4px solid #e8ecef;border-top-color:#1FA3C2;border-radius:50%;animation:comb-spin 1s linear infinite}
.comb-book-page .cbm-error{background:#fff0f0;border:1px solid #ffc0c0;border-radius:8px;padding:14px 16px;color:#c0392b;display:flex;align-items:center;gap:8px}
.comb-price-change-alert{border-radius:8px;padding:12px 16px;font-weight:600;margin:-14px 0 20px;line-height:1.5}
.comb-price-change-alert.comb-price-diff-up{background:#fff8e1;border:1px solid #ffe082;color:#7b5800}
.comb-price-change-alert.comb-price-diff-down{background:#eafaf1;border:1px solid #a6e9c7;color:#1a7a4c}
.comb-book-page .cbm-error-expired{background:#fff8e1;border-color:#ffe082;color:#7b5800;}
.comb-book-page .comb-btn-refresh{display:block;width:100%;margin:12px 0 4px;padding:14px;background:#1FA3C2;color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;text-align:center;}
.comb-book-page .comb-btn-refresh:hover{filter:brightness(1.1);}
.comb-book-page .cbm-success{text-align:center;padding:32px 20px}
.comb-book-page .cbm-success-icon{margin-bottom:12px;display:block}
.comb-book-page .cbm-success-title{font-weight:800;color:#1b5e20;margin-bottom:8px}
.comb-book-page .cbm-success-ref{color:#333;margin-bottom:6px}
.comb-book-page .cbm-success-ref strong{color:#1FA3C2;}
.comb-book-page .cbm-success-price{font-weight:800;color:#27ae60;margin:10px 0}
.comb-book-page .cbm-success-info{color:#666}
@media(max-width:768px){
.comb-book-page .r-3col-grid{grid-template-columns:1fr!important}
.comb-book-page .r-summary-grid{grid-template-columns:1fr!important}
.comb-book-page .r-summary-includes-grid{grid-template-columns:1fr!important}
.comb-book-page .r-pax-form .r-pax-col3,.comb-book-page .r-pax-form .r-pax-col2{width:100%!important;flex:0 0 100%!important}
}
.comb-book-page .r-summary-includes{margin-top:14px;padding-top:14px;border-top:1px solid #e8ecef}
.comb-book-page .r-summary-includes-title{font-weight:700;color:#1e293b;margin-bottom:10px}
.comb-book-page .r-summary-includes-grid,.comb-expand-section .r-summary-includes-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.comb-book-page .r-summary-includes-col-title,.comb-expand-section .r-summary-includes-col-title{font-weight:700;text-transform:uppercase;margin-bottom:6px}
.comb-book-page .r-summary-includes-col-title.included,.comb-expand-section .r-summary-includes-col-title.included{color:#27ae60}
.comb-book-page .r-summary-includes-col-title.excluded,.comb-expand-section .r-summary-includes-col-title.excluded{color:#e74c3c}
.comb-book-page .r-summary-include-item,.comb-expand-section .r-summary-include-item{color:#4a5568;margin-bottom:4px;padding-left:16px;position:relative}
.comb-book-page .r-summary-include-item::before,.comb-expand-section .r-summary-include-item::before{content:'\2713';position:absolute;left:0;color:#27ae60}
.comb-book-page .r-summary-include-item.excluded::before,.comb-expand-section .r-summary-include-item.excluded::before{content:'\2717';color:#e74c3c}
@media(max-width:768px){.comb-expand-section .r-summary-includes-grid{grid-template-columns:1fr!important}}
.comb-fp-price{display:block!important;font-weight:700!important;color:#1FA3C2!important;line-height:1!important;margin-top:1px!important;text-align:center!important}
.comb-fp-consult{color:#1FA3C2!important}
.flatpickr-day.selected .comb-fp-price{color:#fff!important}
@keyframes comb-spin{to{transform:rotate(360deg)}}
.comb-spin{display:inline-block;animation:comb-spin 1s linear infinite}
.r-excursions-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.r-excursion-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;border:2px solid #e8ecef;background:#fff;cursor:pointer;transition:border-color .18s,background .18s;-webkit-user-select:none;user-select:none}
.r-excursion-item:hover{border-color:#1FA3C2;background:#f0fafd}
.r-excursion-item input[type="checkbox"]{width:18px;height:18px;accent-color:#1FA3C2;flex-shrink:0;cursor:pointer}
.r-excursion-item:has(input:checked){border-color:#27ae60;background:rgba(39,174,96,.06)}
.r-excursion-info{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.r-excursion-name{font-weight:600;color:#2c3e50;text-align:left}
.r-excursion-price{font-weight:700;white-space:nowrap;padding:3px 10px;border-radius:20px}
.r-excursion-price.extra{color:#1FA3C2;background:rgba(31,163,194,.1);border:1px solid rgba(31,163,194,.3)}
.r-excursion-price.included{color:#27ae60;background:rgba(39,174,96,.1);border:1px solid rgba(39,174,96,.3)}
.r-excursion-price-note{font-weight:400;color:#7f8c8d;margin-left:4px}
.r-2col-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.r-extras-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.r-extras-item{display:none}
.r-extras-item:nth-child(-n+3){display:flex}
.r-extras-list.expanded .r-extras-item{display:flex}
.r-extras-toggle{text-align:center;margin-top:10px}
.r-extras-toggle button{background:#f0fafd;border:1px solid #1FA3C2;color:#1FA3C2;padding:6px 14px;border-radius:20px;cursor:pointer;font-weight:600}
.r-extras-toggle button:hover{background:#1FA3C2;color:#fff}
.r-services-list{list-style:none;padding:0;margin:0}
.r-services-list li{padding:6px 0;border-bottom:1px solid #f0f0f0;font-size:13px}
.r-services-list li:before{content:"\2713 ";color:#27ae60;font-weight:700}
.r-services-list li:last-child{border-bottom:0}
.r-excursion-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.r-excursion-name{font-weight:600;color:#2c3e50;font-size:13px}
.r-excursion-price{font-weight:700;font-size:13px;white-space:nowrap;align-self:center;padding:4px 10px;border-radius:6px}
.r-excursion-price.extra{color:#e67e22;background:rgba(230,126,18,.1);border:1px solid rgba(230,126,18,.3)}
.r-excursion-price.included{color:#27ae60;background:rgba(39,174,96,.1);border:1px solid rgba(39,174,96,.3)}
@media(max-width:900px){.r-2col-grid{grid-template-columns:1fr}} .atc-details-container {
animation: atc-details-fadeIn 0.4s ease-out !important;
}
@keyframes atc-details-fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}
.atc-section {
background: rgba(255, 255, 255, 0.95) !important;
backdrop-filter: blur(16px) !important;
-webkit-backdrop-filter: blur(16px) !important;
border: 1px solid rgba(255, 255, 255, 0.4) !important;
box-shadow: 0 10px 30px rgba(31, 38, 135, 0.05) !important;
border-radius: 16px !important;
padding: 25px !important;
margin-bottom: 20px !important;
transition: all 0.3s ease !important;
}
.atc-section:hover {
box-shadow: 0 15px 35px rgba(31, 38, 135, 0.08) !important;
transform: translateY(-2px) !important;
}
.atc-section-title {
font-weight: 700 !important;
color: #1e293b !important;
margin-top: 0 !important;
margin-bottom: 20px !important;
padding-bottom: 12px !important;
border-bottom: 2px solid #f1f5f9 !important;
display: flex !important;
align-items: center !important;
gap: 8px !important;
}
.atc-price-section {
background: linear-gradient(135deg, #1FA3C2 0%, #1989A3 100%) !important;
color: white !important;
padding: 30px 20px !important;
border-radius: 16px !important;
text-align: center !important;
margin: 20px 0 30px 0 !important;
box-shadow: 0 15px 35px rgba(31,163,194,0.28) !important;
border: 1px solid rgba(255, 255, 255, 0.18) !important;
position: relative !important;
overflow: hidden !important;
}
.atc-price-section::before {
content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%;
background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 60%) !important;
pointer-events: none !important;
}
.atc-price-label { text-transform: uppercase; letter-spacing: 1.5px; opacity: 0.8; margin-bottom: 8px; font-weight: 600; }
.atc-price-total { font-weight: 800; line-height: 1.1; text-shadow: 0 2px 10px rgba(0,0,0,0.3); margin-bottom: 8px; }
.atc-price-per-person { font-weight: 500; opacity: 0.9; background: rgba(255,255,255,0.15); display: inline-block; padding: 6px 16px; border-radius: 30px; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.atc-back-btn {
background: #ffffff !important;
color: #475569 !important;
border: 1px solid #e2e8f0 !important;
padding: 8px 18px !important;
border-radius: 30px !important;
font-weight: 600 !important;
cursor: pointer !important;
transition: all 0.2s ease !important;
display: inline-flex !important;
align-items: center !important;
box-shadow: 0 2px 5px rgba(0,0,0,0.02) !important;
}
.atc-back-btn:hover { background: #f8fafc; color: #0f172a; border-color: #cbd5e1; box-shadow: 0 4px 6px rgba(0,0,0,0.05); transform: translateX(-2px); }
.atc-3col-grid {
display: grid !important;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
gap: 24px !important;
margin-bottom: 24px !important;
align-items: start !important;
}
.atc-3col-detail-grid {
display: grid !important;
grid-template-columns: 1fr 1fr minmax(280px, 320px) !important;
gap: 24px !important;
margin-bottom: 24px !important;
align-items: start !important;
}
.atc-3col-detail-grid .atc-hotel-container {
flex-direction: column !important;
}
.atc-3col-detail-grid .atc-hotel-image {
width: 100% !important;
height: 220px !important;
border-radius: 12px !important;
overflow: hidden !important;
margin-bottom: 15px !important;
}
.atc-3col-detail-grid .atc-hotel-image img {
width: 100% !important;
height: 100% !important;
object-fit: cover !important;
}
.atc-grid-price {
position: -webkit-sticky !important;
position: sticky !important;
top: 20px !important;
}
.atc-2col-aux-grid {
display: grid !important;
grid-template-columns: 1fr 1fr !important;
gap: 24px !important;
margin-bottom: 24px !important;
align-items: start !important;
}
.atc-book-btn {
background: linear-gradient(135deg, #1FA3C2 0%, #1989A3 100%) !important;
color: white !important;
border: none !important;
padding: 18px 30px !important;
border-radius: 12px !important;
font-weight: 700 !important;
cursor: pointer !important;
width: 100% !important;
margin-top: 10px !important;
margin-bottom: 20px !important;
text-align: center !important;
transition: all 0.3s ease !important;
box-shadow: 0 10px 20px rgba(31,163,194,0.28) !important;
text-transform: uppercase !important;
letter-spacing: 0.5px !important;
}
.atc-book-btn:hover {
transform: translateY(-3px) !important;
box-shadow: 0 15px 25px rgba(31,163,194,0.42) !important;
}
.atc-3col-grid .atc-hotel-container {
flex-direction: column !important;
}
.atc-3col-grid .atc-hotel-image {
width: 100% !important;
height: 220px !important;
border-radius: 12px !important;
overflow: hidden !important;
margin-bottom: 15px !important;
}
.atc-3col-grid .atc-hotel-image img {
width: 100% !important;
height: 100% !important;
object-fit: cover !important;
} #atc_results_list {
width: 100% !important;
box-sizing: border-box !important;
}
.atc-details-container,
.r-summary,
.r-section,
.r-3col-grid,
.r-pax-form,
.r-booking-result {
width: 100% !important;
box-sizing: border-box !important;
max-width: 100% !important;
} @media (max-width: 900px) {
.atc-3col-grid,
.r-3col-grid,
.atc-3col-detail-grid,
.atc-2col-aux-grid {
grid-template-columns: 1fr !important;
}
.atc-grid-price {
position: static !important;
}
}
@media (max-width: 700px) {
.atc-section,
.r-summary,
.r-section {
padding: 16px !important;
}
} .r-booking-result {
overflow-wrap: anywhere;
}
#r-itp-pay {
max-width: 560px !important;
}
#r-itp-pay .r-itp-copy {
min-width: 0 !important;
}
@media (max-width: 600px) {
.r-booking-result {
padding: 16px !important;
}
#r-itp-pay {
padding: 14px !important;
}
#r-itp-hold {
font-size: 14px !important;
}
#r-itp-pay .r-itp-copy {
flex-direction: column !important;
align-items: flex-start !important;
gap: 4px !important;
}
} .atc-details-container,
.atc-details-loaded {
margin: 0 auto !important;
padding: 20px 0 !important;
font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif !important;
line-height: 1.6 !important;
color: #333 !important;
}
.atc-details-container *,
.atc-details-loaded * {
font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif !important;
font-size: 13px !important;
box-sizing: border-box !important;
}
.atc-details-container h1,.atc-details-container h2,.atc-details-container h3,
.atc-details-container h4,.atc-details-container h5,
.atc-details-loaded h1,.atc-details-loaded h2,.atc-details-loaded h3,
.atc-details-loaded h4,.atc-details-loaded h5,
.atc-details-container .atc-price-total,.atc-details-loaded .atc-price-total,
.atc-details-container .atc-airport-code,.atc-details-loaded .atc-airport-code,
.atc-details-container .atc-arrow-icon,.atc-details-loaded .atc-arrow-icon,
.atc-details-container .atc-hotel-name,.atc-details-loaded .atc-hotel-name,
.atc-details-container .atc-detail-stars,.atc-details-loaded .atc-detail-stars,
.atc-details-container .atc-book-btn,.atc-details-loaded .atc-book-btn,
.atc-details-container .atc-back-btn,.atc-details-loaded .atc-back-btn,
.atc-details-container .atc-price-per-person,.atc-details-loaded .atc-price-per-person,
.atc-details-container .atc-results-count,.atc-details-loaded .atc-results-count,
.atc-details-container .atc-illu-icon,.atc-details-loaded .atc-illu-icon,
.atc-details-container .atc-total-price,.atc-details-loaded .atc-total-price,
.atc-details-container .atc-hotel-fallback,.atc-details-loaded .atc-hotel-fallback,
.atc-details-container .atc-mf-price,.atc-details-loaded .atc-mf-price,
.atc-details-container .atc-flight-airline,.atc-details-loaded .atc-flight-airline,
.atc-details-container .atc-flight-time,.atc-details-loaded .atc-flight-time,
.atc-details-container .atc-value,.atc-details-loaded .atc-value,
.atc-details-container .atc-cache-expiry-text,.atc-details-loaded .atc-cache-expiry-text,
.atc-details-container .atc-progress-label,.atc-details-loaded .atc-progress-label,
.atc-details-container .atc-results-sub,.atc-details-loaded .atc-results-sub,
.atc-details-container .atc-sort select,.atc-details-loaded .atc-sort select,
.atc-details-container .atc-field .form-control,.atc-details-loaded .atc-field .form-control,
.atc-details-container .atc-pax-trigger,.atc-details-loaded .atc-pax-trigger,
.atc-details-container .atc-field label,.atc-details-loaded .atc-field label,
.atc-details-container .atc-fp-price,.atc-details-loaded .atc-fp-price,
.atc-details-container .r-excursion-price-note,.atc-details-loaded .r-excursion-price-note,
.atc-details-container .r-section h4,.atc-details-loaded .r-section h4,
.atc-details-container .fo-section h5,.atc-details-loaded .fo-section h5,
.atc-details-container .atc-flight-direction h5,.atc-details-loaded .atc-flight-direction h5,
.atc-details-container .dashicons,.atc-details-loaded .dashicons {
font-size: inherit !important;
}
.atc-details-container h1,.atc-details-loaded h1 { font-size: 32px !important; }
.atc-details-container h2,.atc-details-loaded h2 { font-size: 24px !important; }
.atc-details-container h3,.atc-details-loaded h3 { font-size: 18px !important; }
.atc-details-container h4,.atc-details-loaded h4,
.atc-details-container .r-section h4,.atc-details-loaded .r-section h4 { font-size: 16px !important; }
.atc-details-container h5,.atc-details-loaded h5,
.atc-details-container .fo-section h5,.atc-details-loaded .fo-section h5,
.atc-details-container .atc-flight-direction h5,.atc-details-loaded .atc-flight-direction h5 { font-size: 14px !important; }
.atc-details-container .atc-price-total,.atc-details-loaded .atc-price-total { font-size: 32px !important; }
.atc-details-container .atc-airport-code,.atc-details-loaded .atc-airport-code,
.atc-details-container .atc-arrow-icon,.atc-details-loaded .atc-arrow-icon { font-size: 20px !important; }
.atc-details-container .atc-hotel-name,.atc-details-loaded .atc-hotel-name { font-size: 16px !important; }
.atc-details-container .atc-detail-stars,.atc-details-loaded .atc-detail-stars { font-size: 16px !important; }
.atc-details-container .atc-book-btn,.atc-details-loaded .atc-book-btn { font-size: 16px !important; }
.atc-details-container .atc-back-btn,.atc-details-loaded .atc-back-btn { font-size: 14px !important; }
.atc-details-container .atc-results-count,.atc-details-loaded .atc-results-count { font-size: 20px !important; }
.atc-details-container .atc-illu-icon,.atc-details-loaded .atc-illu-icon { font-size: 46px !important; }
.atc-details-container .atc-total-price,.atc-details-loaded .atc-total-price { font-size: 16px !important; }
.atc-details-container .atc-hotel-fallback,.atc-details-loaded .atc-hotel-fallback { font-size: 16px !important; }
.atc-details-container .atc-mf-price,.atc-details-loaded .atc-mf-price { font-size: 14px !important; }
.atc-details-container .atc-price-per-person,.atc-details-loaded .atc-price-per-person,
.atc-details-container .atc-cache-expiry-text,.atc-details-loaded .atc-cache-expiry-text,
.atc-details-container .atc-progress-label,.atc-details-loaded .atc-progress-label,
.atc-details-container .atc-results-sub,.atc-details-loaded .atc-results-sub,
.atc-details-container .atc-sort select,.atc-details-loaded .atc-sort select,
.atc-details-container .atc-value,.atc-details-loaded .atc-value,
.atc-details-container .atc-flight-time,.atc-details-loaded .atc-flight-time,
.atc-details-container .atc-flight-airline,.atc-details-loaded .atc-flight-airline { font-size: 13px !important; }
.atc-details-container .atc-field .form-control,.atc-details-loaded .atc-field .form-control,
.atc-details-container .atc-pax-trigger,.atc-details-loaded .atc-pax-trigger { font-size: 14px !important; }
.atc-details-container .atc-field label,.atc-details-loaded .atc-field label { font-size: 11px !important; }
.atc-details-container .atc-fp-price,.atc-details-loaded .atc-fp-price { font-size: 10px !important; }
.atc-details-container .r-excursion-price-note,.atc-details-loaded .r-excursion-price-note { font-size: 11px !important; }
.atc-details-container .dashicons,.atc-details-loaded .dashicons,
.atc-details-container .dashicons::before,.atc-details-loaded .dashicons::before { font-size: inherit !important; } .atc-flights-container { display: flex; flex-direction: column; gap: 20px; }
.atc-flight-direction h5 { margin: 0 0 5px 0; color: #666; font-weight: 600; }
.atc-flight-date { color: #999; margin-bottom: 15px; }
.atc-flight-route { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 15px; }
.atc-flight-point { flex: 1; text-align: center; }
.atc-airport-code { font-weight: 700; color: #1FA3C2; margin-bottom: 5px; }
.atc-airport-name { color: #666; margin-bottom: 3px; }
.atc-flight-time { font-weight: 600; color: #333; }
.atc-flight-arrow { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.atc-duration { color: #999; }
.atc-arrow-icon { color: #1FA3C2; }
.atc-flight-airline { color: #333; padding: 10px; background: #f5f5f5; border-radius: 4px; }
.atc-baggage { color: #666; margin-top: 5px; } .atc-flight-options { display: flex; flex-direction: column; gap: 16px; }
.atc-flight-option-card {
border: 2px solid #e2e8f0;
border-radius: 14px;
padding: 18px;
background: #fff;
transition: all 0.25s ease;
position: relative;
}
.atc-flight-option-card.selected {
border-color: #1FA3C2;
background: linear-gradient(135deg, rgba(31,163,194,0.05) 0%, rgba(25,137,163,0.03) 100%);
box-shadow: 0 8px 20px rgba(31,163,194,0.15);
}
.atc-flight-option-card:hover { box-shadow: 0 6px 16px rgba(0,0,0,0.08); }
.atc-fo-card-label {
font-weight: 700;
color: #1FA3C2;
text-transform: uppercase;
letter-spacing: 0.6px;
margin-bottom: 12px;
}
.atc-fo-leg { margin-bottom: 14px; }
.atc-fo-leg:last-of-type { margin-bottom: 0; }
.atc-fo-leg + .atc-fo-leg {
margin-top: 14px;
padding-top: 14px;
border-top: 1px dashed #e2e8f0;
}
.atc-fo-leg-header {
display: flex;
justify-content: space-between;
align-items: center;
font-weight: 700;
color: #475569;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 8px;
padding-bottom: 6px;
border-bottom: 1px dashed #e2e8f0;
}
.atc-fo-leg-date { font-weight: 500; color: #94a3b8; text-transform: none; letter-spacing: normal; }
.atc-fo-segment {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 12px;
padding: 12px;
background: #f8fafc;
border-radius: 10px;
margin-bottom: 8px;
}
.atc-fo-segment:last-child { margin-bottom: 0; }
.atc-fo-segment-airline {
display: flex;
align-items: center;
gap: 8px;
font-weight: 700;
color: #1e293b;
flex: 0 0 auto;
}
.atc-fo-airline-name {
font-weight: 700;
color: #1e293b;
white-space: nowrap;
}
.atc-fo-airline-icon { color: #1FA3C2; }
.atc-fo-flightnum { color: #94a3b8; font-weight: 500; }
.atc-fo-segment-route {
display: flex;
align-items: center;
gap: 10px;
flex: 1 1 260px;
}
.atc-fo-point { text-align: center; min-width: 60px; }
.atc-fo-code { font-weight: 800; color: #1e293b; }
.atc-fo-city { color: #94a3b8; margin-top: 1px; max-width: 100px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.atc-fo-time { font-weight: 600; color: #1FA3C2; margin-top: 2px; }
.atc-fo-arrow { flex: 1; text-align: center; min-width: 60px; }
.atc-fo-duration { color: #94a3b8; margin-bottom: 2px; }
.atc-fo-line { color: #1FA3C2; position: relative; }
.atc-fo-line span { display: inline-block; width: 100%; border-top: 1px solid #cbd5e1; position: absolute; top: 50%; left: -50%; z-index: 0; }
.atc-fo-segment-meta {
display: flex;
gap: 10px;
flex-wrap: wrap;
color: #64748b;
flex: 0 0 auto;
margin-left: auto;
}
.atc-fo-meta-item { background: #eef2f7; padding: 3px 8px; border-radius: 8px; white-space: nowrap; }
.atc-fo-class { background: #e0f2fe; color: #0369a1; font-weight: 600; }
.atc-fo-connection {
text-align: center;
color: #92400e;
background: #fffbeb;
border: 1px solid #fde68a;
border-radius: 8px;
padding: 6px 12px;
margin: 6px auto;
font-weight: 600;
display: inline-block;
}
.atc-fo-card-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 14px;
padding-top: 14px;
border-top: 1px solid #f1f5f9;
gap: 12px;
flex-wrap: wrap;
}
.atc-fo-badge {
font-weight: 700;
padding: 5px 12px;
border-radius: 20px;
}
.atc-fo-badge-inc { background: #dcfce7; color: #15803d; }
.atc-fo-badge-sup { background: #fee2e2; color: #b91c1c; }
.atc-fo-select-btn {
background: linear-gradient(135deg, #1FA3C2 0%, #1989A3 100%);
color: #fff;
border: none;
padding: 10px 22px;
border-radius: 30px;
font-weight: 700;
cursor: pointer;
transition: all 0.2s ease;
box-shadow: 0 4px 10px rgba(31,163,194,0.25);
}
.atc-fo-select-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 14px rgba(31,163,194,0.35); }
.atc-flight-option-card.selected .atc-fo-select-btn::before { content: '✓ '; }
@media (max-width: 640px) {
.atc-fo-segment { flex-direction: column !important; align-items: stretch !important; }
.atc-fo-segment-airline { flex: none !important; }
.atc-fo-segment-meta { margin-left: 0 !important; }
}
@media (max-width: 400px) {
.atc-fo-code { font-size: 13px !important; }
.atc-fo-arrow { min-width: 34px !important; }
.atc-fo-duration { display: none !important; }
} .atc-sf-fo-leg-card {
background: #fff;
border: 1px solid #e2e8f0;
border-radius: 12px;
padding: 14px 16px;
box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.atc-sf-fo-segment {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 14px 0;
}
.atc-sf-fo-segment:first-child { padding-top: 0; }
.atc-sf-fo-segment:last-child { padding-bottom: 0; }
.atc-sf-fo-segment-cont {
border-top: 1px dashed #e2e8f0;
margin-top: 0;
padding-top: 14px;
}
.atc-sf-fo-airline {
flex: 0 0 140px;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 4px;
}
.atc-sf-fo-airline-name {
font-weight: 700;
color: #1e293b;
font-size: 14px;
}
.atc-sf-fo-flightnum {
color: #94a3b8;
font-size: 12px;
font-weight: 500;
}
.atc-sf-fo-route {
flex: 1 1 auto;
display: flex;
align-items: center;
justify-content: center;
gap: 14px;
min-width: 220px;
}
.atc-sf-fo-point {
text-align: center;
min-width: 70px;
}
.atc-sf-fo-code {
font-size: 20px;
font-weight: 800;
color: #1e293b;
letter-spacing: 1px;
}
.atc-sf-fo-city {
font-size: 12px;
color: #64748b;
margin-top: 2px;
}
.atc-sf-fo-time {
font-size: 14px;
font-weight: 700;
color: #1FA3C2;
margin-top: 4px;
}
.atc-sf-fo-date {
font-size: 11px;
color: #94a3b8;
margin-top: 2px;
}
.atc-sf-fo-arrow {
flex: 0 0 60px;
text-align: center;
position: relative;
}
.atc-sf-fo-arrow::before {
content: '';
display: block;
position: absolute;
top: 50%;
left: 0;
right: 0;
border-top: 1px solid #cbd5e1;
z-index: 0;
}
.atc-sf-fo-line {
position: relative;
z-index: 1;
color: #1FA3C2;
font-size: 18px;
background: #fff;
padding: 0 4px;
}
.atc-sf-fo-duration {
font-size: 11px;
color: #64748b;
margin-bottom: 2px;
}
.atc-sf-fo-meta {
flex: 0 0 150px;
display: flex;
flex-direction: column;
gap: 6px;
align-items: flex-start;
font-size: 12px;
color: #475569;
}
.atc-sf-fo-meta-item {
display: flex;
flex-direction: column;
gap: 2px;
}
.atc-sf-fo-meta-label {
color: #94a3b8;
font-size: 11px;
}
.atc-sf-fo-connection {
text-align: center;
color: #92400e;
background: #fffbeb;
border: 1px dashed #fde68a;
border-radius: 8px;
padding: 6px 12px;
margin: 0 0 14px 0;
font-size: 12px;
font-weight: 600;
}
@media (max-width: 768px) {
.atc-sf-fo-segment {
flex-wrap: wrap;
gap: 12px;
}
.atc-sf-fo-airline { flex: 1 1 100%; flex-direction: row; align-items: center; }
.atc-sf-fo-route { order: 3; flex: 1 1 100%; justify-content: flex-start; }
.atc-sf-fo-meta { order: 2; flex: 0 0 auto; margin-left: auto; }
} .atc-fo-airline-logo-wrap {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
height: 36px !important;
flex: 0 0 auto !important;
border-radius: 6px !important;
background: #fff !important;
border: 1px solid #e2e8f0 !important;
overflow: hidden !important;
padding: 2px 6px !important;
}
.atc-fo-airline-logo {
height: 28px !important;
width: auto !important;
object-fit: contain !important;
display: block !important;
mix-blend-mode: multiply !important;
}
.atc-fo-airline-fallback {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
width: 100% !important;
height: 100% !important;
color: #1FA3C2 !important;
font-size: 13px !important;
}
.atc-fo-date { font-size: 13px !important; color: #cbd5e1 !important; margin-top: 1px !important; }
.atc-fo-note { background: #fef3c7 !important; color: #92400e !important; font-weight: 600 !important; } .atc-recommended-card { cursor: default !important; }
.atc-recommended-card .atc-fo-card-footer { display: none !important; } .atc-modify-flights { margin-top: 20px !important; }
.atc-mf-list { display: flex !important; flex-direction: column !important; gap: 14px !important; }
.atc-mf-row {
border: 2px solid #e2e8f0 !important;
border-radius: 14px !important;
padding: 16px !important;
background: #fff !important;
transition: all 0.25s ease !important;
}
.atc-mf-row.selected {
border-color: #1FA3C2 !important;
background: linear-gradient(135deg, rgba(31,163,194,0.05) 0%, rgba(25,137,163,0.03) 100%) !important;
box-shadow: 0 8px 20px rgba(31,163,194,0.15) !important;
}
.atc-mf-row:hover { box-shadow: 0 6px 16px rgba(0,0,0,0.08) !important; }
.atc-mf-row-body {
display: flex !important;
align-items: stretch !important;
gap: 16px !important;
flex-wrap: wrap !important;
}
.atc-mf-row-flights { flex: 1 1 400px !important; min-width: 280px !important; }
.atc-mf-row-action {
flex: 0 0 160px !important;
display: flex !important;
flex-direction: column !important;
align-items: center !important;
justify-content: center !important;
gap: 10px !important;
border-left: 1px dashed #e2e8f0 !important;
padding-left: 16px !important;
}
.atc-mf-price { font-weight: 800 !important; text-align: center !important; }
.atc-mf-price-inc { color: #15803d !important; }
.atc-mf-price-sup { color: #b91c1c !important; }
.atc-mf-row.selected .atc-fo-select-btn { background: linear-gradient(135deg, #15803d 0%, #166534 100%) !important; }
@media (max-width: 700px) {
.atc-mf-row-body { flex-direction: column !important; }
.atc-mf-row-action {
border-left: none !important;
border-top: 1px dashed #e2e8f0 !important;
padding-left: 0 !important;
padding-top: 12px !important;
flex-direction: row !important;
justify-content: space-between !important;
}
} .atc-flight-tabs-wrapper {
margin-bottom: 20px !important;
}
.atc-flight-tabs-header {
display: flex !important;
gap: 0 !important;
border-bottom: 2px solid #e2e8f0 !important;
margin-bottom: 0 !important;
}
.atc-flight-tab {
background: transparent !important;
border: none !important;
border-bottom: 3px solid transparent !important;
padding: 12px 20px !important;
font-weight: 700 !important;
color: #7f8c8d !important;
cursor: pointer !important;
transition: all 0.25s ease !important;
white-space: nowrap !important;
margin-bottom: -2px !important;
border-radius: 0 !important;
box-shadow: none !important;
}
.atc-flight-tab:hover {
color: #1FA3C2 !important;
background: rgba(31,163,194,0.05) !important;
}
.atc-flight-tab.active {
color: #1FA3C2 !important;
border-bottom-color: #1FA3C2 !important;
background: transparent !important;
}
.atc-flight-tab-content {
display: none !important;
padding-top: 20px !important;
}
.atc-flight-tab-content.active {
display: block !important;
}
.atc-flight-tab-content .atc-section {
margin-top: 0 !important;
}
.atc-flight-tab-content .atc-modify-flights {
margin-top: 0 !important;
}
@media (max-width: 640px) {
.atc-flight-tabs-header {
flex-direction: column !important;
border-bottom: none !important;
}
.atc-flight-tab {
border-bottom: none !important;
border-left: 3px solid transparent !important;
text-align: left !important;
margin-bottom: 0 !important;
padding: 10px 16px !important;
}
.atc-flight-tab.active {
border-bottom: none !important;
border-left-color: #1FA3C2 !important;
background: rgba(31,163,194,0.05) !important;
}
.atc-flight-tabs-header {
border-left: 2px solid #e2e8f0 !important;
}
} .r-tp-alts-list {
box-sizing: border-box !important;
max-width: 100% !important;
}
.r-tp-alt-row {
display: flex !important;
flex-direction: row !important;
align-items: flex-start !important;
gap: 10px !important;
box-sizing: border-box !important;
max-width: 100% !important;
margin-bottom: 10px !important;
padding: 12px !important;
border: 1px solid #e8ecef !important;
border-radius: 8px !important;
background: #fff !important;
transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.r-tp-alt-main {
flex: 1 !important;
min-width: 0 !important;
display: flex !important;
flex-direction: column !important;
}
.r-tp-alt-top {
display: flex !important;
justify-content: space-between !important;
align-items: center !important;
gap: 8px !important;
margin-bottom: 8px !important;
}
.r-tp-alt-row:hover {
border-color: #b8c6d1 !important;
box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
}
.r-tp-alt-row.r-tp-alt-selected {
border-color: #1a6fa8 !important;
background: #f0f7fc !important;
}
.r-tp-alt-header {
display: flex !important;
justify-content: space-between !important;
align-items: center !important;
box-sizing: border-box !important;
max-width: 100% !important;
margin-bottom: 8px !important;
padding-bottom: 8px !important;
border-bottom: 1px solid #eef1f4 !important;
}
.r-tp-alt-info {
font-weight: 600 !important;
font-size: 13px !important;
color: #2c3e50 !important;
min-width: 0 !important;
}
.r-tp-alt-info-in {
margin-top: 2px !important;
color: #800020 !important;
}
.r-tp-alt-action {
flex-shrink: 0 !important;
display: flex !important;
align-items: center !important;
gap: 8px !important;
}
.r-tp-alt-detail {
box-sizing: border-box !important;
max-width: 100% !important;
overflow: hidden !important;
padding: 10px !important;
background: #fafbfc !important;
border-radius: 6px !important;
border: 1px solid #eef1f4 !important;
}
.r-tp-alt-leg-header {
font-weight: 700 !important;
font-size: 11px !important;
text-transform: uppercase !important;
letter-spacing: 0.5px !important;
margin-bottom: 6px !important;
padding-bottom: 4px !important;
border-bottom: 1px solid #e8ecef !important;
}
.r-tp-alt-leg-header.outbound { color: #1a6fa8 !important; }
.r-tp-alt-leg-header.return { color: #800020 !important; margin-top: 10px !important; }
.r-tp-alt-seg-row {
padding: 8px 0 !important;
border-bottom: 1px solid #f0f0f0 !important;
}
.r-tp-alt-seg-row:last-child { border-bottom: 0 !important; }
.r-tp-alt-seg-main {
display: flex !important;
align-items: flex-start !important;
justify-content: space-between !important;
gap: 8px !important;
max-width: 100% !important;
}
.r-tp-alt-seg-point {
flex: 1 !important;
min-width: 0 !important;
}
.r-tp-alt-seg-point.left { text-align: left !important; }
.r-tp-alt-seg-point.right { text-align: right !important; }
.r-tp-alt-seg-code {
font-size: 16px !important;
font-weight: 800 !important;
color: #1e293b !important;
letter-spacing: 1px !important;
}
.r-tp-alt-seg-city {
font-size: 11px !important;
color: #64748b !important;
margin-top: 2px !important;
overflow: hidden !important;
text-overflow: ellipsis !important;
}
.r-tp-alt-seg-time {
font-size: 12px !important;
color: #2c3e50 !important;
margin-top: 4px !important;
font-weight: 600 !important;
}
.r-tp-alt-seg-date {
font-size: 10px !important;
color: #7f8c8d !important;
margin-top: 1px !important;
}
.r-tp-alt-seg-arrow {
flex: 0 0 auto !important;
text-align: center !important;
padding-top: 2px !important;
font-size: 16px !important;
color: #3498db !important;
}
.r-tp-alt-seg-dur {
font-size: 10px !important;
color: #95a5a6 !important;
margin-top: 2px !important;
font-weight: 400 !important;
}
.r-tp-alt-seg-meta {
display: flex !important;
align-items: center !important;
gap: 6px !important;
flex-wrap: wrap !important;
max-width: 100% !important;
margin-top: 6px !important;
padding-top: 6px !important;
border-top: 1px solid #eef1f4 !important;
font-size: 11px !important;
}
.r-tp-alt-seg-meta .atc-fo-airline-name { color: #7f8c8d !important; }
.r-tp-alt-seg-meta .r-tp-alt-flightnum { color: #7f8c8d !important; }
.r-tp-alt-seg-meta .r-tp-alt-cabin {
background: #e8f4fd !important;
color: #2980b9 !important;
border-radius: 10px !important;
padding: 1px 6px !important;
font-weight: 600 !important;
font-size: 10px !important;
}
.r-tp-alt-bag-no { color: #e74c3c !important; font-size: 11px !important; }
.r-tp-alt-bag-yes { color: #27ae60 !important; font-size: 11px !important; }
.r-tp-alt-bag-hand { color: #f39c12 !important; font-size: 11px !important; }
.r-tp-alt-bag-other { font-size: 11px !important; }
.r-tp-alt-price {
font-size: 12px !important;
font-weight: 600 !important;
white-space: nowrap !important;
}
.r-tp-alt-sup { color: #e67e22 !important; }
.r-tp-alt-inc { color: #27ae60 !important; } .atc-fl-leg {
margin-bottom: 12px !important;
border: 1px solid #e8ecef !important;
border-radius: 10px !important;
background: #fff !important;
overflow: hidden !important;
box-sizing: border-box !important;
max-width: 100% !important;
}
.atc-fl-leg:last-child { margin-bottom: 0 !important; }
.atc-fl-leg-head {
display: flex !important;
align-items: baseline !important;
gap: 10px !important;
flex-wrap: wrap !important;
padding: 9px 14px !important;
border-bottom: 1px solid #eef1f4 !important;
background: #fafbfc !important;
}
.atc-fl-leg-title {
font-weight: 700 !important;
font-size: 12px !important;
color: #1a6fa8 !important;
text-transform: uppercase !important;
letter-spacing: 0.4px !important;
}
.atc-fl-leg-date {
font-size: 12px !important;
color: #64748b !important;
}
.atc-fl-leg-route {
margin-left: auto !important;
font-size: 13px !important;
color: #2c3e50 !important;
font-weight: 500 !important;
}
.atc-fl-leg-route b { color: #1e293b !important; font-weight: 700 !important; }
.atc-fl-leg-route i {
font-style: normal !important;
color: #3498db !important;
margin: 0 4px !important;
}
.atc-fl-summary {
display: flex !important;
align-items: center !important;
gap: 14px !important;
padding: 10px 14px !important;
cursor: pointer !important;
box-sizing: border-box !important;
max-width: 100% !important;
}
.atc-fl-summary:hover { background: #f8fafc !important; }
.atc-fl-carrier {
display: flex !important;
align-items: center !important;
gap: 8px !important;
min-width: 120px !important;
flex: 0 0 auto !important;
}
.atc-fl-carrier .atc-fo-airline-logo { height: 22px !important; }
.atc-fl-num { font-size: 12px !important; color: #7f8c8d !important; font-weight: 600 !important; }
.atc-fl-multi { font-size: 10px !important; color: #e67e22 !important; font-weight: 700 !important; }
.atc-fl-mid {
flex: 1 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
gap: 18px !important;
min-width: 0 !important;
}
.atc-fl-time {
font-size: 15px !important;
font-weight: 700 !important;
color: #1e293b !important;
white-space: nowrap !important;
}
.atc-fl-nd {
font-size: 10px !important;
color: #e67e22 !important;
font-weight: 700 !important;
margin-left: 1px !important;
}
.atc-fl-dur-wrap {
display: flex !important;
flex-direction: column !important;
align-items: center !important;
min-width: 64px !important;
}
.atc-fl-dur { font-size: 11px !important; color: #64748b !important; white-space: nowrap !important; }
.atc-fl-stops {
font-size: 12px !important;
color: #1a6fa8 !important;
font-weight: 600 !important;
display: inline-flex !important;
align-items: center !important;
gap: 3px !important;
white-space: nowrap !important;
}
.atc-fl-chev {
display: inline-block !important;
transition: transform 0.2s ease !important;
font-size: 12px !important;
}
.atc-fl-leg.atc-fl-open .atc-fl-chev { transform: rotate(180deg) !important; }
.atc-fl-bag { font-size: 15px !important; flex: 0 0 auto !important; } .atc-fl-bag-no {
position: relative !important;
background: #fdecea !important;
border: 1px solid #e74c3c !important;
border-radius: 6px !important;
padding: 1px 5px !important;
}
.atc-fl-bag-no::after {
content: '✕' !important;
position: absolute !important;
top: -5px !important;
right: -5px !important;
font-size: 9px !important;
line-height: 1 !important;
color: #fff !important;
background: #e74c3c !important;
border-radius: 50% !important;
padding: 1px 3px !important;
font-weight: 700 !important;
}
.atc-fl-detail {
display: none !important;
border-top: 1px solid #eef1f4 !important;
background: #fafbfc !important;
padding: 4px 14px 8px !important;
box-sizing: border-box !important;
max-width: 100% !important;
}
.atc-fl-leg.atc-fl-open .atc-fl-detail { display: block !important; }
.atc-fl-layover {
font-size: 11px !important;
color: #7f8c8d !important;
padding: 5px 0 !important;
text-align: center !important;
border-bottom: 1px dashed #e8ecef !important;
} .atc-fl-alt-radio {
flex: 0 0 auto !important;
padding-top: 10px !important;
align-self: flex-start !important;
}
.atc-fl-alt-radio input[type="radio"] {
width: 16px !important;
height: 16px !important;
margin: 0 !important;
accent-color: #1a6fa8 !important;
cursor: pointer !important;
} .atc-fl-filters {
display: flex !important;
flex-wrap: wrap !important;
align-items: center !important;
gap: 8px !important;
margin-bottom: 10px !important;
}
.atc-ff-sel {
padding: 5px 26px 5px 10px !important;
font-size: 12px !important;
font-weight: 500 !important;
color: #334155 !important;
border: 1px solid #d9e0e7 !important;
border-radius: 999px !important;
background: #fff url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2394a3b8' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 9px center !important;
-webkit-appearance: none !important;
-moz-appearance: none !important;
appearance: none !important;
cursor: pointer !important;
max-width: 100% !important;
}
.atc-ff-sel:hover { border-color: #b8c6d1 !important; }
.atc-ff-sel:focus { outline: none !important; border-color: #1a6fa8 !important; box-shadow: 0 0 0 2px rgba(26,111,168,0.12) !important; }
.atc-ff-count {
margin-left: auto !important;
color: #94a3b8 !important;
font-size: 11px !important;
} .r-tp-alt-row.atc-alt-hidden { display: none !important; }
.atc-fl-alt-label {
font-size: 12px !important;
font-weight: 600 !important;
color: #7f8c8d !important;
} .r-tp-alt-main .atc-fl-leg {
border: 0 !important;
border-top: 1px solid #eef1f4 !important;
border-radius: 0 !important;
margin-bottom: 0 !important;
}
.r-tp-alt-main .atc-fl-leg-head { padding-left: 0 !important; padding-right: 0 !important; }
.r-tp-alt-main .atc-fl-summary { padding-left: 0 !important; padding-right: 0 !important; }
.r-tp-alt-main .atc-fl-detail { padding-left: 4px !important; padding-right: 4px !important; } .fo-card { display: flex !important; flex-direction: row !important; align-items: flex-start !important; gap: 10px !important; }
.fo-card .fo-card-body { flex: 1 !important; min-width: 0 !important; }
.fo-card .atc-fl-leg { margin-bottom: 0 !important; }
@media (max-width: 640px) {
.atc-fl-summary { flex-wrap: wrap !important; gap: 8px !important; }
.atc-fl-carrier { min-width: 0 !important; }
.atc-fl-mid { gap: 10px !important; flex-basis: 100% !important; order: 3 !important; }
.atc-fl-bag { margin-left: auto !important; }
.atc-fl-leg-route { margin-left: 0 !important; flex-basis: 100% !important; }
.r-tp-alt-row { padding: 10px !important; } .atc-fl-filters { gap: 6px !important; }
.atc-ff-sel { flex: 1 1 calc(50% - 6px) !important; min-width: 0 !important; }
.atc-ff-count { flex-basis: 100% !important; margin-left: 0 !important; text-align: right !important; } .r-tp-alt-top { flex-wrap: wrap !important; }
.r-tp-alt-action { flex-shrink: 1 !important; flex-wrap: wrap !important; justify-content: flex-end !important; }
.atc-fl-alt-label { flex-basis: 100% !important; } .r-tp-alt-seg-code { font-size: 14px !important; }
.r-tp-alt-seg-main { gap: 6px !important; }
.r-tp-alt-seg-arrow { font-size: 14px !important; } .fo-card { gap: 6px !important; }
}
.r-btn-secondary {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
gap: 6px !important;
padding: 6px 14px !important;
border-radius: 20px !important;
font-weight: 600 !important;
font-size: 12px !important;
cursor: pointer !important;
border: 1px solid #e2e8f0 !important;
background: #fff !important;
color: #475569 !important;
box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
transition: all 0.2s !important;
white-space: nowrap !important;
}
.r-btn-secondary:hover {
background: #f8fafc !important;
color: #0f172a !important;
border-color: #cbd5e1 !important;
}
.r-btn-secondary:disabled {
opacity: 0.6 !important;
cursor: default !important;
} .atc-hotel-container { display: flex; flex-direction: column; gap: 15px; }
.atc-hotel-image { width: 100%; height: 250px; overflow: hidden; border-radius: 8px; margin-bottom: 15px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #1FA3C2 0%, #1989A3 100%); }
.atc-hotel-image img { width: 100%; height: 100%; object-fit: cover; }
.atc-hotel-fallback { color: white; font-weight: 600; text-align: center; padding: 20px; font-style: italic; } .fo-section { margin-bottom: 16px; }
.fo-section h5 { color: #1FA3C2; margin: 0 0 8px; font-weight: 600; }
.fo-options-list { display: flex; flex-direction: column; gap: 8px; max-height: 400px; overflow-y: auto; padding-right: 4px; }
.fo-options-list::-webkit-scrollbar { width: 6px; }
.fo-options-list::-webkit-scrollbar-thumb { background: #b0bec5; border-radius: 3px; }
.fo-options-list::-webkit-scrollbar-track { background: #eceff1; }
.fo-card {
border: 2px solid #e0e0e0;
border-radius: 10px;
padding: 10px 12px;
cursor: pointer;
transition: all 0.2s ease;
background: #fff;
}
.fo-card:hover { border-color: #81d4fa; background: #f1f9fc; }
.fo-card.fo-selected {
border-color: #1FA3C2;
background: linear-gradient(135deg, #e8f7fa 0%, #d4f1f7 100%);
box-shadow: 0 2px 8px rgba(31, 163, 194, 0.15);
}
.fo-card-header {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
margin-bottom: 6px;
}
.fo-airline { font-weight: 600; color: #333; }
.fo-route { color: #1FA3C2; font-weight: 500; }
.fo-stops { color: #888; background: #f5f5f5; padding: 2px 6px; border-radius: 4px; }
.fo-segments { margin: 4px 0 6px; }
.fo-segment {
display: flex;
justify-content: space-between;
align-items: center;
padding: 3px 0;
border-bottom: 1px dashed #eee;
}
.fo-segment:last-child { border-bottom: none; }
.fo-seg-route { color: #555; font-weight: 500; }
.fo-seg-meta { color: #888; }
.fo-card-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 4px;
}
.fo-class { color: #888; }
.fo-supplement { font-weight: 600; color: #e67e22; }
.fo-no-supplement { color: #27ae60; }
.atc-hotel-info { display: flex; flex-direction: column; gap: 15px; }
.atc-hotel-name { display: flex; align-items: center; gap: 10px; color: #333; }
.atc-detail-stars { color: #ffc107; }
.atc-hotel-details { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.atc-detail-row { display: flex; flex-direction: column; }
.atc-label { color: #999; font-weight: 600; margin-bottom: 3px; }
.atc-value { color: #333; } .atc-included-list { display: flex; flex-direction: column; gap: 8px; }
.atc-included-item { display: flex; align-items: center; gap: 10px; padding: 10px; background: #f9f9f9; border-radius: 4px; color: #333; } .atc-section-additional { border: 2px solid #1FA3C2; }
.atc-section-additional .atc-section-title { border-bottom-color: #1FA3C2; }
.atc-additional-list { display: flex; flex-direction: column; gap: 8px; }
.atc-additional-item { display: flex; justify-content: space-between; align-items: center; padding: 10px; background: #f0f9fa; border-radius: 4px; }
.atc-additional-price { font-weight: 600; color: #1FA3C2; } .atc-excursions-list { display: flex; flex-direction: column; gap: 12px; }
.atc-excursion-item { padding: 12px; background: #f0f9fa; border-radius: 4px; border-left: 3px solid #27ae60; }
.atc-excursion-header { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.atc-excursion-code { color: #999; }
.atc-excursion-desc { margin: 0 0 8px 0; color: #555; line-height: 1.4; }
.atc-excursion-prices { display: flex; gap: 8px; flex-wrap: wrap; }
.atc-excursion-price { background: #e8f5e9; color: #27ae60; padding: 4px 8px; border-radius: 3px; font-weight: 600; } .atc-payment-block { margin-top: 20px; }
.atc-table { width: 100%; border-collapse: collapse; }
.atc-table th, .atc-table td { padding: 10px; border: 1px solid #e0e0e0; text-align: left; }
.atc-table th { background: #f5f5f5; font-weight: 600; } @media (max-width: 768px) {
.atc-back-btn { padding: 10px 20px; }
.atc-flight-route { flex-direction: column; gap: 15px; }
.atc-hotel-image { height: 200px; }
}
@media (min-width: 1200px) {
.atc-hotel-container { flex-direction: row; gap: 25px; }
.atc-hotel-image { width: 400px; height: 300px; flex-shrink: 0; }
.atc-hotel-info { flex: 1; }
} .atc-autocomplete {
position: relative !important;
width: 100% !important;
}
.atc-ac-input {
padding-right: 36px !important;
cursor: text !important;
}
.atc-ac-input[readonly] {
cursor: pointer !important;
}
.atc-ac-arrow {
position: absolute !important;
right: 10px !important;
top: 50% !important;
transform: translateY(-50%) !important;
width: 18px !important;
height: 18px !important;
color: #7f8c8d !important;
cursor: pointer !important;
pointer-events: auto !important;
transition: transform 0.2s !important;
font-size: 16px !important;
line-height: 18px !important;
}
.atc-ac-arrow.atc-ac-arrow-up {
transform: translateY(-50%) rotate(180deg) !important;
}
.atc-ac-dropdown {
display: none;
position: absolute !important;
top: calc(100% + 4px) !important;
left: 0 !important;
right: 0 !important;
max-height: 260px !important;
overflow-y: auto !important;
background: #fff !important;
border: 2px solid #e8ecef !important;
border-radius: 10px !important;
box-shadow: 0 8px 30px rgba(26,35,50,0.15) !important;
z-index: 100 !important;
padding: 4px 0 !important;
}
.atc-ac-item {
padding: 10px 14px !important;
cursor: pointer !important;
font-size: 13px !important;
font-weight: 500 !important;
color: #2c3e50 !important;
transition: background 0.15s !important;
white-space: nowrap !important;
overflow: hidden !important;
text-overflow: ellipsis !important;
}
.atc-ac-item:hover,
.atc-ac-item.atc-ac-active {
background: #f0f9fa !important;
color: #1FA3C2 !important;
}
.atc-ac-empty {
padding: 12px 14px !important;
color: #7f8c8d !important;
font-size: 13px !important;
font-style: italic !important;
} @media (max-width: 768px) {
.atc-ac-dropdown {
max-height: 200px !important;
border-radius: 8px !important;
}
.atc-ac-input {
font-size: 16px !important;
}
} @media (pointer: coarse), (max-width: 768px) {
.atc-wrapper .atc-sort select, .atc-wrapper .circ-sort select,
.circ-wrapper .circ-sort select, .comb-wrapper .atc-sort select,
.atc-wrapper .atc-field .form-control, .comb-wrapper .atc-field .form-control,
.atc-wrapper input, .atc-wrapper select, .atc-wrapper textarea,
.circ-wrapper input, .circ-wrapper select, .circ-wrapper textarea,
.comb-wrapper input, .comb-wrapper select, .comb-wrapper textarea,
.r-pax-modal input, .r-pax-modal select, .r-pax-modal textarea {
font-size: 16px !important;
}
} .atc-pager {
display: flex !important;
flex-wrap: wrap !important;
align-items: center !important;
justify-content: center !important;
gap: 6px !important;
margin-top: 18px !important;
}
.atc-page-btn {
min-width: 36px !important;
height: 36px !important;
padding: 0 10px !important;
border: 1px solid var(--atc-res-chip-bg, #d5e8ee) !important;
border-radius: 8px !important;
background: #fff !important;
color: var(--atc-res-chip-text, #1FA3C2) !important;
font-size: 13px !important;
font-weight: 600 !important;
cursor: pointer !important;
transition: background .15s ease, color .15s ease !important;
}
.atc-page-btn:hover:not(:disabled) {
background: var(--atc-res-chip-bg, #eaf6f9) !important;
}
.atc-page-btn:disabled {
opacity: .4 !important;
cursor: default !important;
}
.atc-page-btn.atc-page-active {
background: var(--atc-res-chip-text, #1FA3C2) !important;
border-color: var(--atc-res-chip-text, #1FA3C2) !important;
color: #fff !important;
}
.atc-page-dots {
color: var(--atc-muted, #7f8c8d) !important;
padding: 0 4px !important;
align-self: center !important;
} .atc-chip-indicative {
background: #fff3cd !important;
color: #856404 !important;
border: 1px dashed #e0c56a !important;
} .atc-progress-inline {
display: inline-flex !important;
align-items: center !important;
width: 180px !important;
height: 10px !important;
margin-left: 14px !important;
padding: 0 !important;
background: transparent !important;
border: none !important;
box-shadow: none !important;
vertical-align: middle !important;
}
.atc-progress-inline .atc-progress-track {
display: block !important;
width: 100% !important;
height: 10px !important;
border-radius: 6px !important;
overflow: hidden !important;
}
@media (max-width: 640px) {
.atc-progress-inline {
display: flex !important;
width: 100% !important;
margin: 8px 0 0 !important;
}
} .atc-progress-inline .atc-progress-track {
background: #d9f0f5 !important;
position: relative !important;
}
.atc-progress-inline .atc-progress-fill {
background: linear-gradient(90deg, #1FA3C2, #1989A3) !important;
border-radius: inherit !important;
}