.review-slider {
padding: 80px 0;
background:
radial-gradient(
circle at 10% 10%,
rgba(24, 206, 191, 0.07),
transparent 28%
),
#f5f8fa;
overflow: hidden;
}

.review-page-header {
max-width: 760px;
margin: 0 auto 55px;
text-align: center;
}

.review-page-eyebrow {
display: inline-flex;
align-items: center;
justify-content: center;
margin-bottom: 10px;
color: #008f9f;
font-size: 0.78rem;
font-weight: 800;
letter-spacing: 0.12em;
text-transform: uppercase;
}

.review-page-header h1 {
margin: 0 0 12px;
color: #0f172a;
font-size: clamp(2.2rem, 5vw, 3.3rem);
font-weight: 800;
line-height: 1.1;
}

.review-page-header h1 span {
color: #18cebf;
}

.review-page-description {
max-width: 650px;
margin: 0 auto;
color: #64748b;
font-size: 1rem;
line-height: 1.75;
}

/* ============================================================
REVIEW LAYOUT
============================================================ */

.review-layout {
align-items: stretch;
}

.review-slider-column,
.review-form-column {
display: flex;
flex-direction: column;
}

.review-section-heading {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 20px;
margin-bottom: 20px;
}

.review-section-label {
display: block;
margin-bottom: 6px;
color: #008f9f;
font-size: 0.76rem;
font-weight: 800;
letter-spacing: 0.08em;
text-transform: uppercase;
}

.review-section-heading h2 {
margin: 0;
color: #0f172a;
font-size: clamp(1.35rem, 2.5vw, 1.8rem);
font-weight: 800;
line-height: 1.25;
}

.review-count-badge {
display: inline-flex;
align-items: center;
gap: 7px;
flex-shrink: 0;
padding: 8px 12px;
border: 1px solid #d6eeec;
border-radius: 999px;
background: #ffffff;
color: #008f9f;
font-size: 0.78rem;
font-weight: 700;
box-shadow: 0 5px 16px rgba(15, 23, 42, 0.05);
}

.review-count-badge i {
font-size: 0.85rem;
}

/* ============================================================
REVIEW SLIDER
============================================================ */

.review-swiper {
width: 100%;
padding: 5px 5px 55px;
}

.review-swiper .swiper-slide {
height: auto;
display: flex;
}

.review-card {
position: relative;
width: 100%;
min-height: 390px;
padding: 30px;
overflow: hidden;
border: 1px solid #e4edf0;
border-radius: 24px;
background: #ffffff;
box-shadow: 0 14px 35px rgba(15, 23, 42, 0.07);
transition:
transform 0.3s ease,
box-shadow 0.3s ease;
}

.review-card::before {
content: "";
position: absolute;
top: -80px;
right: -80px;
width: 190px;
height: 190px;
border-radius: 50%;
background: rgba(24, 206, 191, 0.08);
pointer-events: none;
}

.review-card::after {
content: "";
position: absolute;
left: 0;
top: 0;
width: 4px;
height: 100%;
background: linear-gradient(
180deg,
#18cebf,
#008f9f
);
border-radius: 24px 0 0 24px;
}

.review-card:hover {
transform: translateY(-5px);
box-shadow: 0 20px 45px rgba(15, 23, 42, 0.11);
}

.review-card-top {
position: relative;
z-index: 2;
display: flex;
align-items: center;
gap: 15px;
}

.review-image {
flex-shrink: 0;
}

.review-image img {
width: 70px;
height: 70px;
object-fit: cover;
border-radius: 50%;
border: 4px solid #ffffff;
outline: 2px solid #18cebf;
background: #e8fbf9;
box-shadow: 0 7px 18px rgba(0, 143, 159, 0.16);
}

.review-card-rating {
min-width: 0;
}

.stars {
display: flex;
align-items: center;
gap: 3px;
margin-bottom: 7px;
font-size: 1.05rem;
line-height: 1;
}

.star-filled {
color: #f5b301;
text-shadow: 0 2px 5px rgba(245, 179, 1, 0.18);
}

.star-empty {
color: #dce2e8;
}

.review-verified {
display: inline-flex;
align-items: center;
gap: 5px;
color: #64748b;
font-size: 0.72rem;
font-weight: 600;
}

.review-verified i {
color: #18b7a8;
font-size: 0.7rem;
}

.review-quote-icon {
position: relative;
z-index: 1;
display: flex;
align-items: center;
justify-content: center;
width: 42px;
height: 42px;
margin: 27px 0 12px;
border-radius: 12px;
background: #eafcf9;
color: #008f9f;
font-size: 1rem;
}

.review-text {
position: relative;
z-index: 1;
margin: 0 0 25px;
color: #475569;
font-size: 0.96rem;
line-height: 1.8;
}

