/* Customer reviews: page-only layout over the shared Design 1 visual system. */
.customer-reviews-page { background: #f3f0ff; color: #180b3c; padding-top: 18px; --travel-pattern-opacity: .65; }
.customer-reviews-page .site-container { max-width: 1240px; }
.cr-breadcrumb { display: flex; align-items: center; gap: 10px; font-size: 13px; margin-bottom: 16px; }
.cr-hero { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.cr-hero h1 { font-size: clamp(34px,4.4vw,54px); font-weight: 800; margin: 0; letter-spacing: -1.5px; color: #170830; }
.cr-hero h2 { font-size: clamp(20px,2.2vw,28px); letter-spacing: -.7px; margin: 0 0 6px; }
.cr-hero p { font-size: 17px; color: #565187; margin: 0; line-height: 1.25; }
.cr-hero-note { display: flex; align-items: center; gap: 40px; color: #642486; padding-right: 18px; }
.cr-hero-note > .icon { width: 65px; height: 65px; transform: rotate(8deg); }
.cr-hero-note em { font-family: cursive; font-size: 17px; line-height: 1.35; text-align: center; transform: rotate(-10deg); }
.cr-hero-note em span { display: block; font-size: 40px; }
.cr-layout { display: grid; grid-template-columns: minmax(0,2.27fr) minmax(270px,1fr); gap: 16px; }
.cr-main { min-width: 0; }
.cr-box { background: #fffffff5; border: 1px solid #e7e2fc; border-radius: 8px; }
.cr-summary { padding: 16px 18px; margin-bottom: 12px; }
.cr-summary-top { display: grid; grid-template-columns: 1.1fr 1fr; gap: 18px; padding-bottom: 18px; }
.cr-summary h2, .cr-sidebar h2 { font-size: 19px; line-height: 1.2; margin: 0; letter-spacing: -.4px; }
.cr-overall h2 { display: flex; align-items: center; gap: 13px; }
.cr-circle, .cr-soft-circle { width: 48px; height: 48px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: linear-gradient(115deg,#71318a,#4c196c); color: #fff; font-size: 29px; }
.cr-circle .icon, .cr-soft-circle .icon { width: 29px; height: 29px; }
.cr-score { display: flex; align-items: center; gap: 20px; }
.cr-score > strong { font-size: 76px; font-weight: 800; line-height: 1; letter-spacing: -3px; }
.cr-score p { font-size: 14px; color: #615a91; margin: 7px 0 0; }
.cr-stars { position: relative; display: inline-block; color: #e0e1ec; font-size: 21px; letter-spacing: 0; line-height: 1; white-space: nowrap; }
.cr-stars-fill { position: absolute; left: 0; top: 0; overflow: hidden; color: #ffbb00; }
.cr-stars-large { font-size: 39px; letter-spacing: 1px; }
.cr-distribution { display: grid; gap: 8px; align-content: center; border-left: 1px solid #eeebf8; padding-left: 18px; }
.cr-distribution > div { display: grid; grid-template-columns: 54px 1fr 34px; align-items: center; gap: 10px; font-size: 13px; }
.cr-distribution meter { width: 100%; height: 12px; border: 0; border-radius: 3px; background: #eeeef6; }
.cr-distribution meter::-webkit-meter-bar { background: #eeeef6; border: 0; border-radius: 3px; }
.cr-distribution meter::-webkit-meter-optimum-value { background: #71318a; border-radius: 2px; }
.cr-distribution meter::-moz-meter-bar { background: #71318a; }
.cr-assurances { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #eeebf8; padding-top: 14px; }
.cr-assurances > div { display: flex; align-items: center; gap: 10px; padding: 0 10px; border-right: 1px solid #eeebf8; }
.cr-assurances > div:first-child { padding-left: 0; }
.cr-assurances > div:last-child { border: 0; padding-right: 0; }
.cr-assurances .icon { width: 27px; height: 27px; color: #682580; flex-shrink: 0; }
.cr-assurances p { margin: 0; font-size: 12px; }
.cr-assurances strong, .cr-assurances span { display: block; }
.cr-assurances span { font-size: 11px; color: #655d90; margin-top: 3px; }
.cr-filters { display: grid; grid-template-columns: 1fr 1.15fr .85fr .95fr auto; align-items: end; gap: 12px; padding: 10px 14px; margin-bottom: 8px; }
.cr-filters > div { min-width: 0; }
.cr-filters label { display: block; font-size: 11px; margin-bottom: 5px; }
.cr-filters .form-select { font-size: 12px; padding: 7px 26px 7px 10px; border-color: #ded7f4; color: #302354; }
.cr-filters .cr-verified-filter { display: flex; align-items: center; gap: 8px; font-size: 11px; white-space: nowrap; margin-bottom: 10px; }
.cr-filters .form-check-input { margin: 0; width: 17px; height: 17px; }
.cr-filters .form-check-input:checked { background-color: #652784; border-color: #652784; }
#cr-list { display: grid; gap: 8px; }
.cr-review { position: relative; display: grid; grid-template-columns: 215px 1fr; padding: 12px 22px 10px 16px; min-height: 110px; }
.cr-review[hidden], .cr-empty[hidden] { display: none !important; }
.cr-author { display: flex; align-items: flex-start; gap: 16px; padding-right: 12px; border-right: 1px solid #eeebfa; }
.cr-avatar { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; flex-shrink: 0; background: linear-gradient(110deg,#d4c0ff,#c3a1ff); color: #43156d; font-size: 20px; font-weight: 700; }
.cr-review h3 { font-size: 15px; margin: 2px 0 3px; font-weight: 700; letter-spacing: -.3px; }
.cr-author p { font-size: 12px; line-height: 1.3; margin-bottom: 8px; color: #61578d; }
.cr-verified-badge { display: inline-block; padding: 5px 8px; border-radius: 20px; background: #eee5ff; color: #651c99; font-size: 11px; font-weight: 500; }
.cr-review-body { padding-left: 18px; }
.cr-review-body > p { color: #60578d; font-size: 12px; line-height: 1.15; margin-bottom: 5px; }
.cr-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.cr-tags span { padding: 4px 14px; background: #eae0ff; color: #4d1874; font-size: 11px; border-radius: 20px; }
.cr-review-menu { position: absolute; right: 8px; top: 8px; }
.cr-menu-toggle { border: 0; background: transparent; color: #62598c; font-size: 21px; padding: 0 4px; }
.cr-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 10px 0; }
.cr-pagination p { font-size: 12px; color: #65598d; margin: 0; }
#cr-pages { display: flex; gap: 5px; }
#cr-pages button { border: 1px solid #e2dafa; background: #fff; color: #403263; padding: 8px 11px; border-radius: 5px; font-size: 12px; }
#cr-pages button[aria-current="page"] { background: #71318a; color: #fff; }
#cr-pages button:disabled { opacity: .5; cursor: default; }
.cr-empty { padding: 30px; text-align: center; }
.cr-sidebar { display: grid; align-content: start; gap: 14px; padding-top: 8px; }
.cr-write { padding: 20px; border-radius: 8px; color: #fff; background: linear-gradient(115deg,#45205a,#71318a); }
.cr-write > div { display: flex; gap: 18px; margin-bottom: 16px; }
.cr-write > div > .icon { width: 44px; height: 44px; flex-shrink: 0; }
.cr-write h2 { color: white; margin-bottom: 10px; }
.cr-write p { font-size: 13px; line-height: 1.3; margin: 0; color: #f2e9fa; }
.cr-sidebar .offers-button { width: 100%; }
.cr-highlights { padding: 12px 15px; }
.cr-highlights h2 { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.cr-highlights h2 .cr-circle { width: 42px; height: 42px; }
.cr-highlight { display: flex; gap: 15px; padding: 12px 0; border-top: 1px solid #eeebfa; }
.cr-highlight:last-child { padding-bottom: 3px; }
.cr-soft-circle { background: #ece1ff; color: #622180; }
.cr-highlight h3 { font-size: 15px; margin: 0 0 5px; letter-spacing: -.4px; }
.cr-highlight p { font-size: 12px; color: #65598d; margin: 0 0 5px; line-height: 1.3; }
.cr-highlight strong { font-size: 13px; font-weight: 500; color: #66238d; }
.cr-trusted { border-radius: 8px; background: #e8ddfc; padding: 20px; }
.cr-trusted > div { display: flex; gap: 14px; align-items: center; }
.cr-trusted p { font-size: 13px; line-height: 1.4; color: #62528a; margin: 12px 0 16px 63px; }
.cr-demo-note { font-size: 11px; color: #685887; margin: 3px 0 12px; }
.customer-reviews-page .contact-cta { margin-bottom: 6px; }
.customer-reviews-page :focus-visible { outline: 3px solid #9a6ad0; outline-offset: 2px; }
@media (max-width: 1199px) {
    .cr-review { grid-template-columns: 215px 1fr; }
    .cr-author { gap: 10px; }
    .cr-avatar { width: 44px; height: 44px; }
    .cr-filters { gap: 8px; }
    .cr-filters .cr-verified-filter { grid-column: 1 / -1; margin: 0; }
    .cr-filters { grid-template-columns: repeat(4,1fr); }
    .cr-stars-large { font-size: 30px; }
    .cr-score > strong { font-size: 64px; }
    .cr-assurances > div { gap: 6px; padding: 0 5px; }
}
@media (max-width: 991px) {
    .cr-layout { grid-template-columns: 1fr; }
    .cr-sidebar { grid-template-columns: 1fr 1fr; align-items: start; }
    .cr-highlights { grid-column: 2; grid-row: 1 / 3; }
    .cr-hero-note { display: none; }
}
@media (max-width: 575px) {
    .cr-summary-top { grid-template-columns: 1fr; }
    .cr-distribution { border: 0; padding: 0; }
    .cr-assurances { grid-template-columns: 1fr 1fr; gap: 12px; }
    .cr-assurances > div { border: 0; padding: 0; }
    .cr-summary { padding: 14px; }
    .cr-summary h2 { font-size: 17px; }
    .cr-hero p { font-size: 15px; }
    .cr-hero h1 { letter-spacing: -.7px; }
    .cr-filters { grid-template-columns: 1fr 1fr; }
    .cr-review { grid-template-columns: 1fr; padding: 14px; }
    .cr-author { border: 0; padding: 0 0 12px; }
    .cr-review-body { border-top: 1px solid #eeebfa; padding: 10px 0 0; }
    .cr-sidebar { grid-template-columns: 1fr; }
    .cr-highlights { grid-column: auto; grid-row: auto; }
    .cr-stars-large { font-size: 35px; }
    .cr-score { gap: 15px; }
}