.review-card-footer {
position: relative;
z-index: 1;
padding-top: 18px;
border-top: 1px solid #edf2f4;
}

.review-name {
margin: 0 0 3px;
color: #0f172a;
font-size: 1rem;
font-weight: 750;
}

.review-traveler-label {
color: #94a3b8;
font-size: 0.75rem;
font-weight: 500;
}

.swiper-pagination {
bottom: 12px !important;
}

.swiper-pagination-bullet {
width: 8px;
height: 8px;
background: #18cebf;
opacity: 0.3;
transition:
width 0.2s ease,
opacity 0.2s ease;
}

.swiper-pagination-bullet-active {
width: 24px;
border-radius: 20px;
background: #008f9f;
opacity: 1;
}

/* ============================================================
GOOGLE REVIEW CTA
============================================================ */

.review-google-cta {
display: flex;
align-items: center;
gap: 13px;
margin-top: 3px;
padding: 15px 17px;
border: 1px solid #e2e8f0;
border-radius: 16px;
background: #ffffff;
box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

.review-google-cta-icon {
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
flex: 0 0 40px;
border-radius: 11px;
background: #f8fafc;
}

.review-google-cta-icon .google-g {
font-family: Arial, sans-serif;
font-size: 25px;
font-weight: 700;
line-height: 1;
background: linear-gradient(
135deg,
#4285f4 0%,
#4285f4 25%,
#34a853 25%,
#34a853 45%,
#fbbc05 45%,
#fbbc05 65%,
#ea4335 65%,
#ea4335 82%,
#4285f4 82%
);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}

.review-google-cta-content {
min-width: 0;
flex: 1;
}

.review-google-cta-content strong {
display: block;
margin-bottom: 2px;
color: #202124;
font-size: 0.82rem;
font-weight: 700;
}

.review-google-cta-content span {
display: block;
color: #64748b;
font-size: 0.74rem;
}

.review-google-cta-button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 7px;
flex-shrink: 0;
min-height: 38px;
padding: 0 14px;
border: 1px solid #d7e2e5;
border-radius: 9px;
background: #ffffff;
color: #334155;
text-decoration: none;
font-size: 0.76rem;
font-weight: 700;
transition:
border-color 0.2s ease,
color 0.2s ease,
background-color 0.2s ease,
transform 0.2s ease;
}

.review-google-cta-button i {
font-size: 0.82rem;
}

.review-google-cta-button:hover {
border-color: #18cebf;
background: #f0fdfa;
color: #008f9f;
transform: translateY(-1px);
text-decoration: none;
}

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

.review-form-panel {
height: 100%;
padding: clamp(25px, 4vw, 36px);
border: 1px solid #dceff2;
border-radius: 24px;
background: #ffffff;
box-shadow: 0 14px 35px rgba(15, 23, 42, 0.07);
}

.review-form-header {
margin-bottom: 25px;
}

.review-form-heading {
margin: 0 0 7px;
color: #0f172a;
font-size: clamp(1.4rem, 2.5vw, 1.8rem);
font-weight: 800;
}

.review-form-intro {
margin: 0;
color: #64748b;
font-size: 0.9rem;
line-height: 1.65;
}

.review-form-label {
display: block;
margin-bottom: 7px;
color: #334155;
font-size: 0.82rem;
font-weight: 700;
}

.review-form-panel .form-control {
min-height: 46px;
border: 1px solid #d5e1e5;
border-radius: 10px;
background: #fbfefe;
color: #172033;
font-size: 0.9rem;
transition:
border-color 0.2s ease,
box-shadow 0.2s ease,
background-color 0.2s ease;
}

.review-form-panel .form-control::placeholder {
color: #94a3b8;
}

.review-form-panel textarea.form-control {
min-height: 125px;
resize: vertical;
}

.review-form-panel .form-control:focus {
border-color: #18cebf;
background: #ffffff;
box-shadow: 0 0 0 3px rgba(24, 206, 191, 0.13);
}

/* ============================================================
RATING DROPDOWN
============================================================ */

.review-rating-dropdown {
position: relative;
width: 100%;
}

.review-rating-button {
width: 100%;
min-height: 46px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 8px 14px;
border: 1px solid #d5e1e5;
border-radius: 10px;
background: #fbfefe;
color: #172033;
cursor: pointer;
text-align: left;
transition:
border-color 0.2s ease,
box-shadow 0.2s ease,
background-color 0.2s ease;
}

.review-rating-button:hover {
border-color: #18cebf;
background: #ffffff;
}

.review-rating-button:focus {
outline: none;
border-color: #18cebf;
background: #ffffff;
box-shadow: 0 0 0 3px rgba(24, 206, 191, 0.13);
}

.review-rating-selected {
display: flex;
align-items: center;
gap: 3px;
min-width: 0;
}

.review-rating-placeholder {
color: #94a3b8;
font-size: 0.9rem;
}

.review-rating-stars {
display: inline-flex;
align-items: center;
gap: 2px;
line-height: 1;
white-space: nowrap;
}

.review-rating-stars .gold-star,
.review-rating-option-stars .gold-star {
color: #f5b301;
text-shadow: 0 1px 3px rgba(245, 179, 1, 0.18);
}

.review-rating-stars .gray-star,
.review-rating-option-stars .gray-star {
color: #d8dee6;
}

.review-rating-label {
margin-left: 7px;
color: #475569;
font-size: 0.85rem;
white-space: nowrap;
}

.review-rating-arrow {
color: #64748b;
font-size: 11px;
transition: transform 0.2s ease;
}

.review-rating-dropdown.is-open .review-rating-arrow {
transform: rotate(180deg);
}

.review-rating-menu {
position: absolute;
left: 0;
right: 0;
top: calc(100% + 6px);
z-index: 100;
display: none;
padding: 6px;
border: 1px solid #dceff2;
border-radius: 12px;
background: #ffffff;
box-shadow: 0 14px 32px rgba(15, 23, 42, 0.14);
}

.review-rating-dropdown.is-open .review-rating-menu {
display: block;
}

.review-rating-option {
width: 100%;
min-height: 44px;
display: flex;
align-items: center;
gap: 9px;
padding: 8px 10px;
border: 0;
border-radius: 8px;
background: transparent;
cursor: pointer;
text-align: left;
transition: background-color 0.15s ease;
}

.review-rating-option:hover,
.review-rating-option:focus {
outline: none;
background: #f0fdfa;
}

.review-rating-option.is-selected {
background: #ecfeff;
}

.review-rating-option-stars {
display: inline-flex;
align-items: center;
gap: 2px;
min-width: 90px;
font-size: 1.1rem;
line-height: 1;
}

.review-rating-option-label {
color: #334155;
font-size: 0.82rem;
font-weight: 500;
}

.review-rating-option:hover .review-rating-option-label,
.review-rating-option.is-selected .review-rating-option-label {
color: #008f9f;
font-weight: 700;
}

/* ============================================================
SUBMIT BUTTON
============================================================ */

.review-submit-button {
width: 100%;
min-height: 48px;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 0 24px;
border: 0;
border-radius: 10px;
background: linear-gradient(
135deg,
#18cebf,
#008f9f
);
color: #ffffff;
font-size: 0.88rem;
font-weight: 750;
box-shadow: 0 8px 20px rgba(0, 143, 159, 0.18);
transition:
transform 0.2s ease,
box-shadow 0.2s ease,
filter 0.2s ease;
}

.review-submit-button:hover {
color: #ffffff;
filter: brightness(0.96);
transform: translateY(-2px);
box-shadow: 0 12px 25px rgba(0, 143, 159, 0.25);
}

.review-submit-button:disabled {
opacity: 0.65;
cursor: not-allowed;
transform: none;
box-shadow: none;
}

.review-honeypot {
position: absolute;
left: -10000px;
top: auto;
width: 1px;
height: 1px;
overflow: hidden;
}

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

@media (max-width: 991.98px) {


.review-slider {
    padding: 65px 0;
}

.review-page-header {
    margin-bottom: 40px;
}

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


}

@media (max-width: 767.98px) {


.review-slider {
    padding: 55px 0;
}

.review-page-header {
    margin-bottom: 35px;
}

.review-page-description {
    font-size: 0.9rem;
}

.review-section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
}

.review-count-badge {
    align-self: flex-start;
}

.review-card {
    min-height: 360px;
    padding: 25px 22px;
    border-radius: 20px;
}

.review-image img {
    width: 62px;
    height: 62px;
}

.review-text {
    font-size: 0.9rem;
    line-height: 1.7;
}

.review-google-cta {
    align-items: flex-start;
    flex-wrap: wrap;
}

.review-google-cta-content {
    flex: 1 1 calc(100% - 55px);
}

.review-google-cta-button {
    width: 100%;
    margin-top: 3px;
}

.review-form-panel {
    border-radius: 20px;
    padding: 24px 20px;
}


}

@media (max-width: 420px) {


.review-slider {
    padding: 45px 0;
}

.review-card {
    padding: 22px 18px;
}

.review-card-top {
    gap: 11px;
}

.review-image img {
    width: 56px;
    height: 56px;
}

.stars {
    font-size: 0.95rem;
}

.review-verified {
    font-size: 0.65rem;
}

.review-quote-icon {
    width: 38px;
    height: 38px;
    margin-top: 22px;
}

.review-text {
    font-size: 0.87rem;
}

.review-google-cta {
    padding: 13px;
}


}
