*{box-sizing:border-box;margin:0;padding:0}
:root{
  --fr-blue:#287ed7;
  --fr-dark:#062b70;
  --fr-orange:#f6a21a;
  --fr-orange2:#ff8d08;
  --fr-green:#28a745;
  --fr-text:#111827;
  --fr-muted:#667085;
  --fr-border:#e7ebf2;
}
html{scroll-behavior:smooth}
body{font-family:'Nunito',sans-serif;color:var(--fr-text);background:#fff}
a{text-decoration:none;color:inherit}
button,input{font:inherit}
.fr-container{width:min(1400px,calc(100% - 64px));margin:auto}

/* Header */
.fr-header{height:80px;background:#fff;border-bottom:1px solid #edf0f5;position:relative;z-index:20}
.fr-nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}
.fr-logo{width:125px;height:auto;display:block}
.fr-navigation{display:flex;align-items:center;gap:38px;font-size:17px;font-weight:700}
.fr-navigation>a{transition:.25s ease}
.fr-navigation>a:hover{color:var(--fr-blue)}
.fr-nav-category{display:flex;align-items:center;gap:10px}
.fr-grid-icon{font-size:27px;color:var(--fr-blue);line-height:1}
.fr-chevron{font-size:20px;color:#111;margin-left:2px}
.fr-business-btn{background:var(--fr-orange);color:#fff!important;padding:9px 20px;border-radius:14px;    border: none;}
.fr-signin-btn{border:1.5px solid #5e8fdb;background:#fff;padding:9px 20px;border-radius:14px}
.fr-menu-toggle{display:none;border:0;background:transparent;cursor:pointer}
.fr-menu-toggle span{display:block;width:27px;height:3px;background:var(--fr-dark);margin:5px;border-radius:4px}

/* Hero */
.fr-hero{position:relative;overflow:hidden;height:300pxs;min-height:300px;background:linear-gradient(120deg,#062b70 0%,#0c3d92 53%,#062761 100%);color:#fff}
.fr-hero-content{position:relative;z-index:3;text-align:center;padding:125px 0 130px}
.fr-eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:#ffd27a;background:rgba(255,255,255,.08);padding:8px 15px;border-radius:30px;margin-bottom:10px}
.fr-hero h1{font-size:clamp(38px,5vw,52px);line-height:1.1;font-weight:900;letter-spacing:-1.5px}
.fr-hero h1 span{color:#ffad25}
.fr-hero h2{font-size: 27px;
    margin-top: 8px;
    color: #f1f5ff;
    max-width: 800px;
    margin: 25px auto;}

.fr-hero p{font-size: 17px;
    margin-top: 8px;
    color: #f1f5ff;
    max-width: 800px;
    margin: 30px auto;}
.fr-hero p strong{color:#ffad25}
/* ================================
   SEARCH BAR - SCREENSHOT STYLE
================================ */

.fr-search {
  width: min(869px, 92%);
    height: 62px;
    margin: 9px auto 9px;
    display: flex;
    align-items: stretch;
    background: #fff;
    border-radius: 35px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.18);
    padding: 0;
}

/* Main Search */
.fr-search-input-wrap {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    padding: 0 20px;
}

.fr-search-input-wrap input {
    width: 100%;
    height: 100%;

    border: 0;
    outline: 0;
    background: transparent;

    font-family: 'Nunito', sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: #344054;
}

.fr-search-input-wrap input::placeholder {
    color: #687386;
    opacity: 1;
}

/* Location */
.fr-search-location {
    width: 280px;

    display: flex;
    align-items: center;

    border-left: 1px solid #e0e0e0;
    padding: 0 22px;
}

.fr-search-location input {
    width: 100%;
    height: 100%;

    border: 0;
    outline: 0;
    background: transparent;

    font-family: 'Nunito', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #344054;
}

.fr-search-location input::placeholder {
    color: #344054;
    opacity: 1;
}

/* Search Button */
.fr-search-submit {
    width: 72px;
    min-width: 72px;

    border: 0;
    border-radius: 0;

    background: #f6a21a;
    color: #fff;

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

    cursor: pointer;

    transition: background .2s ease;
}

.fr-search-submit i {
    font-size: 27px;
}

.fr-search-submit:hover {
    background: #f6a21a;
}
.fr-trust-row{display:flex;justify-content:center;gap:12px;margin-top:20px}
.fr-trust-card{display:flex;align-items:center;gap:10px;text-align:left;min-width:175px}
.fr-trust-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.13);font-size:21px}
.fr-trust-card:nth-child(2) .fr-trust-icon{background:#f49c15}
.fr-trust-card:nth-child(3) .fr-trust-icon{background:#31a65c}
.fr-trust-card:nth-child(4) .fr-trust-icon{background:#8a54d8}
.fr-trust-card strong{display:block;font-size:18px}
.fr-trust-card small{display:block;font-size:15px;color:#dce6f8;margin-top:1px}

/* Decorative hero */
.fr-hero-orb{position:absolute;border-radius:50%;background:rgba(255,255,255,.04)}
.fr-orb-one{width:340px;height:340px;left:-120px;top:75px}
.fr-orb-two{width:260px;height:260px;right:11%;top:-160px}
.fr-hero-shape{position:absolute;bottom:-80px;width:500px;height:190px;background:#1652ae;transform:rotate(7deg);border-radius:50%}
.fr-shape-left{left:-100px}
.fr-shape-right{right:-100px;background:var(--fr-orange);transform:rotate(-12deg);width:600px}
.fr-floating{position:absolute;z-index:2;width:65px;height:65px;border:2px solid rgba(255,255,255,.14);border-radius:50%;display:grid;place-items:center;color:rgba(255,255,255,.5);font-size:25px}
.fr-float-chat{top:55px;left:15%;border-radius:20px}
.fr-float-star{top:100px;right:12%}
.fr-float-like{top:135px;left:8%}

/* Categories */
.fr-category-section{background:#f8faff;padding:74px 0 28px}
.fr-section-heading{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:18px}
.fr-section-heading span{width:58px;height:4px;border-radius:10px;background:linear-gradient(90deg,transparent,var(--fr-blue))}
.fr-section-heading span:last-child{background:linear-gradient(90deg,var(--fr-blue),transparent)}
.fr-section-heading h2{font-size:25px;color:#102f68;text-align:center;font-weight:900}
.fr-category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}
.fr-category-card{min-height:92px;background:#fff;border:1px solid #edf0f5;border-radius:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:10px;padding:8px 5px;font-size:13px;font-weight:700;box-shadow:0 5px 18px rgba(19,47,94,.06);transition:.25s ease}
.fr-category-card:hover{transform:translateY(-5px);border-color:#d7e5fa;box-shadow:0 13px 28px rgba(19,47,94,.11)}
.fr-category-icon{font-size:22px;font-weight:900;line-height:1}
.fr-category-icon.blue{color:#287ed7}
.fr-category-icon.orange{color:#f39b16}
.fr-category-icon.green{color:#269a4b}
.fr-category-icon.purple{color:#7c4dcc}
.fr-more-wrap{text-align:center;margin-top:12px}
.fr-more-btn{border:1px solid #b6cef1;background:#fff;color:#1e64bb;border-radius:25px;padding:10px 20px;font-weight:800;cursor:pointer;transition:.2s}
.fr-more-btn:hover{background:#eef6ff}
.fr-more-btn b{font-size:19px;margin-left:7px}

/* Toast */
.fr-toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,30px);background:#102f68;color:#fff;padding:13px 22px;border-radius:10px;opacity:0;pointer-events:none;transition:.3s;z-index:99;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.fr-toast.show{opacity:1;transform:translate(-50%,0)}

/* Responsive */
@media(max-width:1150px){
  .fr-container{width:min(100% - 36px,1100px)}
  .fr-navigation{gap:22px;font-size:15px}
  .fr-logo{width:160px}
  .fr-category-grid{grid-template-columns:repeat(6,1fr)}
}
@media(max-width:850px){
  .fr-header{height:78px}
  .fr-menu-toggle{display:block}
  .fr-navigation{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:18px;flex-direction:column;align-items:stretch;gap:8px;box-shadow:0 12px 25px rgba(0,0,0,.1)}
  .fr-navigation.open{display:flex}
  .fr-navigation>a{padding:13px 15px}
  .fr-business-btn,.fr-signin-btn{text-align:center}
  .fr-hero{height:auto;min-height:340px}
  .fr-hero-content{padding:32px 0 28px}
  .fr-hero p{font-size:18px}
  .fr-trust-row{display:grid;grid-template-columns:repeat(2,1fr);max-width:500px;margin:20px auto 0}
  .fr-trust-card{min-width:0}
  .fr-category-grid{grid-template-columns:repeat(3,1fr)}
  .fr-section-heading h2{font-size:24px}
}
@media(max-width:520px){
  .fr-container{width:calc(100% - 24px)}
  .fr-logo{width:145px}
  .fr-hero h1{font-size:32px}
  .fr-hero p{font-size:16px;line-height:1.5}
  .fr-search{height:auto;min-height:60px;padding:4px 5px 4px 15px}
  .fr-search-icon{font-size:27px}
  .fr-search input{font-size:14px;padding:0 8px}
  .fr-search button{padding:12px 16px;min-width:auto;font-size:14px}
  .fr-trust-row{grid-template-columns:1fr 1fr;gap:12px}
  .fr-trust-card{gap:7px}
  .fr-trust-icon{width:38px;height:38px;font-size:17px}
  .fr-trust-card strong{font-size:14px}
  .fr-trust-card small{font-size:11px}
  .fr-category-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .fr-category-card{min-height:105px}
  .fr-section-heading{gap:10px}
  .fr-section-heading span{display:none}
}

.fr-grid-icon i,.fr-chevron i,.fr-search-icon i,.fr-floating i,.fr-trust-icon i,.fr-category-icon i{font-size:inherit}
.fr-grid-icon{display:inline-flex;align-items:center;justify-content:center}
.fr-chevron{display:inline-flex;align-items:center;font-size:12px}
.fr-search-icon{display:flex;align-items:center;justify-content:center;transform:none;font-size:21px}
.fr-category-icon{display:flex;align-items:center;justify-content:center}
.fr-more-btn b{display:inline-flex;align-items:center}
/* =========================================
   RECENT REVIEWS SECTION
   Unique Prefix: crx-review-
========================================= */

.crx-review-section {
    --crx-orange: #f6a21a;
    --crx-blue: #1e64bb;
    --crx-dark: #102650;
    --crx-text: #52627a;
    --crx-light-blue: #f5f9ff;

    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 75px 20px 95px;
    background: #ffffff;
    font-family: "Nunito", sans-serif;
}

.crx-review-container {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 1450px;
    margin: 0 auto;
}



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

.crx-review-slider-wrapper {
    position: relative;
    padding: 0 40px;
}

.crx-review-slider {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 22px;
}


/* =========================================
   REVIEW CARD
========================================= */

.crx-review-card {
    position: relative;
    min-width: 0;
    min-height: 590px;
    padding: 30px 24px 25px;
    background: #ffffff;
    border: 1px solid #e7edf6;
    border-radius: 18px;
    box-shadow: 0 12px 35px rgba(30, 100, 187, 0.09);

    display: flex;
    flex-direction: column;

    overflow: hidden;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.crx-review-card::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4px;
    background: var(--crx-blue);
}

.crx-review-card:nth-child(odd)::after {
    background: var(--crx-orange);
}

.crx-review-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 45px rgba(30, 100, 187, 0.15);
}


/* =========================================
   BADGE
========================================= */

.crx-review-badge {
    position: absolute;
    top: 14px;
    right: 14px;

    width: 32px;
    height: 32px;

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

    border-radius: 50%;

    color: #ffffff;
    font-size: 13px;
}

.crx-review-badge-orange {
    background: var(--crx-orange);
}

.crx-review-badge-blue {
    background: var(--crx-blue);
}


/* =========================================
   LOGOS
========================================= */

.crx-review-logo {
    height: 175px;
    margin: 0 0 18px;

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


/* Cityflo */

.crx-logo-cityflo {
    position: relative;
    width: 154px;
    height: 145px;
    margin-left: 5px;

    background: #ffc900;
    overflow: hidden;
}

.crx-cityflo-symbol {
    position: absolute;
    left: 30px;
    top: 21px;

      font-family: "Nunito", sans-serif;
    font-size: 100px;
    line-height: 1;
    font-weight: 700;

    color: #272a31;

    transform: scaleX(0.8);
}

.crx-cityflo-box {
    position: absolute;
    top: 20px;
    right: 19px;

    width: 30px;
    height: 30px;
    background: #ffffff;

    box-shadow: 0 95px 0 #ffffff;
}


/* Packers */

.crx-logo-packers {
    gap: 10px;
}

.crx-packers-round {
    width: 57px;
    height: 57px;
    flex: 0 0 57px;

    border: 3px solid #e3272e;
    border-radius: 50%;

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

    color: #111;
    font-size: 14px;
    font-weight: 800;
}

.crx-packers-text {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
}

.crx-packers-text strong {
    color: #111;
    font-size: 17px;
      font-family: "Nunito", sans-serif;
}

.crx-packers-text small {
    margin-top: 6px;
    color: #e3272e;
    font-size: 9px;
    line-height: 1.2;
}


/* Levi's */

.crx-logo-levis {
    width: 190px;
    height: 108px;

    background: #c8102e;
    color: #ffffff;

      font-family: "Nunito", sans-serif;
    font-size: 43px;
    font-weight: 800;

    clip-path: polygon(
        0 0,
        100% 0,
        94% 82%,
        52% 100%,
        6% 82%
    );
}


/* Lenskart */

.crx-logo-lenskart {
    flex-direction: column;
    gap: 2px;
}

.crx-lenskart-symbol {
      font-family: "Nunito", sans-serif;
    font-size: 65px;
    font-weight: 800;
    line-height: 0.7;

    background: linear-gradient(
        90deg,
        #53a943,
        #e3bd24,
        #1d8bd2
    );

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.crx-logo-lenskart strong {
      font-family: "Nunito", sans-serif;
    font-size: 28px;
    color: #454c5b;
}


/* Building */

.crx-logo-building {
    padding: 0 20px;
}

.crx-building {
    width: 200px;
    height: 145px;

    background: linear-gradient(
        135deg,
        #e8f2fb,
        #aac7df
    );

    border-radius: 3px;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 13px;

    padding: 30px 25px;

    transform: perspective(500px) rotateY(-5deg);
}

.crx-building span {
    display: block;
    background: #7ea8c6;
    border: 2px solid #ffffff;
}


/* =========================================
   CARD TITLE
========================================= */

.crx-review-card h3 {
    min-height: 52px;
    margin: 0 0 17px;

    color: var(--crx-dark);
    font-size: 20px;
    line-height: 1.3;
    font-weight: 800;
}


/* =========================================
   USER
========================================= */

.crx-review-user {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 17px;
}

.crx-user-icon {
    width: 40px;
    height: 40px;

    flex: 0 0 40px;

    border-radius: 50%;

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

    background: #edf5ff;
    color: var(--crx-blue);

    font-size: 17px;
}

.crx-review-user strong {
    display: block;

    color: var(--crx-blue);
    font-size: 15px;
    line-height: 1.2;
    font-weight: 700;
}

.crx-review-user small {
    display: block;

    color: #65738b;
    font-size: 14px;
    margin-top: 2px;
}


/* =========================================
   STARS
========================================= */

.crx-review-stars {
    display: flex;
    gap: 4px;
    margin-bottom: 17px;
}

.crx-review-stars i {
    color: #d9dee7;
    font-size: 20px;
}

.crx-review-stars i.active {
    color: var(--crx-orange);
}


/* =========================================
   REVIEW TEXT
========================================= */

.crx-review-text {
    margin: 0;

    color: #182642;
    font-size: 16px;
    line-height: 1.75;
    font-weight: 500;

    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;

    overflow: hidden;
}


/* =========================================
   READ MORE
========================================= */

.crx-review-read {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;

    margin-top: auto;
    padding-top: 22px;

    color: var(--crx-blue);
    text-decoration: none;

    font-size: 16px;
    font-weight: 800;

    transition: color 0.2s ease;
}

.crx-review-read i {
    font-size: 14px;
    transition: transform 0.2s ease;
}

.crx-review-read:hover {
    color: var(--crx-orange);
}

.crx-review-read:hover i {
    transform: translateX(4px);
}


/* =========================================
   ARROWS
========================================= */

.crx-review-arrow {
    position: absolute;
    top: 50%;
    z-index: 5;

    width: 50px;
    height: 50px;

    border: none;
    border-radius: 50%;

    background: var(--crx-blue);
    color: #ffffff;

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

    cursor: pointer;

    box-shadow: 0 8px 20px rgba(30, 100, 187, 0.22);

    transform: translateY(-50%);

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.crx-review-arrow:hover {
    background: var(--crx-orange);
    transform: translateY(-50%) scale(1.08);
}

.crx-review-prev {
    left: -2px;
}

.crx-review-next {
    right: -2px;
}

.crx-review-arrow i {
    font-size: 16px;
}


/* =========================================
   BOTTOM CTA
========================================= */


.crx-review-more-arrow {
    width: 48px;
    height: 48px;

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

    border-radius: 50%;

    background: var(--crx-blue);
    color: #ffffff;

    transition: 0.25s ease;
}

.crx-review-more-btn:hover .crx-review-more-arrow {
    background: var(--crx-orange);
}


/* =========================================
   DOTS
========================================= */

.crx-review-dots {
    position: absolute;
    z-index: 1;

    display: grid;
    grid-template-columns: repeat(3, 6px);
    gap: 12px;
}

.crx-review-dots span {
    width: 5px;
    height: 5px;

    border-radius: 50%;
    background: rgba(30, 100, 187, 0.17);
}

.crx-review-dots-left {
    left: 18px;
    bottom: 50px;
}

.crx-review-dots-right {
    right: 25px;
    top: 40px;
}


/* =========================================
   WAVE
========================================= */

.crx-review-wave {
    position: absolute;
    left: -5%;
    right: -5%;
    bottom: -100px;

    height: 160px;

    background: #f5f9ff;

    border-radius: 50% 50% 0 0 / 40% 40% 0 0;

    transform: rotate(-2deg);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1200px) {

    .crx-review-slider {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .crx-review-card:nth-child(n + 4) {
        display: none;
    }


}


/* =========================================
   TABLET SMALL
========================================= */

@media (max-width: 900px) {

    .crx-review-section {
        padding: 60px 15px 80px;
    }

    .crx-review-slider-wrapper {
        padding: 0 35px;
    }

    .crx-review-slider {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .crx-review-card:nth-child(n + 3) {
        display: none;
    }

    .crx-review-card {
        min-height: 570px;
    }



}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .crx-review-section {
        padding: 50px 15px 70px;
    }


    .crx-review-slider-wrapper {
        padding: 0 22px;
    }

    .crx-review-slider {
        display: block;
    }

    .crx-review-card {
        width: 100%;
        min-height: 560px;
        display: flex;
    }

    .crx-review-card:not(.crx-review-card-active) {
        display: none;
    }

    .crx-review-arrow {
        width: 42px;
        height: 42px;
    }

    .crx-review-prev {
        left: -1px;
    }

    .crx-review-next {
        right: -1px;
    }

    .crx-review-more-btn {
        font-size: 14px;
        gap: 8px;
    }

    .crx-review-more-arrow {
        width: 42px;
        height: 42px;
    }

    .crx-review-chat-icon {
        width: 30px;
        font-size: 19px;
    }

    .crx-review-dots-right {
        display: none;
    }

}


/* =========================================
   VERY SMALL MOBILE
========================================= */

@media (max-width: 380px) {

    .crx-review-card {
        padding-left: 20px;
        padding-right: 20px;
    }

    .crx-review-more-btn span:nth-child(2) {
        font-size: 13px;
    }

}
/* =========================================================
   FIRMS REVIEWS - PREMIUM FOOTER
   Unique Prefix: frx-footer-
========================================================= */

.frx-footer {
    --frx-blue: #1e64bb;
    --frx-blue-light: #3d91ed;
    --frx-blue-soft: #78b8ff;
    --frx-orange: #f6a21a;
    --frx-orange-light: #ffbd48;

    --frx-dark: #03162f;
    --frx-dark-2: #061f3e;
    --frx-dark-3: #09284d;

    --frx-white: #ffffff;
    --frx-text: #d9e6f5;
    --frx-muted: #9eb1c8;

    position: relative;
    width: 100%;
    overflow: hidden;

    color: var(--frx-text);

    font-family: "Nunito", sans-serif;

    background:
        radial-gradient(
            circle at 10% 10%,
            rgba(30, 100, 187, 0.20),
            transparent 28%
        ),
        radial-gradient(
            circle at 88% 20%,
            rgba(246, 162, 26, 0.07),
            transparent 22%
        ),
        linear-gradient(
            135deg,
            #021329 0%,
            #031a35 45%,
            #06264b 100%
        );

    border-top: 1px solid rgba(255, 255, 255, 0.05);
}


/* =========================================================
   MAIN CONTAINER
========================================================= */

.frx-footer-container {
    position: relative;
    z-index: 10;

    width: calc(100% - 90px);
    max-width: 1480px;

    margin: 0 auto;

    padding: 60px 0 28px;
}


/* =========================================================
   TOP BRAND AREA
========================================================= */

.frx-footer-brand {
    position: relative;

    width: 100%; 
    max-width: 600px;

    margin-bottom: 48px;
}

.frx-footer-logo {
    display: inline-flex;
    align-items: center;

    width: 315px;
    max-width: 100%;

    margin-bottom: 20px;

    text-decoration: none;
}

.frx-footer-logo img {
    display: block;

    width: 200px;
    height: auto;

    object-fit: contain;

    filter:
        drop-shadow(
            0 8px 18px rgba(0, 0, 0, 0.25)
        );
}

.frx-footer-brand p {
    max-width: 570px;

    margin: 0;

    color: var(--frx-muted);

    font-size: 14px;
    line-height: 1.8;
    font-weight: 500;
}

.frx-footer-brand p a {
    position: relative;

    color: var(--frx-blue-soft);

    text-decoration: none;

    font-weight: 700;
}

.frx-footer-brand p a::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: -2px;

    height: 1px;

    background: var(--frx-orange);

    transform: scaleX(0);
    transform-origin: left;

    transition: transform 0.25s ease;
}

.frx-footer-brand p a:hover {
    color: var(--frx-orange-light);
}

.frx-footer-brand p a:hover::after {
    transform: scaleX(1);
}


/* =========================================================
   LOGIN / SIGNUP
========================================================= */

.frx-footer-actions {
    position: absolute;

    top: 60px;
    right: 0;

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

.frx-footer-login,
.frx-footer-signup {
    min-height: 46px;

    padding: 0 21px;

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

    gap: 8px;

    border-radius: 8px;

    text-decoration: none;

    font-size: 14px;
    font-weight: 800;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease;
}


/* Login */

.frx-footer-login {
    color: #ffffff;

    border: 1px solid rgba(255, 255, 255, 0.24);

    background:
        rgba(255, 255, 255, 0.06);

    backdrop-filter: blur(10px);
}

.frx-footer-login:hover {
    color: #ffffff;

    border-color: rgba(255, 255, 255, 0.5);

    background:
        rgba(255, 255, 255, 0.12);

    transform: translateY(-2px);
}


/* Signup */

.frx-footer-signup {
    color: #ffffff;

    border: 1px solid var(--frx-blue);

    background:
        linear-gradient(
            135deg,
            var(--frx-blue),
            #287dd5
        );

    box-shadow:
        0 8px 22px rgba(30, 100, 187, 0.25);
}

.frx-footer-signup:hover {
    color: #ffffff;

    border-color: var(--frx-orange);

    background:
        linear-gradient(
            135deg,
            var(--frx-orange),
            #f28b00
        );

    box-shadow:
        0 8px 22px rgba(246, 162, 26, 0.25);

    transform: translateY(-2px);
}

.frx-footer-signup i {
    font-size: 11px;

    transition: transform 0.25s ease;
}

.frx-footer-signup:hover i {
    transform: translateX(4px);
}


/* =========================================================
   MAIN GRID
========================================================= */

.frx-footer-grid {
    display: grid;

    grid-template-columns:
        1.05fr
        1.05fr
        1fr
        1.15fr;

    gap: 65px;

    padding: 36px 0 46px;

    border-top: 1px solid rgba(255, 255, 255, 0.07);
}


/* =========================================================
   FOOTER COLUMN
========================================================= */

.frx-footer-column {
    position: relative;

    min-width: 0;
}


/* =========================================================
   COLUMN HEADING
========================================================= */

.frx-footer-heading {
    display: flex;
    align-items: center;

    gap: 13px;
}

.frx-footer-heading-icon {
    position: relative;

    width: 43px;
    height: 43px;

    flex: 0 0 43px;

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

    border-radius: 12px;

    color: #ffffff;

    background:
        linear-gradient(
            145deg,
            #2787e8,
            #1557a6
        );

    box-shadow:
        0 8px 20px rgba(30, 100, 187, 0.20);

    font-size: 17px;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.frx-footer-heading-icon::before {
    content: "";

    position: absolute;

    inset: -1px;

    border-radius: inherit;

    border: 1px solid rgba(255,255,255,0.12);

    pointer-events: none;
}

.frx-footer-heading:hover
.frx-footer-heading-icon {
    transform: translateY(-3px) rotate(-3deg);

    box-shadow:
        0 12px 25px rgba(30, 100, 187, 0.32);
}

.frx-footer-heading h3 {
    margin: 0;
    line-height: 1.2;

    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: 0.4px;
}


/* =========================================================
   ORANGE HEADING LINE
========================================================= */

.frx-footer-heading-line {
    display: block;

    position: relative;

    width: 45px;
    height: 3px;

    margin: 13px 0 20px;

    overflow: hidden;

    border-radius: 20px;

    background: var(--frx-orange);
}

.frx-footer-heading-line::after {
    content: "";

    position: absolute;

    top: 0;
    left: -100%;

    width: 100%;
    height: 100%;

    background: #ffffff;

    opacity: 0.5;

    transition: left 0.4s ease;
}

.frx-footer-column:hover
.frx-footer-heading-line::after {
    left: 100%;
}


/* =========================================================
   FOOTER LINKS
========================================================= */

.frx-footer-column ul {
    margin: 0;
    padding: 0;

    list-style: none;
}

.frx-footer-column ul li {
    margin: 0 0 12px;
}

.frx-footer-column ul li:last-child {
    margin-bottom: 0;
}

.frx-footer-column ul li a {
    position: relative;

    display: inline-flex;
    align-items: center;

    color: #c8d7e9;

    text-decoration: none;

    font-size: 14px;
    line-height: 1.5;
    font-weight: 500;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.frx-footer-column ul li a::before {
    content: "\f105";

    margin-right: 8px;

    color: var(--frx-blue-light);

    font-family: "Font Awesome 6 Free";
    font-weight: 900;

    font-size: 12px;

    transition:
        transform 0.2s ease,
        color 0.2s ease;
}

.frx-footer-column ul li a:hover {
    color: #ffffff;

    transform: translateX(5px);
}

.frx-footer-column ul li a:hover::before {
    color: var(--frx-orange);

    transform: translateX(3px);
}


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

.frx-social-links {
    display: flex;
    flex-direction: column;

    gap: 9px;
}

.frx-social-links a {
    width: max-content;

    display: flex;
    align-items: center;

    gap: 12px;

    color: #c8d7e9;

    text-decoration: none;

    font-size: 14px;
    font-weight: 600;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.frx-social-links a span {
    width: 38px;
    height: 38px;

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

    border-radius: 10px;

    color: #ffffff;

    border: 1px solid rgba(83, 145, 215, 0.24);

    background:
        linear-gradient(
            145deg,
            rgba(30, 100, 187, 0.28),
            rgba(4, 32, 66, 0.7)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.04);

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.frx-social-links a:hover {
    color: #ffffff;

    transform: translateX(5px);
}

.frx-social-links a:hover span {
    border-color: var(--frx-blue-light);

    background:
        linear-gradient(
            145deg,
            var(--frx-blue),
            #1457a6
        );

    transform: translateY(-2px);

    box-shadow:
        0 8px 18px rgba(30, 100, 187, 0.22);
}


/* =========================================================
   COUNTRY
========================================================= */

.frx-country-wrapper {
    margin-top: -30px;
    width: 190px;
}

.frx-country-wrapper > label {
    display: block;

    margin-bottom: 10px;


    font-size: 14px;
    font-weight: 800;
}

.frx-country-selector {
    position: relative;

    width: 100%;
    max-width: 280px;
}

.frx-country-button {
    width: 100%;
    min-height: 54px;

    padding: 0 16px;

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

    border: 1px solid rgba(255,255,255,0.1);

    border-radius: 9px;

    color: #24354b;

    background: #ffffff;

    font-family: inherit;

    font-size: 14px;
    font-weight: 700;

    cursor: pointer;

    box-shadow:
        0 10px 25px rgba(0,0,0,0.12);

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.frx-country-button:hover {
    border-color: var(--frx-blue-light);

    box-shadow:
        0 12px 30px rgba(0,0,0,0.18);
}

.frx-country-selected {
    display: flex;
    align-items: center;

    gap: 10px;
}

.frx-country-flag {
    display: block;

    width: 22px;
    height: 16px;
    flex: 0 0 22px;

    object-fit: cover;

    border-radius: 2px;

    box-shadow: 0 0 0 1px rgba(15, 35, 60, 0.12);
}

.frx-country-button > i {
    color: #26354a;

    font-size: 10px;

    transition: transform 0.25s ease;
}

.frx-country-selector.active
.frx-country-button > i {
    transform: rotate(180deg);
}


/* =========================================================
   COUNTRY DROPDOWN
========================================================= */

.frx-country-dropdown {
    position: fixed;

    z-index: 10000;

    display: none;
    flex-direction: column;

    width: 280px;
    max-height: 320px;
    overflow: hidden;

    padding: 8px;

    border: 1px solid #e5edf6;

    border-radius: 12px;

    background: #ffffff;

    box-shadow:
        0 18px 40px rgba(0,0,0,0.24);
}

.frx-country-search {
    display: flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 6px;

    min-height: 38px;
    padding: 0 10px;

    border: 1px solid #e4edf7;
    border-radius: 8px;

    background: #f6f9fc;
}

.frx-country-search i {
    color: #7b8da3;
    font-size: 12px;
}

.frx-country-search input {
    width: 100%;

    border: 0;
    outline: 0;

    background: transparent;

    color: #24354b;

    font-family: inherit;
    font-size: 13px;
    font-weight: 650;
}

.frx-country-list {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}

.frx-country-selector.active
.frx-country-dropdown,
.frx-country-dropdown.is-open {
    display: flex;

    animation:
        frxCountryDrop
        0.2s ease;
}

@keyframes frxCountryDrop {

    from {
        opacity: 0;
        transform: translateY(-5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

.frx-country-dropdown button {
    width: 100%;

    padding: 10px 11px;

    display: flex;
    align-items: center;
    gap: 10px;

    border: none;

    border-radius: 6px;

    background: transparent;

    color: #26354a;

    text-align: left;

    font-family: inherit;

    font-size: 13px;

    cursor: pointer;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}

.frx-country-dropdown button.is-selected,
.frx-country-dropdown button:hover {
    color: var(--frx-blue);

    background: #edf5ff;
}

.frx-country-dropdown button.is-selected {
    font-weight: 700;
}

.frx-country-dropdown button .fa-check {
    margin-left: auto;

    color: var(--frx-blue);

    font-size: 12px;

    opacity: 0;
}

.frx-country-dropdown button.is-selected .fa-check {
    opacity: 1;
}

.frx-country-empty {
    margin: 8px 4px 10px;

    color: #7b8da3;

    font-size: 13px;
    font-weight: 700;

    text-align: center;
}


/* =========================================================
   APP STORE BUTTON
========================================================= */

.frx-app-store {
    display: inline-flex;
    align-items: center;

    gap: 10px;

    margin-top: 18px;

    padding: 8px 15px;

    min-width: 170px;

    border: 1px solid rgba(255,255,255,0.35);

    border-radius: 9px;

    color: #ffffff;

    text-decoration: none;

    background:
        rgba(0,0,0,0.18);

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        background 0.25s ease;
}

.frx-app-store:hover {
    border-color: var(--frx-blue-light);

    background:
        rgba(30,100,187,0.18);

    transform: translateY(-3px);
}

.frx-apple-icon {
    font-size: 27px;
}

.frx-app-store small {
    display: block;

    color: #d5e1ef;

    font-size: 8px;

    line-height: 1;
}

.frx-app-store strong {
    display: block;

    margin-top: 2px;

    color: #ffffff;

      font-family: "Nunito", sans-serif;

    font-size: 19px;

    line-height: 1.1;
}


/* =========================================================
   LEGAL BAR
========================================================= */

.frx-footer-legal {
    position: relative;

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

    gap: 8px;

    padding: 17px 20px;

    border: 1px solid rgba(75, 137, 207, 0.24);

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            rgba(8, 39, 76, 0.75),
            rgba(3, 25, 51, 0.75)
        );

    backdrop-filter: blur(10px);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.03);
}

.frx-footer-legal::before {
    content: "";

    position: absolute;

    top: 0;
    left: 8%;

    width: 84%;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(61,145,237,0.5),
            transparent
        );
}

.frx-footer-legal a {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    color: #bfcfe1;

    text-decoration: none;

    white-space: nowrap;

    font-size: 12px;
    font-weight: 600;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.frx-footer-legal a i {
    color: var(--frx-blue-light);

    font-size: 15px;

    transition: color 0.2s ease;
}

.frx-footer-legal a:hover {
    color: #ffffff;

    transform: translateY(-2px);
}

.frx-footer-legal a:hover i {
    color: var(--frx-orange);
}


/* =========================================================
   COPYRIGHT
========================================================= */

.frx-footer-bottom {
    position: relative;

    padding-top: 24px;

    text-align: center;
}

.frx-footer-bottom p {
    margin: 0;

    color: #91a6be;

    font-size: 13px;
    font-weight: 500;
}

.frx-footer-bottom strong {
    color: var(--frx-orange);
}


/* =========================================================
   DECORATIVE DOTS
========================================================= */

.frx-footer-dots {
    position: absolute;

    z-index: 2;

    display: grid;

    grid-template-columns:
        repeat(4, 5px);

    gap: 13px;

    opacity: 0.65;
}

.frx-footer-dots span {
    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: var(--frx-blue-light);

    box-shadow:
        0 0 7px rgba(61,145,237,0.45);
}

.frx-footer-dots-top {
    top: 38px;
    right: 48px;
}


/* =========================================================
   DECORATIVE GLOW
========================================================= */

.frx-footer::before {
    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    left: -300px;
    bottom: -300px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(30,100,187,0.16),
            transparent 68%
        );

    pointer-events: none;
}

.frx-footer::after {
    content: "";

    position: absolute;

    width: 400px;
    height: 400px;

    right: -250px;
    top: 20%;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(246,162,26,0.06),
            transparent 68%
        );

    pointer-events: none;
}


/* =========================================================
   WAVE 1
========================================================= */

.frx-footer-wave {
    position: absolute;

    z-index: 1;

    bottom: -100px;

    width: 750px;
    height: 190px;

    border-top: 1px solid;

    border-radius: 50%;

    opacity: 0.35;

    pointer-events: none;
}

.frx-footer-wave-one {
    left: -230px;

    border-color:
        rgba(30,100,187,0.55);

    transform:
        rotate(-7deg)
        scaleY(0.65);

    box-shadow:
        0 -10px 0 rgba(30,100,187,0.16),
        0 -20px 0 rgba(30,100,187,0.12),
        0 -30px 0 rgba(30,100,187,0.08),
        0 -40px 0 rgba(30,100,187,0.05);
}


/* =========================================================
   WAVE 2
========================================================= */

.frx-footer-wave-two {
    right: -230px;

    border-color:
        rgba(246,162,26,0.55);

    transform:
        rotate(7deg)
        scaleY(0.65);

    box-shadow:
        0 -10px 0 rgba(246,162,26,0.13),
        0 -20px 0 rgba(246,162,26,0.09),
        0 -30px 0 rgba(246,162,26,0.06),
        0 -40px 0 rgba(246,162,26,0.04);
}


/* =========================================================
   HOVER CARD EFFECT
========================================================= */

.frx-footer-column {
    transition:
        transform 0.25s ease;
}

.frx-footer-column:hover {
    transform: translateY(-2px);
}


/* =========================================================
   TABLET - 1200PX
========================================================= */

@media (max-width: 1200px) {

    .frx-footer-container {
        width: calc(100% - 60px);
    }

    .frx-footer-actions {
        position: static;

        margin-top: -25px;
        margin-bottom: 35px;

        justify-content: flex-end;
    }

    .frx-footer-grid {
        grid-template-columns:
            repeat(3, 1fr);

        gap: 45px 35px;
    }

    .frx-footer-legal {
        flex-wrap: wrap;

        justify-content: center;

        row-gap: 14px;
    }

    .frx-footer-legal a {
        margin: 0 7px;
    }

}


/* =========================================================
   TABLET - 900PX
========================================================= */

@media (max-width: 900px) {

    .frx-footer-container {
        width: calc(100% - 45px);

        padding-top: 45px;
    }

    .frx-footer-logo {
        width: 280px;
    }

    .frx-footer-grid {
        grid-template-columns:
            repeat(2, 1fr);

        gap: 40px 30px;
    }

    .frx-footer-actions {
        justify-content: flex-start;

        margin-top: 0;
        margin-bottom: 30px;
    }

    .frx-footer-legal {
        justify-content: flex-start;
    }

    .frx-footer-legal a {
        width: 30%;

        margin: 0;
    }

}


/* =========================================================
   MOBILE - 650PX
========================================================= */

@media (max-width: 650px) {

    .frx-footer-container {
        width: calc(100% - 30px);

        padding: 40px 0 25px;
    }

    .frx-footer-brand {
        margin-bottom: 30px;
    }

    .frx-footer-logo {
        width: 240px;
    }

    .frx-footer-brand p {
        font-size: 13px;
        line-height: 1.7;
    }

    .frx-footer-actions {
        width: 100%;

        display: grid;
        grid-template-columns: 1fr 1fr;

        gap: 10px;

        margin-bottom: 32px;
    }

    .frx-footer-login,
    .frx-footer-signup {
        width: 100%;

        padding: 0 12px;
    }

    .frx-footer-grid {
        grid-template-columns: 1fr;

        gap: 34px;

        padding-top: 32px;
        padding-bottom: 35px;
    }

    .frx-footer-heading h3 {
        font-size: 16px;
    }

    .frx-footer-heading-icon {
        width: 41px;
        height: 41px;

        flex-basis: 41px;
    }

    .frx-footer-column ul li {
        margin-bottom: 10px;
    }

    .frx-footer-column ul li a {
        font-size: 14px;
    }

    .frx-social-links a {
        font-size: 14px;
    }

    .frx-country-selector {
        max-width: 100%;
    }

    .frx-footer-legal {
        display: grid;

        grid-template-columns:
            1fr 1fr;

        gap: 13px;

        padding: 17px;
    }

    .frx-footer-legal a {
        width: auto;

        white-space: normal;

        font-size: 13px;
    }

    .frx-footer-legal a i {
        font-size: 14px;
    }

    .frx-footer-bottom {
        padding-top: 22px;
    }

    .frx-footer-bottom p {
        font-size: 12px;
    }

    .frx-footer-dots-top {
        top: 20px;
        right: 18px;

        opacity: 0.35;
    }

    .frx-footer-wave {
        width: 500px;
    }

}


/* =========================================================
   SMALL MOBILE - 420PX
========================================================= */

@media (max-width: 420px) {

    .frx-footer-container {
        width: calc(100% - 24px);
    }

    .frx-footer-logo {
        width: 210px;
    }

    .frx-footer-brand p {
        font-size: 12px;
    }

    .frx-footer-actions {
        grid-template-columns: 1fr;
    }

    .frx-footer-login,
    .frx-footer-signup {
        min-height: 43px;
    }

    .frx-footer-grid {
        gap: 30px;
    }

    .frx-footer-legal {
        grid-template-columns: 1fr;
    }

    .frx-footer-legal a {
        font-size: 12px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 350px) {

    .frx-footer-heading {
        gap: 10px;
    }

    .frx-footer-heading-icon {
        width: 38px;
        height: 38px;

        flex-basis: 38px;

        font-size: 15px;
    }

    .frx-footer-heading h3 {
        font-size: 15px;
    }

}
/*Cta 1*/
/* =====================================================
   REVIEW CTA
   Unique prefix: ms2-cta-
===================================================== */

.ms2-cta-section {
    width: 100%;
    padding: 30px 20px;
    background: #ffffff;
      font-family: "Nunito", sans-serif;
}

.ms2-cta-section *,
.ms2-cta-section *::before,
.ms2-cta-section *::after {
    box-sizing: border-box;
}


/* =====================================================
   MAIN CARD
===================================================== */

.ms2-cta-card {
    position: relative;

    width: 100%;
    max-width: 1540px;
    min-height: 300px;

    margin: 0 auto;
    padding: 28px 38px;

    display: flex;
    align-items: center;

    gap: 25px;

    overflow: hidden;

    background:
        linear-gradient(
            110deg,
            #f5faff 0%,
            #ffffff 42%,
            #fffdf8 100%
        );

    border: 1px solid #e9edf3;

    border-radius: 28px;

    box-shadow:
        0 16px 45px rgba(18, 77, 150, 0.10);
}


/* =====================================================
   TOP BLUE SHAPE
===================================================== */

.ms2-cta-shape-top {
    position: absolute;

    top: -75px;
    right: -35px;

    width: 260px;
    height: 150px;

    background: #2c8be8;

    border-radius: 0 0 0 100%;

    opacity: 0.95;

    z-index: 0;
}


/* =====================================================
   BOTTOM ORANGE SHAPE
===================================================== */

.ms2-cta-shape-bottom {
    position: absolute;

    right: -25px;
    bottom: -55px;

    width: 280px;
    height: 100px;

    background: #ffad25;

    border-radius: 100% 0 0 0;

    opacity: 0.75;

    z-index: 0;
}


/* =====================================================
   LEFT IMAGE
===================================================== */

.ms2-cta-image-box {
    position: relative;

    width: 355px;
    min-width: 355px;

    height: 235px;

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

    z-index: 2;
}


/* Background circle */

.ms2-cta-image-circle {
    position: absolute;

    width: 205px;
    height: 205px;

    background: #edf6ff;

    border-radius: 50%;

    left: 72px;
    top: 15px;

    z-index: 0;
}


/* Image */

.ms2-cta-image {
    position: relative;

    width: 320px;
    height: 215px;

    object-fit: contain;

    z-index: 2;

    filter: drop-shadow(
        0 10px 15px rgba(18, 77, 150, 0.08)
    );

    transition:
        transform 0.35s ease;
}

.ms2-cta-card:hover .ms2-cta-image {
    transform: translateY(-5px) scale(1.02);
}


/* =====================================================
   DECORATIONS
===================================================== */

.ms2-cta-star {
    position: absolute;

    z-index: 5;

    line-height: 1;
}

.ms2-cta-star-1 {
    left: 8px;
    top: 105px;

    color: #ffad25;

    font-size: 31px;
}

.ms2-cta-star-2 {
    right: 5px;
    bottom: 25px;

    color: #6eb8f4;

    font-size: 28px;
}

.ms2-cta-star-3 {
    right: 30px;
    top: 40px;

    color: #ffad25;

    font-size: 22px;
}


.ms2-cta-like {
    position: absolute;

    left: 10px;
    bottom: 25px;

    width: 40px;
    height: 40px;

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

    color: #ffffff;

    background: #124d96;

    border-radius: 50%;

    font-size: 17px;

    z-index: 6;

    box-shadow:
        0 7px 18px rgba(18, 77, 150, 0.22);

    animation: ms2CtaFloat 3s ease-in-out infinite;
}


@keyframes ms2CtaFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }

}


/* Rating badge */

.ms2-cta-rating {
    position: absolute;

    right: 8px;
    top: 22px;

    padding: 7px 12px;

    color: #ffffff;

    background: #ffad25;

    border-radius: 20px;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;

    box-shadow:
        0 6px 15px rgba(255, 173, 37, 0.25);

    z-index: 7;
}


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

.ms2-cta-content {
    position: relative;

    flex: 1;

    min-width: 330px;

    z-index: 4;
}


.ms2-cta-content h2 {
    margin: 0 0 12px;

    color: #17202a;

    font-size: 31px;
    line-height: 1.15;

    font-weight: 800;
}


.ms2-cta-content h2 span {
    display: inline-block;

    color: #124d96;

    position: relative;
}


.ms2-cta-content h2 span::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: -6px;

    width: 65%;

    height: 3px;

    background: #ffad25;

    border-radius: 10px;
}


.ms2-cta-content p {
    margin: 0;

    color: #59636d;

    font-size: 16px;

    line-height: 1.55;
}


/* =====================================================
   ACTIONS
===================================================== */

.ms2-cta-actions {
    position: relative;

    display: flex;
    align-items: center;

    gap: 13px;

    z-index: 5;

    white-space: nowrap;
}


/* =====================================================
   WRITE REVIEW BUTTON
===================================================== */

.ms2-cta-review-btn {
    height: 55px;

    padding: 0 22px;

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

    gap: 9px;

    border: 0;

    border-radius: 10px;

    color: #ffffff;

    background: #ffad25;

    font-size: 15px;
    font-weight: 700;

    cursor: pointer;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}


.ms2-cta-review-btn:hover {
    background: #f59d0b;

    transform: translateY(-3px);

    box-shadow:
        0 12px 25px rgba(255, 173, 37, 0.30);
}


.ms2-cta-pencil {
    width: 24px;
    height: 24px;

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

    font-size: 22px;
    font-weight: 400;
}


/* =====================================================
   OR
===================================================== */

.ms2-cta-or {
    display: flex;
    align-items: center;

    gap: 8px;
}


.ms2-cta-or span {
    width: 1px;
    height: 30px;

    background: #d8dde3;
}


.ms2-cta-or strong {
    color: #6b737c;

    font-size: 14px;

    font-weight: 600;
}


/* =====================================================
   LOGIN BUTTON
===================================================== */

.ms2-cta-login-btn {
    height: 55px;

    padding: 0 20px;

    border: 1.5px solid #124d96;

    border-radius: 10px;

    color: #124d96;

    background: #ffffff;

    font-size: 14px;

    font-weight: 700;

    cursor: pointer;

    transition: all 0.25s ease;
}


.ms2-cta-login-btn:hover {
    color: #ffffff;

    background: #124d96;

    transform: translateY(-3px);

    box-shadow:
        0 10px 22px rgba(18, 77, 150, 0.20);
}


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

.ms2-cta-socials {
    display: flex;
    align-items: center;

    gap: 8px;
}


.ms2-cta-social {
    width: 46px;
    height: 46px;

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

    border: 1px solid #d9dee5;

    border-radius: 50%;

    background: #ffffff;

    cursor: pointer;

    font-size: 20px;

    font-weight: 700;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


.ms2-cta-social:hover {
    transform: translateY(-4px);

    box-shadow:
        0 8px 20px rgba(18, 77, 150, 0.14);
}


.ms2-cta-google {
    color: #4285f4;
}


.ms2-cta-facebook {
    color: #1877f2;

     font-family: "Nunito", sans-serif;
}


.ms2-cta-apple {
    color: #111111;

    font-size: 22px;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1250px) {

    .ms2-cta-card {
        padding: 25px 28px;

        gap: 18px;
    }

    .ms2-cta-image-box {
        width: 285px;
        min-width: 285px;
    }

    .ms2-cta-image {
        width: 270px;
    }

    .ms2-cta-content h2 {
        font-size: 25px;
    }

    .ms2-cta-content p {
        font-size: 14px;
    }

    .ms2-cta-review-btn {
        padding: 0 15px;
    }

    .ms2-cta-login-btn {
        padding: 0 14px;
    }

    .ms2-cta-social {
        width: 40px;
        height: 40px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 950px) {

    .ms2-cta-card {
        min-height: auto;

        padding: 25px;

        flex-wrap: wrap;

        justify-content: center;
    }

    .ms2-cta-image-box {
        width: 100%;
        min-width: 100%;

        height: 190px;
    }

    .ms2-cta-content {
        width: 100%;
        min-width: 100%;

        text-align: center;
    }

    .ms2-cta-content p {
        margin: auto;
    }

    .ms2-cta-actions {
        width: 100%;

        justify-content: center;

        flex-wrap: wrap;

        white-space: normal;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 600px) {

    .ms2-cta-section {
        padding: 15px 10px;
    }

    .ms2-cta-card {
        padding: 25px 18px;

        border-radius: 20px;

        gap: 15px;
    }

    .ms2-cta-image-box {
        height: 170px;
    }

    .ms2-cta-image {
        width: 245px;
    }

    .ms2-cta-image-circle {
        width: 155px;
        height: 155px;

        left: 50%;
        transform: translateX(-50%);
    }

    .ms2-cta-content h2 {
        font-size: 23px;
    }

    .ms2-cta-content p {
        font-size: 14px;
    }

    .ms2-cta-actions {
        flex-direction: column;

        width: 100%;
    }

    .ms2-cta-review-btn,
    .ms2-cta-login-btn {
        width: 100%;
    }

    .ms2-cta-or {
        width: 100%;

        justify-content: center;
    }

    .ms2-cta-or span {
        width: 55px;
        height: 1px;
    }

    .ms2-cta-socials {
        justify-content: center;
    }

    .ms2-cta-shape-top {
        width: 150px;
        height: 90px;
    }

}
.ms2-cta-social i {
    font-size: 18px;
    line-height: 1;
}

.ms2-cta-google i {
    color: #4285f4;
}

.ms2-cta-facebook i {
    color: #1877f2;
}

.ms2-cta-apple i {
    color: #111111;
}

.ms2-cta-social:hover i {
    transform: scale(1.08);
}
/* =====================================================
   WHAT WE DO SECTION
   Unique Prefix: wwd-
===================================================== */

.wwd-section {
    width: 100%;
    max-width: 1500px;  

    margin: 0 auto;
    padding: 40px 25px;

    font-family:
        'Nunito',sans-serif;

    color: #17202a;
}

.wwd-section *,
.wwd-section *::before,
.wwd-section *::after {
    box-sizing: border-box;
}


/* =====================================================
   HEADING
===================================================== */

.wwd-heading {
    margin-bottom: 22px;
}

.wwd-heading h2 {
    margin: 0;

    font-size: 38px;
    line-height: 1.15;

    font-weight: 750;

    color: #17202a;
}

.wwd-heading-line {
    display: flex;

    width: 190px;
    height: 5px;

    margin-top: 12px;

    overflow: hidden;

    border-radius: 20px;
}

.wwd-heading-line span:first-child {
    width: 45%;

    background: #ffad25;
}

.wwd-heading-line span:last-child {
    width: 55%;

    background: #124d96;
}


/* =====================================================
   MAIN WHITE CARD
===================================================== */

.wwd-main-card {
    position: relative;

    width: 100%;

    min-height: 455px;

    padding: 28px;

    display: grid;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(0, 0.95fr);

    gap: 22px;

    background: #ffffff;

    border: 1px solid #e6ebf1;

    border-radius: 25px;

    box-shadow:
        0 12px 35px rgba(18, 77, 150, 0.09);
}


/* =====================================================
   LEFT ABOUT
===================================================== */

.wwd-about {
    display: flex;
    align-items: center;

    gap: 28px;

    padding: 18px;
}


/* =====================================================
   ABOUT IMAGE
===================================================== */

.wwd-about-image {
    position: relative;

    width: 285px;
    min-width: 285px;

    height: 330px;

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

    overflow: hidden;
}

.wwd-image-circle {
    position: absolute;

    width: 255px;
    height: 255px;

    left: 15px;
    top: 30px;

    background:
        radial-gradient(
            circle,
            #edf6ff 0%,
            #edf6ff 65%,
            transparent 66%
        );

    border-radius: 50%;
}


/* =====================================================
   SHIELD
===================================================== */

.wwd-shield {
    position: absolute;

    top: 25px;
    left: 68px;

    width: 105px;
    height: 130px;

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

    color: #ffffff;

    background: #124d96;

    clip-path: polygon(
        50% 0%,
        95% 15%,
        90% 62%,
        75% 82%,
        50% 100%,
        25% 82%,
        10% 62%,
        5% 15%
    );

    z-index: 3;
}

.wwd-shield i {
    font-size: 38px;

    margin-top: -5px;
}


/* =====================================================
   PEOPLE ILLUSTRATION
===================================================== */

.wwd-person {
    position: absolute;

    z-index: 5;
}

.wwd-person-head {
    width: 28px;
    height: 28px;

    background: #efc09d;

    border-radius: 50%;

    margin: auto;
}

.wwd-person-body {
    position: relative;

    width: 42px;
    height: 70px;

    margin-top: -2px;

    border-radius: 15px 15px 5px 5px;
}


/* Person 1 */

.wwd-person-one {
    left: 32px;
    bottom: 45px;
}

.wwd-person-one .wwd-person-body {
    background: #ffad25;
}

.wwd-person-one::after {
    content: "";

    position: absolute;

    width: 20px;
    height: 55px;

    left: -4px;
    bottom: -50px;

    background: #124d96;

    border-radius: 10px;

    transform: rotate(8deg);
}


/* Person 2 */

.wwd-person-two {
    left: 118px;
    bottom: 32px;

    z-index: 6;
}

.wwd-person-two .wwd-person-head {
    width: 31px;
    height: 31px;
}

.wwd-person-two .wwd-person-body {
    width: 58px;
    height: 85px;

    background: #124d96;

    border-radius: 20px 20px 5px 5px;
}


/* Person 3 */

.wwd-person-three {
    right: 25px;
    bottom: 48px;
}

.wwd-person-three .wwd-person-body {
    background: #124d96;
}


/* Laptop */

.wwd-laptop {
    position: absolute;

    left: 108px;
    bottom: 28px;

    z-index: 8;

    color: #17202a;

    font-size: 52px;
}


/* Decorative stars */

.wwd-deco-star {
    position: absolute;

    z-index: 10;

    font-size: 20px;
}

.wwd-deco-one {
    left: 10px;
    top: 80px;

    color: #ffad25;
}

.wwd-deco-two {
    right: 5px;
    top: 100px;

    color: #124d96;
}


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

.wwd-about-content {
    flex: 1;
}

.wwd-about-content h3 {
    margin: 0 0 16px;

    font-size: 37px;
    line-height: 1.1;

    color: #17202a;
	font-weight: 800;
}

.wwd-about-content h3 span {
    color: #124d96;
}

.wwd-about-content p {
    margin: 0 0 24px;

    max-width: 490px;

    color: #4f5963;

    font-size: 16px;

    line-height: 1.65;
}


/* =====================================================
   BLUE BUTTON
===================================================== */

.wwd-blue-btn {
    height: 52px;

    padding: 0 24px;

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

    gap: 20px;

    border: 0;
    border-radius: 10px;

    color: #ffffff;

    background: #124d96;

    font-size: 15px;
    font-weight: 700;

    cursor: pointer;

    transition: all 0.25s ease;
}

.wwd-blue-btn:hover {
    background: #0d3d78;

    transform: translateY(-2px);

    box-shadow:
        0 10px 20px rgba(18, 77, 150, 0.22);
}


/* =====================================================
   REPORT CARD
===================================================== */

.wwd-report {
    position: relative;

    min-height: 395px;

    padding: 38px;

    overflow: hidden;

    border-radius: 22px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #124d96,
            #0c5caf
        );

    box-shadow:
        0 10px 25px rgba(18, 77, 150, 0.14);
}


/* Decorative dots */

.wwd-dots {
    position: absolute;

    right: 20px;
    top: 25px;

    width: 170px;
    height: 160px;

    opacity: 0.18;

    background-image:
        radial-gradient(
            #ffffff 2px,
            transparent 2px
        );

    background-size: 24px 24px;
}


/* Report Icon */

.wwd-report-icon {
    position: relative;

    width: 54px;
    height: 54px;

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

    margin-bottom: 25px;

    color: #124d96;

    background: #ffad25;

    border-radius: 50%;

    z-index: 5;
}

.wwd-report-icon i {
    font-size: 22px;
}


/* Report Content */

.wwd-report-content {
    position: relative;

    z-index: 6;

    max-width: 400px;
}

.wwd-report-content h3 {
    margin: 0 0 18px;

    font-size: 31px;

    line-height: 1.2;

    font-weight: 750;
}

.wwd-report-content p {
    margin: 0 0 25px;

    max-width: 350px;

    color: rgba(255, 255, 255, 0.88);

    font-size: 16px;

    line-height: 1.6;
}


/* Yellow Button */

.wwd-yellow-btn {
    height: 53px;

    padding: 0 24px;

    display: inline-flex;
    align-items: center;

    gap: 18px;

    border: 0;

    border-radius: 10px;

    color: #17202a;

    background: #ffad25;

    font-size: 15px;

    font-weight: 700;

    cursor: pointer;

    transition: all 0.25s ease;
}

.wwd-yellow-btn:hover {
    background: #ffc04f;

    transform: translateY(-2px);

    box-shadow:
        0 10px 20px rgba(255, 173, 37, 0.25);
}


/* =====================================================
   REPORT IMAGES
===================================================== */

.wwd-report-images {
    position: absolute;

    right: 30px;
    top: 70px;

    width: 230px;
    height: 230px;

    z-index: 5;
}

.wwd-photo {
    position: absolute;

    width: 130px;
    height: 130px;

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

    overflow: hidden;

    border: 7px solid #ffffff;

    border-radius: 50%;

    background: #dcecff;

    box-shadow:
        0 8px 25px rgba(0, 0, 0, 0.18);
}

.wwd-photo-one {
    right: 0;
    top: 0;

    border-color: #ffad25;
}

.wwd-photo-two {
    left: 0;
    bottom: 0;
}


.wwd-photo-placeholder {
    width: 100%;
    height: 100%;

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

    color: #124d96;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #c8e2fb
        );

    font-size: 38px;
}


/* =====================================================
   BUSINESS CARD
===================================================== */

.wwd-business-card {
    position: relative;

    width: 100%;

    min-height: 150px;

    margin-top: 35px;

    padding: 25px 38px;

    display: flex;
    align-items: center;

    gap: 30px;

    overflow: hidden;

    border: 1px solid #8db9ec;

    border-radius: 20px;

    background:
        linear-gradient(
            110deg,
            #f5f9ff,
            #ffffff
        );
}


/* Business Icon */

.wwd-business-icon {
    position: relative;

    width: 105px;
    min-width: 105px;

    height: 105px;

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

    color: #124d96;

    background: #ffffff;

    border: 2px solid #9fc4ec;

    border-radius: 50%;

    box-shadow:
        0 8px 20px rgba(18, 77, 150, 0.10);

    z-index: 5;
}

.wwd-business-icon::after {
    content: "";

    position: absolute;

    width: 50px;
    height: 38px;

    left: 26px;
    bottom: 22px;

    border-left: 7px solid #124d96;
    border-bottom: 7px solid #124d96;

    transform: skewY(-25deg);
}

.wwd-business-icon i {
    position: relative;

    color: #ffad25;

    font-size: 34px;

    z-index: 2;
}


/* Business Content */

.wwd-business-content {
    position: relative;

    z-index: 5;

    flex: 1;
}

.wwd-business-content h3 {
    margin: 0 0 8px;

    color: #17202a;

    font-size: 27px;
}

.wwd-business-content p {
    margin: 0;

    color: #4f5963;

    font-size: 17px;
}


/* =====================================================
   CHART
===================================================== */

.wwd-chart {
    position: absolute;

    right: 260px;
    bottom: 0;

    width: 390px;
    height: 125px;

    display: flex;
    align-items: flex-end;

    gap: 12px;

    opacity: 0.55;
}

.wwd-chart span {
    display: block;

    width: 48px;

    background: #9dbbe0;

    border-radius: 7px 7px 0 0;
}


/* Chart line */

.wwd-chart-line {
    position: absolute;

    left: -70px;
    bottom: 78px;

    width: 370px;
    height: 3px;

    background: #ffad25;

    transform:
        rotate(-17deg);

    transform-origin: left center;

    border-radius: 10px;
}

.wwd-chart-line::after {
    content: "";

    position: absolute;

    right: -5px;
    top: -7px;

    width: 17px;
    height: 17px;

    border: 3px solid #ffad25;

    background: #ffffff;

    border-radius: 50%;
}


/* =====================================================
   GET STARTED
===================================================== */

.wwd-business-btn {
    position: relative;

    z-index: 6;

    height: 60px;

    min-width: 215px;

    padding: 0 25px;

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

    gap: 20px;

    border: 0;

    border-radius: 10px;

    color: #17202a;

    background: #ffad25;

    font-size: 16px;

    font-weight: 700;

    cursor: pointer;

    transition: all 0.25s ease;
}

.wwd-business-btn:hover {
    background: #ffc04f;

    transform: translateY(-3px);

    box-shadow:
        0 10px 22px rgba(255, 173, 37, 0.28);
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1200px) {

    .wwd-main-card {
        grid-template-columns: 1fr;
    }

    .wwd-report {
        min-height: 350px;
    }

    .wwd-report-images {
        right: 50px;
    }

    .wwd-chart {
        right: 220px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 768px) {

    .wwd-section {
        padding: 30px 15px;
    }

    .wwd-heading h2 {
        font-size: 30px;
    }

    .wwd-main-card {
        padding: 18px;

        grid-template-columns: 1fr;

        border-radius: 18px;
    }

    .wwd-about {
        flex-direction: column;

        text-align: center;

        padding: 10px;
    }

    .wwd-about-image {
        width: 100%;
        min-width: 100%;

        height: 270px;
    }

    .wwd-about-content h3 {
        font-size: 30px;
    }

    .wwd-about-content p {
        font-size: 14px;
    }

    .wwd-report {
        padding: 28px;

        min-height: 500px;
    }

    .wwd-report-content {
        max-width: 100%;
    }

    .wwd-report-content h3 {
        font-size: 26px;
    }

    .wwd-report-images {
        right: 30px;
        top: 250px;
    }

    .wwd-business-card {
        flex-wrap: wrap;

        justify-content: center;

        text-align: center;

        padding: 28px;
    }

    .wwd-business-content {
        flex: 100%;
    }

    .wwd-business-btn {
        width: 100%;
    }

    .wwd-chart {
        opacity: 0.25;

        right: 10px;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {

    .wwd-section {
        padding: 25px 10px;
    }

    .wwd-heading h2 {
        font-size: 26px;
    }

    .wwd-about-image {
        transform: scale(0.85);

        margin-top: -15px;
        margin-bottom: -15px;
    }

    .wwd-report {
        min-height: 520px;
    }

    .wwd-report-images {
        right: 50%;
        transform: translateX(50%);

        top: 285px;
    }

    .wwd-report-content {
        text-align: center;
    }

    .wwd-report-icon {
        margin-left: auto;
        margin-right: auto;
    }

    .wwd-yellow-btn {
        width: 100%;
    }

    .wwd-business-icon {
        width: 85px;
        min-width: 85px;
        height: 85px;
    }

    .wwd-business-content h3 {
        font-size: 23px;
    }

    .wwd-business-content p {
        font-size: 14px;
    }

    .wwd-chart {
        display: none;
    }

}
/* =========================================================
   BUSINESS REVIEW SECTION
========================================================= */

:root {
    --frd-orange: #f6a21a;
    --frd-orange-dark: #ed8700;
    --frd-blue: #1e64bb;
    --frd-navy: #18345f;
    --frd-text: #263752;
    --frd-muted: #6e7b90;
    --frd-border: #dfe7f2;
    --frd-bg: #f5f8fc;
    --frd-white: #ffffff;
}

.frd-business-page {
    padding: 35px 20px 60px;
    background:
        radial-gradient(circle at top left, rgba(246, 162, 26, .08), transparent 30%),
        #f7f9fc;
    font-family: "Nunito", sans-serif;
    color: var(--frd-text);
}

.frd-layout {
    max-width: 1500px;
    margin: auto;
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr) 280px;
    gap: 20px;
    align-items: start;
}

/* COMMON CARDS */

.frd-side-card,
.frd-business-header,
.frd-about-card,
.frd-review-item,
.frd-right-card,
.frd-join-card,
.frd-ad-card {
    background: #fff;
    border: 1px solid var(--frd-border);
    border-radius: 18px;
    box-shadow: 0 8px 28px rgba(31, 57, 94, .06);
}

.frd-side-card {
    padding: 20px;
    margin-bottom: 18px;
}

/* =========================================================
   LEFT PROFILE
========================================================= */

.frd-profile-card {
    text-align: center;
}

.frd-business-logo {
    width: 142px;
    height: 142px;
    margin: -8px auto 18px;
    border-radius: 50%;
    position: relative;
    overflow: hidden;
    background: #090d12;
    border: 4px solid var(--frd-orange);
    box-shadow: 0 8px 25px rgba(0,0,0,.14);
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
}

.frd-logo-glow {
    position: absolute;
    width: 150px;
    height: 150px;
    border: 1px solid rgba(246,162,26,.4);
    border-radius: 50%;
}

.frd-logo-icon {
    font-size: 22px;
    margin-bottom: 4px;
}

.frd-business-logo strong {
    font-size: 44px;
    line-height: 1;
    color: var(--frd-orange);
    font-family: Georgia, serif;
}

.frd-business-logo small {
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
    margin-top: 8px;
}

.frd-profile-card h2 {
    font-size: 19px;
    line-height: 1.4;
    margin: 0 0 12px;
}

.frd-profile-card h2 i {
    color: var(--frd-blue);
    font-size: 16px;
}

.frd-main-rating {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
}

.frd-stars {
    color: var(--frd-orange);
    font-size: 20px;
    letter-spacing: 2px;
}

.frd-rating-box {
    background: var(--frd-blue);
    color: #fff;
    padding: 6px 11px;
    border-radius: 6px;
    font-weight: 900;
}

.frd-review-count {
    text-align: left;
    font-size: 14px;
    font-weight: 700;
    margin: 13px 0 15px;
}

.frd-write-review {
    padding-top: 14px;
    width: 100%;
    min-height: 50px;
    border: none;
    border-radius: 9px;
    background: linear-gradient(135deg, var(--frd-orange), #ff7e00);
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    transition: .25s;
}

.frd-write-review:hover,
.frd-membership-banner button:hover,
.frd-review-score-box button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(246,162,26,.25);
}

.frd-profile-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 12px;
}

.frd-outline-btn,
.frd-follow-top,
.frd-share-top {
    height: 40px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid var(--frd-blue);
    color: var(--frd-blue);
    font-weight: 800;
    cursor: pointer;
}

.frd-rate-card h3,
.frd-similar-card h3,
.frd-claim-card h3,
.frd-right-card h3 {
    margin: 0 0 17px;
    font-size: 14px;
    color: var(--frd-navy);
}

.frd-rating-row {
    display: grid;
    grid-template-columns: 30px 1fr 35px;
    align-items: center;
    gap: 8px;
    margin-bottom: 13px;
    font-size: 13px;
}

.frd-rating-row span i {
    color: var(--frd-orange);
    font-size: 10px;
}

.frd-rating-row strong {
    font-size: 12px;
}

.frd-rating-track,
.frd-mini-progress {
    height: 8px;
    background: #e9edf3;
    border-radius: 20px;
    overflow: hidden;
}

.frd-rating-track b,
.frd-mini-progress b {
    display: block;
    height: 100%;
    border-radius: 20px;
    background: linear-gradient(90deg, var(--frd-orange), #ff7b00);
}

.frd-card-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.frd-card-title a {
    font-size: 12px;
    color: var(--frd-blue);
    font-weight: 800;
    text-decoration: none;
}

.frd-similar-item {
    display: flex;
    gap: 10px;
    padding: 10px 0;
    text-decoration: none;
    color: var(--frd-text);
    border-bottom: 1px solid #edf0f5;
}

.frd-similar-item:last-child {
    border-bottom: 0;
}

.frd-similar-item img {
    width: 55px;
    height: 55px;
    object-fit: cover;
    border-radius: 9px;
}

.frd-similar-item div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.frd-similar-item strong {
    font-size: 13px;
}

.frd-similar-item span {
    font-size: 12px;
}

.frd-similar-item span i {
    color: var(--frd-orange);
}

.frd-similar-item small {
    color: var(--frd-muted);
    font-size: 11px;
}

.frd-claim-card p {
    color: var(--frd-muted);
    font-size: 13px;
    line-height: 1.7;
}

.frd-claim-card button {
    width: 100%;
    height: 44px;
    border: 1px solid var(--frd-orange);
    color: var(--frd-orange-dark);
    background: #fff;
    border-radius: 8px;
    font-weight: 800;
    cursor: pointer;
}

/* =========================================================
   MAIN HEADER
========================================================= */

.frd-business-header {
    padding: 24px;
}

.frd-heading-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.frd-heading-row h1 {
    margin: 0 0 10px;
    font-size: 28px;
    color: var(--frd-navy);
}

.frd-heading-row h1 i {
    color: var(--frd-blue);
    font-size: 18px;
}

.frd-location {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--frd-muted);
}

.frd-location i {
    color: var(--frd-orange);
}

.frd-location a {
    color: var(--frd-blue);
    font-weight: 800;
    margin-left: 12px;
    text-decoration: none;
}

.frd-header-actions {
    display: flex;
    gap: 10px;
    white-space: nowrap;
}

.frd-follow-top {
    border-color: var(--frd-orange);
    color: var(--frd-orange-dark);
    padding: 0 16px;
}

.frd-share-top {
    padding: 0 16px;
}

/* SCORE */

.frd-score-card {
    margin-top: 20px;
    border: 1px solid var(--frd-border);
    border-radius: 16px;
    overflow: hidden;
    background: #fbfcfe;
}

.frd-score-top {
    display: flex;
    align-items: center;
    padding: 20px;
    gap: 20px;
}

.frd-score-block {
    min-width: 145px;
}

.frd-score-block > span {
    display: block;
    font-weight: 800;
    margin-bottom: 10px;
}

.frd-score-stars {
    color: var(--frd-orange);
    font-size: 20px;
}

.frd-star-muted {
    color: #cbd3df;
}

.frd-score-block small {
    display: block;
    margin-top: 8px;
    font-weight: 700;
}

.frd-score-divider {
    width: 1px;
    height: 55px;
    background: #dce3ec;
}

.frd-love-score {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 18px;
}

.frd-love-score i {
    color: #ef3f35;
}

.frd-score-number {
    text-align: center;
}

.frd-score-number strong {
    display: inline-block;
    padding: 10px 16px;
    background: var(--frd-blue);
    color: #fff;
    border-radius: 8px;
    font-size: 25px;
}

.frd-score-number small {
    display: block;
    margin-top: 6px;
}

.frd-followers {
    text-align: center;
    min-width: 100px;
}

.frd-followers > span {
    font-size: 13px;
    display: block;
    margin-bottom: 8px;
}

.frd-followers-images {
    display: flex;
    align-items: center;
    justify-content: center;
}

.frd-followers-images img {
    width: 29px;
    height: 29px;
    border-radius: 50%;
    border: 2px solid #fff;
    object-fit: cover;
    margin-left: -7px;
}

.frd-followers-images b {
    width: 30px;
    height: 30px;
    background: #edf1f7;
    border-radius: 50%;
    font-size: 10px;
    display: grid;
    place-items: center;
    margin-left: -5px;
}

.frd-score-bars {
    padding: 18px 20px;
    border-top: 1px solid var(--frd-border);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 17px 45px;
}

.frd-score-bars > div {
    display: grid;
    grid-template-columns: 135px 1fr 30px;
    gap: 10px;
    align-items: center;
    font-size: 12px;
}

.frd-score-bars strong {
    font-size: 13px;
}

.frd-updated-text {
    margin: 12px 0 0;
    font-size: 11px;
    color: var(--frd-muted);
}

/* =========================================================
   TABS
========================================================= */

.frd-tabs {
    margin: 14px 0;
    display: flex;
    overflow-x: auto;
    background: #fff;
    border: 1px solid var(--frd-border);
    border-radius: 13px;
}

.frd-tabs button {
    flex: 1;
    min-width: max-content;
    padding: 14px 20px;
    border: 0;
    background: transparent;
    color: var(--frd-text);
    font-weight: 700;
    cursor: pointer;
    border-bottom: 3px solid transparent;
}

.frd-tabs button.active {
    color: var(--frd-orange-dark);
    border-bottom-color: var(--frd-orange);
}

/* =========================================================
   ABOUT
========================================================= */

.frd-about-card {
    padding: 22px;
}

.frd-about-card h2 {
    margin: 0 0 10px;
    font-size: 20px;
}

.frd-about-card > p {
    color: #52627a;
    font-size: 13px;
    line-height: 1.8;
}

.frd-about-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 20px;
}

.frd-about-features > div {
    display: flex;
    gap: 10px;
}

.frd-about-features > div > i {
    color: var(--frd-orange);
    font-size: 21px;
}

.frd-about-features section {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.frd-about-features strong {
    font-size: 13px;
}

.frd-about-features span {
    font-size: 11px;
    line-height: 1.5;
    color: var(--frd-muted);
}

.frd-view-more {
    display: block;
    margin: 17px auto 0;
    background: transparent;
    border: 0;
    color: var(--frd-blue);
    font-weight: 800;
    cursor: pointer;
}

/* =========================================================
   MEMBERSHIP
========================================================= */

.frd-membership-banner {
    margin: 15px 0;
    min-height: 75px;
    padding: 14px 22px;
    border-radius: 13px;
    background: linear-gradient(135deg, #1e64bb, #183b76);
    color: #fff;
    display: flex;
    align-items: center;
    gap: 18px;
}

.frd-member-brand {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 23px;
}

.frd-member-brand i {
    color: var(--frd-orange);
}

.frd-membership-banner > div:nth-child(2) {
    flex: 1;
}

.frd-membership-banner strong,
.frd-membership-banner small {
    display: block;
}

.frd-membership-banner small {
    margin-top: 5px;
    font-size: 9px;
    opacity: .8;
}

.frd-membership-banner button {
    border: 0;
    background: var(--frd-orange);
    color: #fff;
    padding: 11px 18px;
    border-radius: 8px;
    font-weight: 900;
    cursor: pointer;
    transition: .25s;
}

/* =========================================================
   REVIEW FILTER
========================================================= */

.frd-review-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 20px;
}

.frd-review-heading h2 {
    margin: 0;
    font-size: 19px;
}

.frd-review-heading h2 span {
    font-size: 14px;
}

.frd-review-search {
    display: flex;
    gap: 8px;
}

.frd-review-search > div {
    width: 250px;
    height: 40px;
    display: flex;
    align-items: center;
    padding: 0 13px;
    gap: 9px;
    background: #fff;
    border: 1px solid var(--frd-border);
    border-radius: 8px;
}

.frd-review-search input {
    width: 100%;
    border: 0;
    outline: 0;
    font-family: inherit;
}

.frd-review-search button {
    width: 40px;
    border: 1px solid var(--frd-border);
    background: #fff;
    border-radius: 8px;
    color: var(--frd-blue);
    cursor: pointer;
}

.frd-filter-buttons {
    display: flex;
    gap: 8px;
    margin: 15px 0;
    overflow-x: auto;
}

.frd-filter-buttons button {
    white-space: nowrap;
    padding: 9px 16px;
    border-radius: 8px;
    border: 1px solid #cfd8e5;
    background: #fff;
    color: var(--frd-text);
    font-weight: 700;
    cursor: pointer;
}

.frd-filter-buttons button.active {
    background: var(--frd-orange);
    color: #fff;
    border-color: var(--frd-orange);
}

/* =========================================================
   SUMMARY
========================================================= */

.frd-review-summary {
    display: grid;
    grid-template-columns: 1fr 180px;
    gap: 12px;
}

.frd-summary-card,
.frd-review-score-box {
    background: #fff;
    border: 1px solid var(--frd-border);
    border-radius: 14px;
    padding: 20px;
}

.frd-summary-card h3 {
    margin: 0 0 15px;
    font-size: 13px;
}

.frd-summary-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
}

.frd-summary-columns div {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.frd-summary-columns strong {
    font-size: 12px;
    color: #249254;
}

.frd-summary-columns span {
    font-size: 12px;
    color: #536177;
}

.frd-cons strong {
    color: #e24a3e;
}

.frd-review-score-box {
    text-align: center;
}

.frd-review-score-box small {
    font-weight: 700;
}

.frd-review-score-box > strong {
    display: block;
    font-size: 30px;
    color: var(--frd-navy);
    margin: 6px 0;
}

.frd-big-stars {
    color: var(--frd-orange);
    letter-spacing: 2px;
}

.frd-big-stars span {
    color: #cbd3df;
}

.frd-review-score-box button {
    width: 100%;
    margin-top: 13px;
    border: 0;
    background: var(--frd-orange);
    color: #fff;
    border-radius: 8px;
    padding: 11px;
    font-weight: 800;
    cursor: pointer;
}

/* =========================================================
   REVIEW ITEMS
========================================================= */

.frd-review-item {
    padding: 18px;
    margin-top: 14px;
    display: grid;
    grid-template-columns: 115px 1fr;
    gap: 18px;
}

.frd-review-user {
    text-align: center;
}

.frd-review-user img {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 7px;
}

.frd-review-user strong,
.frd-review-user small {
    display: block;
}

.frd-review-user strong {
    font-size: 13px;
}

.frd-review-user small {
    margin-top: 4px;
    font-size: 10px;
    color: var(--frd-muted);
}

.frd-review-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.frd-review-stars-text {
    color: var(--frd-orange);
    letter-spacing: 1px;
    font-size: 15px;
}

.frd-review-stars-text b {
    color: var(--frd-blue);
    margin-left: 7px;
}

.frd-empty-star {
    color: #cfd7e1;
}

.frd-review-meta small {
    color: var(--frd-muted);
}

.frd-review-body h3 {
    margin: 8px 0;
    font-size: 16px;
}

.frd-review-body p {
    margin: 0;
    color: #59687c;
    font-size: 13px;
    line-height: 1.7;
}

.frd-review-photos {
    display: flex;
    gap: 8px;
    margin: 12px 0;
}

.frd-review-photos img {
    width: 72px;
    height: 52px;
    object-fit: cover;
    border-radius: 7px;
}

.frd-review-actions {
    display: flex;
    gap: 25px;
}

.frd-review-actions button {
    border: 0;
    background: transparent;
    color: var(--frd-blue);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

/* =========================================================
   RIGHT SIDEBAR
========================================================= */

.frd-ad-card {
    min-height: 530px;
    margin-bottom: 18px;
    position: relative;
    overflow: hidden;
    padding: 40px 24px;
    color: #fff;
    background:
        linear-gradient(180deg, rgba(10,52,116,.78), rgba(10,40,90,.35)),
        url("https://images.unsplash.com/photo-1544735716-392fe2489ffa?w=800") center/cover;
}

.frd-ad-card::after {
    content: "";
    position: absolute;
    width: 230px;
    height: 230px;
    right: -130px;
    top: -90px;
    border-radius: 50%;
    background: var(--frd-orange);
}

.frd-ad-card > * {
    position: relative;
    z-index: 2;
}

.frd-ad-label {
    position: absolute;
    top: 12px;
    left: 12px;
    background: var(--frd-orange);
    padding: 5px 7px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 900;
}

.frd-ad-brand {
    text-align: center;
    font-size: 18px;
    margin-bottom: 60px;
}

.frd-ad-brand b {
    background: #f4512c;
    padding: 4px 7px;
    border-radius: 7px;
    font-style: italic;
}

.frd-ad-card h2 {
    font-size: 26px;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.frd-ad-card p {
    margin-bottom: 0;
}

.frd-ad-card > strong {
    font-size: 42px;
    display: block;
    line-height: 1;
}

.frd-ad-card > strong small {
    font-size: 18px;
    margin-left: 5px;
}

.frd-ad-card > span:not(.frd-ad-label) {
    display: block;
    margin-top: 8px;
    font-size: 17px;
}

.frd-ad-card button {
    margin-top: 20px;
    background: var(--frd-orange);
    border: 0;
    color: #fff;
    padding: 11px 18px;
    border-radius: 8px;
    font-weight: 800;
    cursor: pointer;
}

.frd-right-card {
    padding: 20px;
    margin-bottom: 18px;
}

.frd-social-icons {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin-bottom: 18px;
}

.frd-social-icons a {
    text-decoration: none;
    text-align: center;
    font-size: 9px;
    color: var(--frd-text);
}

.frd-social-icons i {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    margin: auto auto 5px;
    color: #fff;
    font-size: 17px;
}

.frd-whatsapp i {
    background: #20b95a;
}

.frd-facebook i {
    background: #315995;
}

.frd-twitter i {
    background: #111;
}

.frd-email i {
    background: var(--frd-blue);
}

.frd-right-card label {
    display: block;
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 7px;
}

.frd-copy-link {
    height: 38px;
    display: flex;
    border: 1px solid var(--frd-border);
    border-radius: 7px;
    overflow: hidden;
}

.frd-copy-link input {
    width: 100%;
    min-width: 0;
    border: 0;
    padding: 0 8px;
    font-size: 8px;
    outline: 0;
}

.frd-copy-btn {
    width: 38px;
    border: 0;
    background: #fff;
    color: var(--frd-blue);
    cursor: pointer;
}

.frd-save-card p,
.frd-right-card > p {
    font-size: 12px;
    color: var(--frd-muted);
    line-height: 1.6;
}

.frd-save-card button {
    width: 100%;
    min-height: 45px;
    background: #fff;
    border: 1px solid var(--frd-orange);
    border-radius: 8px;
    color: var(--frd-orange-dark);
    font-weight: 900;
    cursor: pointer;
}

.frd-media-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.frd-media-buttons button {
    min-height: 75px;
    border: 1px solid var(--frd-border);
    background: #f9fbfe;
    border-radius: 10px;
    color: var(--frd-blue);
    font-weight: 700;
    cursor: pointer;
}

.frd-media-buttons i {
    display: block;
    font-size: 22px;
    margin-bottom: 8px;
}

.frd-join-card {
    padding: 25px 20px;
    text-align: center;
    background: linear-gradient(135deg, #fffaf0, #fff3d7);
}

.frd-join-card > div {
    width: 45px;
    height: 45px;
    display: grid;
    place-items: center;
    background: var(--frd-orange);
    color: #fff;
    border-radius: 50%;
    margin: auto;
}

.frd-join-card h2 {
    margin: 13px 0 8px;
    font-size: 17px;
}

.frd-join-card p {
    font-size: 12px;
    line-height: 1.7;
    color: #58677b;
}

.frd-join-card button {
    margin-top: 5px;
    width: 80%;
    height: 43px;
    background: #fff;
    border: 1px solid var(--frd-orange);
    color: var(--frd-orange-dark);
    border-radius: 8px;
    font-weight: 900;
    cursor: pointer;
}

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

@media (max-width: 1200px) {

    .frd-layout {
        grid-template-columns: 250px minmax(0, 1fr);
    }

    .frd-sidebar-right {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 15px;
    }

    .frd-ad-card {
        grid-row: span 2;
        min-height: auto;
    }

    .frd-right-card,
    .frd-join-card {
        margin-bottom: 0;
    }

    .frd-join-card {
        grid-column: span 2;
    }
}

@media (max-width: 900px) {

    .frd-layout {
        grid-template-columns: 1fr;
    }

    .frd-sidebar-left {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .frd-side-card {
        margin-bottom: 0;
    }

    .frd-heading-row {
        flex-direction: column;
    }

    .frd-score-top {
        flex-wrap: wrap;
    }

    .frd-score-divider {
        display: none;
    }

    .frd-score-bars {
        grid-template-columns: 1fr;
    }

    .frd-sidebar-right {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 650px) {

    .frd-business-page {
        padding: 20px 12px 40px;
    }

    .frd-sidebar-left,
    .frd-sidebar-right {
        display: block;
    }

    .frd-side-card,
    .frd-right-card,
    .frd-ad-card,
    .frd-join-card {
        margin-bottom: 15px;
    }

    .frd-heading-row h1 {
        font-size: 22px;
    }

    .frd-header-actions {
        width: 100%;
    }

    .frd-header-actions button {
        flex: 1;
    }

    .frd-score-top {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .frd-score-block {
        grid-column: 1 / -1;
    }

    .frd-about-features,
    .frd-review-summary {
        grid-template-columns: 1fr;
    }

    .frd-review-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .frd-review-search {
        width: 100%;
    }

    .frd-review-search > div {
        width: 100%;
    }

    .frd-review-item {
        grid-template-columns: 1fr;
    }

    .frd-review-user {
        display: flex;
        text-align: left;
        align-items: center;
        gap: 10px;
    }

    .frd-review-user img {
        margin: 0;
    }

    .frd-review-actions {
        justify-content: space-between;
        gap: 5px;
        flex-wrap: wrap;
    }

    .frd-membership-banner {
        flex-wrap: wrap;
    }

    .frd-membership-banner button {
        width: 100%;
    }
}
/* ================================
   BREADCRUMB
================================ */

.fr-breadcrumb {
    background: #fff;
    border-bottom: 1px solid #e9edf3;
}

.fr-breadcrumb nav {
    min-height: 52px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.fr-breadcrumb a,
.fr-breadcrumb span {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}

.fr-breadcrumb a {
    color: #697586;
    text-decoration: none;
    transition: color 0.25s ease;
}

.fr-breadcrumb a:hover {
    color: #1e64bb;
}

.fr-breadcrumb span {
    color: #25364d;
    font-weight: 700;
}

.fr-breadcrumb i {
    font-size: 9px;
    color: #aab4c1;
}

/* Mobile */
@media (max-width: 767px) {
    .fr-breadcrumb nav {
        min-height: 46px;
        gap: 7px;
    }

    .fr-breadcrumb a,
    .fr-breadcrumb span {
        font-size: 11px;
    }

    .fr-breadcrumb i {
        font-size: 7px;
    }
}

```css
/* =========================================
   FIRMS REVIEWS AUTH PAGE
   FULL CSS
========================================= */

:root {
    --fr-orange: #ff8d08;
    --fr-orange-dark: #e97800;
    --fr-blue: #102f68;
    --fr-blue-light: #1d4c99;
    --fr-text: #1e2d45;
    --fr-muted: #697586;
    --fr-border: #dce3ed;
    --fr-bg: #f6f8fc;
}


/* =========================================
   RESET
========================================= */

/* =========================================
   MAIN
========================================= */

.fr-auth-page {
    width: 100%;
    min-height: 100vh;

    display: grid;
    grid-template-columns: 1fr 1.15fr;

    background: var(--fr-bg);

    font-family: "Nunito", sans-serif;

    overflow: hidden;
}


/* =========================================
   LEFT
========================================= */

.fr-auth-info {
    position: relative;

    padding: 10px 5%;

    background:
        radial-gradient(
            circle at 20% 40%,
            rgba(255, 141, 8, 0.10),
            transparent 30%
        ),
        radial-gradient(
            circle at 80% 70%,
            rgba(16, 47, 104, 0.10),
            transparent 35%
        ),
        #f8fafc;

    overflow: hidden;
}


/* =========================================
   LOGO
========================================= */

.fr-auth-logo {
    display: inline-block;
    text-decoration: none;
}

.fr-auth-logo img {
    display: block;

    max-width: 155px;
    height: auto;
}


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

.fr-auth-info-content {
    max-width: 570px;

    margin: 10px auto 0;
}


/* =========================================
   TAG
========================================= */

.fr-auth-tag {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    color: var(--fr-orange);

    font-weight: 800;
    font-size: 14px;

    margin-bottom: 20px;
}

.fr-auth-tag i {
    font-size: 13px;
}


/* =========================================
   LEFT HEADING
========================================= */

.fr-auth-info h1 {
    margin: 0;

    color: var(--fr-blue);

    font-size: clamp(38px, 2vw, 58px);

    line-height: 1.15;

    font-weight: 900;

    letter-spacing: -1.5px;
}

.fr-auth-info h1 span {
    color: var(--fr-orange);
}


/* =========================================
   LEFT DESCRIPTION
========================================= */

.fr-auth-info-content > p {
    color: var(--fr-muted);

    font-size: 18px;

    line-height: 1.7;

    max-width: 510px;

    margin: 20px 0 35px;
}


/* =========================================
   VISUAL
========================================= */

.fr-auth-visual {
    height: 270px;

    position: relative;

    margin-bottom: 35px;
}


/* =========================================
   MAIN ICON
========================================= */

.fr-auth-main-icon {
    width: 145px;
    height: 145px;

    border-radius: 45px;

    position: absolute;

    left: 50%;
    top: 65px;

    transform: translateX(-50%);

    background: var(--fr-orange);

    color: #fff;

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

    font-size: 58px;

    box-shadow:
        0 20px 40px rgba(255, 141, 8, 0.25);
}


/* Circle */

.fr-auth-main-icon::before {
    content: "";

    position: absolute;

    width: 210px;
    height: 210px;

    border: 1px solid rgba(16, 47, 104, 0.08);

    border-radius: 50%;
}


/* Icon */

.fr-auth-main-icon i {
    position: relative;

    z-index: 1;
}


/* =========================================
   REVIEW CARDS
========================================= */

.fr-auth-review-card {
    position: absolute;

    background: #fff;

    border-radius: 16px;

    padding: 16px;

    display: flex;
    align-items: center;

    gap: 12px;

    box-shadow:
        0 15px 40px rgba(16, 47, 104, 0.10);

    border: 1px solid rgba(16, 47, 104, 0.06);
}


/* Card one */

.fr-auth-card-one {
    left: 0;
    top: 25px;
}


/* Card two */

.fr-auth-card-two {
    right: 0;
    bottom: 5px;
}


/* =========================================
   REVIEW ICONS
========================================= */

.fr-auth-store-icon,
.fr-auth-user-icon {
    width: 46px;
    height: 46px;

    flex: 0 0 46px;

    border-radius: 12px;

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

    font-size: 21px;
}


/* Store */

.fr-auth-store-icon {
    background: rgba(255, 141, 8, 0.12);

    color: var(--fr-orange);
}


/* User */

.fr-auth-user-icon {
    background: rgba(16, 47, 104, 0.10);

    color: var(--fr-blue);
}


/* =========================================
   STARS
========================================= */

.fr-auth-stars {
    color: var(--fr-orange);

    font-size: 12px;

    white-space: nowrap;
}

.fr-auth-stars i {
    margin-right: 1px;
}


/* =========================================
   REVIEW LINES
========================================= */

.fr-auth-review-card span {
    display: block;

    width: 115px;
    height: 7px;

    background: #dfe5ed;

    border-radius: 10px;

    margin-top: 8px;
}

.fr-auth-review-card small {
    display: block;

    width: 75px;
    height: 6px;

    background: #edf0f4;

    border-radius: 10px;

    margin-top: 6px;
}


/* =========================================
   CHAT ICON
========================================= */

.fr-auth-chat-icon {
    position: absolute;

    right: 70px;
    top: 40px;

    width: 62px;
    height: 62px;

    border-radius: 18px;

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

    background: var(--fr-blue);

    color: #fff;

    font-size: 26px;

    box-shadow:
        0 15px 30px rgba(16, 47, 104, 0.20);
}


/* =========================================
   BENEFITS
========================================= */

.fr-auth-benefits {
    display: grid;

    gap: 16px;
}


/* Benefit */

.fr-auth-benefit {
    display: flex;
    align-items: center;

    gap: 15px;
}


/* Benefit icon */

.fr-auth-benefit-icon {
    flex: 0 0 52px;

    width: 52px;
    height: 52px;

    border-radius: 15px;

    background: #fff;

    color: var(--fr-orange);

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

    box-shadow:
        0 8px 25px rgba(16, 47, 104, 0.08);

    font-size: 20px;
}


/* Benefit heading */

.fr-auth-benefit h4 {
    margin: 0 0 3px;

    color: var(--fr-blue);

    font-size: 16px;

    font-weight: 800;
}


/* Benefit text */

.fr-auth-benefit p {
    margin: 0;

    color: var(--fr-muted);

    font-size: 14px;
}


/* =========================================
   RIGHT
========================================= */

.fr-auth-form-side {
    display: flex;

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

    padding: 35px;

    background: #fff;

    overflow: hidden;
}


/* =========================================
   FORM BOX
========================================= */

.fr-auth-box {
    width: 100%;

    max-width: 590px;

    padding: 0;
}


/* =========================================
   TABS
========================================= */

.fr-auth-tabs {
    display: grid;

    grid-template-columns: 1fr 1fr;

    border-bottom: 1px solid var(--fr-border);

    margin-bottom: 45px;
}


/* Tab */

.fr-auth-tab {
    border: 0;

    background: transparent;

    padding: 16px 10px;

    font-family: inherit;

    font-size: 17px;

    font-weight: 800;

    color: #7a8492;

    cursor: pointer;

    position: relative;
}


/* Active */

.fr-auth-tab.active {
    color: var(--fr-orange);
}


/* Active line */

.fr-auth-tab.active::after {
    content: "";

    position: absolute;

    height: 3px;

    border-radius: 10px;

    background: var(--fr-orange);

    left: 0;
    right: 0;

    bottom: -1px;
}


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

.fr-auth-content {
    display: none;

    animation: frFade 0.3s ease;
}

.fr-auth-content.active {
    display: block;
}


/* Animation */

@keyframes frFade {

    from {
        opacity: 0;

        transform: translateY(8px);
    }

    to {
        opacity: 1;

        transform: translateY(0);
    }

}


/* =========================================
   HEADING
========================================= */

.fr-auth-heading {
    margin-bottom: 28px;
}

.fr-auth-heading h2 {
    color: var(--fr-blue);

    margin: 0 0 7px;

    font-size: 30px;

    font-weight: 900;
}

.fr-auth-heading p {
    margin: 0;

    color: var(--fr-muted);

    font-size: 16px;
}


/* =========================================
   GOOGLE
========================================= */

.fr-google-login {
    width: 100%;

    height: 60px;

    border: 1.5px solid rgba(255, 141, 8, 0.55);

    border-radius: 12px;

    background: #fff;

    color: var(--fr-blue);

    font-family: inherit;

    font-size: 16px;

    font-weight: 800;

    cursor: pointer;

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

    gap: 13px;

    transition: 0.25s;
}


/* Google icon */

.fr-google-login i {
    font-size: 20px;

    color: #4285f4;
}


/* Hover */

.fr-google-login:hover {
    border-color: var(--fr-orange);

    box-shadow:
        0 8px 25px rgba(255, 141, 8, 0.10);

    transform: translateY(-2px);
}

.fr-apple-login {
    margin-top: 12px!important;
}

.fr-apple-login i {
    font-size: 22px;
    color: #111;
}

.fr-facebook-login {
    margin-top: 12px!important;
}

.fr-facebook-login i {
    font-size: 20px;
    color: #1877F2;
}


/* Old class */

.fr-google-icon {
    display: none;
}


/* =========================================
   DIVIDER
========================================= */

.fr-auth-divider {
    display: flex;

    align-items: center;

    gap: 18px;

    margin: 28px 0;

    color: var(--fr-muted);
}

.fr-auth-divider span {
    flex: 1;

    height: 1px;

    background: var(--fr-border);
}

.fr-auth-divider strong {
    font-size: 14px;

    font-weight: 700;
}


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

.fr-auth-field {
    margin-bottom: 20px;
}


/* Label */

.fr-auth-field label {
    display: block;

    margin-bottom: 8px;

    color: var(--fr-blue);

    font-size: 15px;

    font-weight: 800;
}


/* =========================================
   INPUT
========================================= */

.fr-auth-input {
    height: 58px;

    border: 1.5px solid var(--fr-border);

    border-radius: 12px;

    display: flex;
    align-items: center;

    padding: 0 17px;

    transition: 0.2s;

    background: #fff;
}


/* Focus */

.fr-auth-input:focus-within {
    border-color: var(--fr-orange);

    box-shadow:
        0 0 0 4px rgba(255, 141, 8, 0.08);
}


/* Input */

.fr-auth-input input {
    width: 100%;

    height: 100%;

    border: 0;

    outline: 0;

    background: transparent;

    color: var(--fr-text);

    font-family: inherit;

    font-size: 15px;
}


/* Placeholder */

.fr-auth-input input::placeholder {
    color: #9aa5b4;
}


/* Input icon */

.fr-auth-input > i {
    color: var(--fr-orange);

    font-size: 18px;
}


/* =========================================
   PASSWORD TOGGLE
========================================= */

.fr-password-toggle {
    border: 0;

    background: transparent;

    color: var(--fr-orange);

    font-size: 18px;

    cursor: pointer;

    padding: 5px;

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


/* =========================================
   FORGOT
========================================= */

.fr-auth-forgot {
    display: flex;

    justify-content: flex-end;

    margin: -5px 0 25px;
}

.fr-auth-forgot a {
    color: var(--fr-orange);

    text-decoration: none;

    font-weight: 800;

    font-size: 14px;
}

.fr-auth-forgot a:hover {
    text-decoration: underline;
}


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

.fr-auth-submit {
    width: 100%;

    min-height: 58px;

    border: 0;

    border-radius: 12px;

    background: var(--fr-orange);

    color: #fff;

    font-family: inherit;

    font-size: 17px;

    font-weight: 900;

    cursor: pointer;

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

    gap: 10px;

    box-shadow:
        0 12px 25px rgba(255, 141, 8, 0.22);

    transition: 0.25s;
}


/* Hover */

.fr-auth-submit:hover {
    /* background: var(--fr-orange-dark); */

    transform: translateY(-2px);
}


/* =========================================
   BOTTOM TEXT
========================================= */

.fr-auth-bottom-text {
    text-align: center;

    color: var(--fr-muted);

    margin: 25px 0 0;

    font-size: 15px;
}


/* Switch */

.fr-switch-tab {
    border: 0;

    background: transparent;

    padding: 0;

    color: var(--fr-orange);

    font-family: inherit;

    font-size: inherit;

    font-weight: 900;

    cursor: pointer;
}

.fr-switch-tab:hover {
    text-decoration: underline;
}


/* =========================================
   DESKTOP - NO PAGE SCROLL
========================================= */

@media (min-width: 992px) {


    .fr-auth-page {
        height: 100vh;
        min-height: 100vh;

        overflow: hidden;
    }

    .fr-auth-info {
        height: 100vh;
        overflow: hidden;
    }

    .fr-auth-form-side {
        height: 100vh;
        overflow: hidden;
    }

}


/* =========================================
   SHORT DESKTOP SCREEN
========================================= */

@media (min-width: 992px) and (max-height: 800px) {

    .fr-auth-info {
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .fr-auth-info-content {
        margin-top: 3px;
    }

    .fr-auth-tag {
        margin-bottom: 12px;
    }

    .fr-auth-info h1 {
        font-size: 42px;
    }

    .fr-auth-info-content > p {
        font-size: 15px;

        line-height: 1.5;

        margin: 12px 0 20px;
    }

    .fr-auth-visual {
        height: 205px;

        margin-bottom: 20px;
    }

    .fr-auth-main-icon {
        width: 115px;
        height: 115px;

        top: 48px;

        font-size: 48px;

        border-radius: 38px;
    }

    .fr-auth-main-icon::before {
        width: 175px;
        height: 175px;
    }

    .fr-auth-card-one {
        top: 12px;
    }

    .fr-auth-card-two {
        bottom: 0;
    }

    .fr-auth-chat-icon {
        top: 25px;

        width: 55px;
        height: 55px;

        font-size: 23px;
    }

    .fr-auth-benefits {
        gap: 9px;
    }

    .fr-auth-benefit-icon {
        width: 45px;
        height: 45px;

        flex-basis: 45px;

        font-size: 18px;
    }

    .fr-auth-benefit h4 {
        font-size: 14px;
    }

    .fr-auth-benefit p {
        font-size: 12px;
    }


    /* Right */

    .fr-auth-form-side {
        padding: 20px 35px;
    }

    .fr-auth-tabs {
        margin-bottom: 25px;
    }

    .fr-auth-tab {
        padding: 12px 10px;
    }

    .fr-auth-heading {
        margin-bottom: 18px;
    }

    .fr-auth-heading h2 {
        font-size: 26px;
    }

    .fr-auth-heading p {
        font-size: 14px;
    }

    .fr-google-login {
        height: 52px;
    }

    .fr-auth-divider {
        margin: 18px 0;
    }

    .fr-auth-field {
        margin-bottom: 13px;
    }

    .fr-auth-field label {
        margin-bottom: 6px;

        font-size: 14px;
    }

    .fr-auth-input {
        height: 51px;
    }

    .fr-auth-forgot {
        margin: -3px 0 15px;
    }

    .fr-auth-submit {
        min-height: 52px;

        font-size: 15px;
    }

    .fr-auth-bottom-text {
        margin-top: 15px;

        font-size: 13px;
    }
}


/* =========================================
   VERY SHORT DESKTOP
========================================= */

@media (min-width: 992px) and (max-height: 680px) {

    .fr-auth-info h1 {
        font-size: 36px;
    }

    .fr-auth-info-content > p {
        font-size: 13px;

        margin: 8px 0 12px;
    }

    .fr-auth-visual {
        height: 165px;

        margin-bottom: 10px;
    }

    .fr-auth-main-icon {
        width: 90px;
        height: 90px;

        top: 35px;

        font-size: 38px;

        border-radius: 30px;
    }

    .fr-auth-main-icon::before {
        width: 135px;
        height: 135px;
    }

    .fr-auth-review-card {
        padding: 11px;
    }

    .fr-auth-store-icon,
    .fr-auth-user-icon {
        width: 40px;
        height: 40px;

        flex-basis: 40px;

        font-size: 18px;
    }

    .fr-auth-chat-icon {
        width: 48px;
        height: 48px;

        font-size: 20px;

        right: 50px;
        top: 20px;
    }

    .fr-auth-benefits {
        gap: 5px;
    }

    .fr-auth-benefit-icon {
        width: 38px;
        height: 38px;

        flex-basis: 38px;

        font-size: 15px;
    }

    .fr-auth-benefit h4 {
        font-size: 12px;
    }

    .fr-auth-benefit p {
        font-size: 10px;
    }


    /* Right */

    .fr-auth-form-side {
        padding: 12px 30px;
    }

    .fr-auth-tabs {
        margin-bottom: 15px;
    }

    .fr-auth-tab {
        padding: 9px 10px;

        font-size: 15px;
    }

    .fr-auth-heading {
        margin-bottom: 10px;
    }

    .fr-auth-heading h2 {
        font-size: 22px;
    }

    .fr-auth-heading p {
        font-size: 12px;
    }

    .fr-google-login {
        height: 45px;

        font-size: 14px;
    }

    .fr-auth-divider {
        margin: 10px 0;
    }

    .fr-auth-field {
        margin-bottom: 8px;
    }

    .fr-auth-field label {
        font-size: 12px;

        margin-bottom: 4px;
    }

    .fr-auth-input {
        height: 43px;
    }

    .fr-auth-input input {
        font-size: 13px;
    }

    .fr-auth-forgot {
        margin: 0 0 8px;
    }

    .fr-auth-forgot a {
        font-size: 12px;
    }

    .fr-auth-submit {
        min-height: 44px;

        font-size: 14px;
    }

    .fr-auth-bottom-text {
        margin-top: 8px;

        font-size: 12px;
    }
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .fr-auth-page {
        height: auto;

        min-height: 100vh;

        grid-template-columns: 1fr;

        overflow: visible;
    }

    .fr-auth-info {
        height: auto;

        min-height: auto;

        padding: 30px;

        overflow: visible;
    }

    .fr-auth-info-content {
        margin-top: 45px;
    }

    .fr-auth-benefits {
        grid-template-columns: repeat(3, 1fr);
    }

    .fr-auth-benefit {
        align-items: flex-start;
    }

    .fr-auth-form-side {
        height: auto;

        min-height: auto;

        padding: 50px 30px;

        overflow: visible;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .fr-auth-info {
        padding: 25px 20px 40px;
    }

    .fr-auth-info-content {
        margin-top: 25px;
    }

    .fr-auth-logo img {
        max-width: 140px;
    }

    .fr-auth-info h1 {
        font-size: 36px;

        letter-spacing: -1px;
    }

    .fr-auth-info-content > p {
        font-size: 15px;

        line-height: 1.6;

        margin: 15px 0 20px;
    }


    /* Visual */

    .fr-auth-visual {
        transform: scale(0.85);

        transform-origin: center;

        margin: -10px -20px 10px;

        height: 220px;
    }


    /* Benefits */

    .fr-auth-benefits {
        grid-template-columns: 1fr;

        gap: 12px;
    }

    .fr-auth-benefit {
        align-items: center;
    }


    /* Right */

    .fr-auth-form-side {
        padding: 40px 20px;
    }

    .fr-auth-tabs {
        margin-bottom: 35px;
    }

    .fr-auth-heading h2 {
        font-size: 26px;
    }

    .fr-auth-heading p {
        font-size: 14px;
    }

    .fr-google-login {
        height: 55px;
    }

    .fr-auth-input {
        height: 55px;
    }

    .fr-auth-submit {
        min-height: 55px;
    }
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

    .fr-auth-info {
        padding: 20px 16px 30px;
    }

    .fr-auth-logo img {
        max-width: 130px;
    }

    .fr-auth-info-content {
        margin-top: 20px;
    }

    .fr-auth-tag {
        font-size: 12px;

        margin-bottom: 10px;
    }

    .fr-auth-info h1 {
        font-size: 31px;

        line-height: 1.15;
    }

    .fr-auth-info-content > p {
        font-size: 14px;

        line-height: 1.5;
    }


    /* Visual */

    .fr-auth-visual {
        transform: scale(0.70);

        transform-origin: center;

        margin: -35px -65px -20px;

        height: 190px;
    }

    .fr-auth-card-two {
        right: 5px;
    }


    /* Chat */

    .fr-auth-chat-icon {
        right: 45px;
    }


    /* Right */

    .fr-auth-form-side {
        padding: 35px 16px 40px;
    }

    .fr-auth-tabs {
        margin-bottom: 30px;
    }

    .fr-auth-tab {
        font-size: 16px;
    }

    .fr-auth-heading {
        margin-bottom: 20px;
    }

    .fr-auth-heading h2 {
        font-size: 24px;
    }

    .fr-auth-heading p {
        font-size: 13px;
    }

    .fr-google-login {
        height: 52px;

        font-size: 14px;
    }

    .fr-auth-divider {
        gap: 12px;

        margin: 20px 0;
    }

    .fr-auth-field {
        margin-bottom: 15px;
    }

    .fr-auth-field label {
        font-size: 13px;
    }

    .fr-auth-input {
        height: 52px;
    }

    .fr-auth-input input {
        font-size: 14px;
    }

    .fr-auth-submit {
        min-height: 52px;

        font-size: 15px;
    }

    .fr-auth-bottom-text {
        margin-top: 18px;

        font-size: 13px;
    }
}
/* This file styles only the new catalog content. Header and footer are untouched. */
:root {
  --catalog-navy: #062b70;
  --catalog-orange: #ff8d08;
  --catalog-ink: #10213e;
  --catalog-muted: #62708a;
  --catalog-line: #dfe5ed;
  --catalog-surface: #ffffff;
  --catalog-page: #f7f9fc;
}

.catalog-page,
.catalog-breadcrumb {
  box-sizing: border-box;
  color: var(--catalog-ink);
  font-family: "Nunito", sans-serif;
}

.catalog-page *,
.catalog-breadcrumb * { box-sizing: border-box; }

.catalog-page {
  padding: 0 0 72px;
  background: var(--catalog-page);
}

.catalog-shell {
  width: min(1320px, calc(100% - 40px));
  margin: 0 auto;
}

.catalog-breadcrumb { background: #fff; }

.catalog-breadcrumb nav {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  font-size: 14px;
  font-weight: 700;
}

.catalog-breadcrumb a { color: #5e6c86; text-decoration: none; }
.catalog-breadcrumb span { color: var(--catalog-navy); }
.catalog-breadcrumb i { color: #a7b1c0; font-size: 10px; }

.catalog-layout {
 display: grid;
    grid-template-columns: 20% 57% 20%;
    align-items: start;
    gap: 20px;
}

.catalog-filters {
  position: sticky;
  top: 24px;
  padding: 22px;
  background: var(--catalog-surface);
  border: 1px solid var(--catalog-line);
  border-radius: 16px;
}

.catalog-filter-heading,
.catalog-results-heading,
.catalog-product-topline,
.catalog-card-actions,
.catalog-rating-line,
.catalog-review-preview > div {
  display: flex;
  align-items: center;
}

.catalog-filter-heading { justify-content: space-between; margin-bottom: 24px; }
.catalog-filter-heading h2 { margin: 0; color: var(--catalog-navy); font-size: 21px; line-height: 1; }

.catalog-icon-button,
.catalog-heart-button {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--catalog-line);
  border-radius: 10px;
  color: var(--catalog-navy);
  background: #fff;
  cursor: pointer;
}

.catalog-filter-group + .catalog-filter-group { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--catalog-line); }
.catalog-filter-group h3 { margin: 0 0 14px; color: var(--catalog-ink); font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }

.catalog-search { position: relative; display: block; margin-bottom: 16px; }
.catalog-search input {
  width: 100%;
  height: 46px;
  padding: 0 43px 0 14px;
  border: 1px solid #ccd5e2;
  border-radius: 9px;
  color: var(--catalog-ink);
  font: inherit;
  outline-color: var(--catalog-orange);
}
.catalog-search i { position: absolute; top: 50%; right: 15px; color: var(--catalog-navy); transform: translateY(-50%); }

.catalog-check-list { display: grid; gap: 13px; }
.catalog-check-list label { display: flex; align-items: center; gap: 9px; min-width: 0; color: #243753; font-size: 14px; font-weight: 700; cursor: pointer; }
.catalog-check-list input { width: 18px; height: 18px; margin: 0; accent-color: var(--catalog-orange); }
.catalog-check-list label > span:not(.catalog-stars) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.catalog-check-list small { margin-left: auto; color: var(--catalog-muted); font-size: 13px; font-weight: 600; white-space: nowrap; }
.catalog-text-button { margin-top: 18px; padding: 0; border: 0; color: var(--catalog-navy); background: transparent; font: inherit; font-size: 14px; font-weight: 900; cursor: pointer; }

.catalog-stars { color: var(--catalog-orange); letter-spacing: 1px; white-space: nowrap; }
.catalog-stars em { color: #c9d0da; font-style: normal; }

.catalog-results-heading { justify-content: space-between; gap: 20px; margin: 4px 0 18px; }
.catalog-eyebrow { margin: 0 0 3px; color: var(--catalog-muted); font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.catalog-results-heading h1 { margin: 0; color: var(--catalog-navy); font-size: clamp(28px, 3vw, 37px); line-height: 1.12; }
.catalog-results-heading h1 span { margin-left: 10px; color: #62708a; font-size: 15px; font-weight: 700; vertical-align: middle; }
.catalog-sort { display: flex; align-items: center; gap: 7px; min-width: 210px; height: 46px; padding: 0 11px 0 15px; border: 1px solid #ccd5e2; border-radius: 9px; color: var(--catalog-ink); background: #fff; font-size: 14px; font-weight: 800; }
.catalog-sort select { min-width: 0; border: 0; outline: 0; color: var(--catalog-navy); background: #fff; font: inherit; cursor: pointer; }

.catalog-promo { position: relative; display: flex; align-items: center; min-height: 188px; margin-bottom: 22px; overflow: hidden; border-radius: 16px; color: #fff; background: var(--catalog-navy); text-decoration: none; isolation: isolate; }
.catalog-promo::after { position: absolute; inset: 0; z-index: -1; content: ""; background: linear-gradient(90deg, rgba(6,43,112,.98) 0%, rgba(6,43,112,.92) 36%, rgba(6,43,112,.12) 72%); }
.catalog-promo img { position: absolute; inset: 0 0 0 auto; z-index: -2; width: 65%; height: 100%; object-fit: cover; }
.catalog-promo-copy { display: grid; gap: 7px; max-width: 420px; padding: 28px 38px; }
.catalog-promo-copy > span { font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.catalog-promo-copy strong { font-size: clamp(25px, 3vw, 36px); line-height: .98; text-transform: uppercase; }
.catalog-promo-copy strong b { display: block; color: var(--catalog-orange); }
.catalog-promo-copy em { display: inline-flex; align-items: center; gap: 8px; width: fit-content; margin-top: 7px; padding: 10px 15px; border-radius: 999px; color: #fff; background: var(--catalog-orange); font-size: 13px; font-style: normal; font-weight: 900; text-transform: uppercase; }

.catalog-product-card { display: grid;     grid-template-columns: 35% 60%; gap: 20px; padding: 20px; background: #fff; border: 1px solid var(--catalog-line); border-radius: 16px; box-shadow: 0 5px 20px rgba(27, 49, 83, .04); }
.catalog-product-card + .catalog-product-card { margin-top: 16px; }
.catalog-main-image { position: relative; display: block; min-height: 276px; overflow: hidden; border-radius: 12px; background: #f0f2f5; }
.catalog-main-image img { width: 100%; height: 100%; object-fit: cover; }
.catalog-badge { position: absolute; z-index: 1; top: 12px; left: 12px; padding: 6px 9px; border-radius: 5px; color: #fff; background: var(--catalog-navy); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.catalog-thumbnails { display: grid; grid-template-rows: repeat(4, 1fr); gap: 10px; }
.catalog-thumbnails button { min-width: 0; padding: 0; overflow: hidden; border: 1px solid transparent; border-radius: 8px; background: #eef1f5; cursor: pointer; }
.catalog-thumbnails button.is-active { border-color: var(--catalog-orange); }
.catalog-thumbnails img { width: 100%; height: 100%; object-fit: cover; vertical-align: middle; }
.catalog-thumbnails .catalog-more-photos { color: #fff; background: var(--catalog-navy); font: inherit; font-weight: 900; }

.catalog-product-info { display: flex; flex-direction: column; min-width: 0; padding: 4px 2px; }
.catalog-product-topline { align-items: start; justify-content: space-between; gap: 15px; }
.catalog-product-topline h2 { margin: 0; font-size: 21px; line-height: 1.23; }
.catalog-product-topline h2 a { color: var(--catalog-navy); text-decoration: none; }
.catalog-compare { display: inline-flex; align-items: center; flex: 0 0 auto; gap: 6px; padding-top: 3px; color: var(--catalog-navy); font-size: 14px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.catalog-compare input { width: 17px; height: 17px; margin: 0; accent-color: var(--catalog-orange); }
.catalog-rating-line { gap: 7px; margin: 11px 0 15px; }
.catalog-rating-line strong { color: var(--catalog-ink); font-size: 17px; }
.catalog-rating-line a { color: #62708a; font-size: 14px; font-weight: 700; text-decoration: none; }

.catalog-specs { display: grid; grid-template-columns: 1.35fr .85fr .85fr; gap: 0; margin: 0; padding: 15px 0; border-block: 1px solid var(--catalog-line); }
.catalog-specs div { padding: 0 18px; border-left: 1px solid var(--catalog-line); }
.catalog-specs div:first-child { padding-left: 0; border-left: 0; }
.catalog-specs dt { margin-bottom: 5px; color: #62708a; font-size: 12px; font-weight: 700; }
.catalog-specs dd { margin: 0; color: var(--catalog-ink); font-size: 16px; font-weight: 900; }

.catalog-review-preview { margin: 15px 0 17px; color: var(--catalog-ink); font-size: 13px; }
.catalog-review-preview > div { gap: 8px; }
.catalog-review-preview strong { font-size: 14px; }
.catalog-review-preview span { color: var(--catalog-navy); font-weight: 800; }
.catalog-review-preview time { margin-left: auto; color: var(--catalog-muted); }
.catalog-review-preview p { margin: 6px 0 0; line-height: 1.45; }
.catalog-card-actions { gap: 12px; margin-top: auto; }
.catalog-secondary-button,
.catalog-primary-button { height: 46px; border-radius: 9px; font: inherit; font-size: 14px; font-weight: 900; cursor: pointer; }
.catalog-secondary-button { min-width: 160px; border: 1px solid #bfcadb; color: var(--catalog-navy); background: #fff; }
.catalog-secondary-button i { margin-right: 7px; }
.catalog-primary-button { flex: 1; min-width: 150px; border: 1px solid var(--catalog-orange); color: #fff; background: var(--catalog-orange); }
.catalog-primary-button i { margin-right: 7px; }

@media (max-width: 1020px) {
  .catalog-layout { grid-template-columns: 240px minmax(0, 1fr); gap: 20px; }
  .catalog-product-card { grid-template-columns: 220px 68px minmax(0, 1fr); gap: 13px; padding: 15px; }
  .catalog-main-image { min-height: 240px; }
  .catalog-product-topline h2 { font-size: 18px; }
  .catalog-specs div { padding: 0 11px; }
}

@media (max-width: 780px) {
  .catalog-shell { width: min(100% - 28px, 580px); }
  .catalog-layout { display: block; }
  .catalog-filters { position: static; margin-bottom: 20px; }
  .catalog-results-heading { align-items: flex-end; }
  .catalog-product-card { grid-template-columns: minmax(0, 1fr) 68px; }
  .catalog-main-image { min-height: 290px; }
  .catalog-product-info { grid-column: 1 / -1; }
}

@media (max-width: 540px) {
  .catalog-page { padding-bottom: 40px; }
  .catalog-results-heading { display: block; }
  .catalog-sort { width: 100%; margin-top: 15px; }
  .catalog-promo { min-height: 165px; }
  .catalog-promo::after { background: linear-gradient(90deg, rgba(6,43,112,.98) 0%, rgba(6,43,112,.78) 100%); }
  .catalog-promo img { width: 100%; opacity: .35; }
  .catalog-promo-copy { padding: 25px; }
  .catalog-product-card { grid-template-columns: minmax(0, 1fr) 58px; padding: 12px; gap: 10px; }
  .catalog-main-image { min-height: 245px; }
  .catalog-product-topline { display: block; }
  .catalog-compare { margin-top: 10px; }
  .catalog-specs { grid-template-columns: 1fr 1fr; row-gap: 16px; }
  .catalog-specs div:nth-child(3) { grid-column: 1 / -1; padding-left: 0; border-left: 0; }
  .catalog-card-actions { flex-wrap: wrap; }
  .catalog-secondary-button { flex: 1; min-width: 0; }
  .catalog-primary-button { flex-basis: calc(100% - 56px); }
}

/* ========================= REVIEWS ========================= */ .catalog-reviews-section { margin-top: 0px; border-top: 1px solid #e8e8e8; padding-top: 18px; } .catalog-reviews-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; } .catalog-reviews-heading h3 { margin: 0; font-size: 18px; color: #171717; } .catalog-reviews-heading span { font-size: 13px; color: #777; } /* Individual Review */ .catalog-review-item { padding: 15px 0; border-bottom: 1px solid #eeeeee; } .catalog-review-user { display: flex; align-items: center; gap: 10px; } .catalog-review-avatar { width: 38px; height: 38px; border-radius: 50%; background: #eef3ff; color: #3159b8; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; flex-shrink: 0; } .catalog-review-user > div:nth-child(2) { display: flex; flex-direction: column; gap: 3px; } .catalog-review-user strong { font-size: 14px; color: #222; } .catalog-review-user time { margin-left: auto; color: #999; font-size: 12px; } .catalog-verified { font-size: 11px; color: #168a4b; display: inline-flex; align-items: center; gap: 4px; } .catalog-review-stars { margin-top: 8px; color: #f5a623; font-size: 14px; letter-spacing: 1px; } .catalog-review-item p { margin: 7px 0 0; color: #555; font-size: 13px; line-height: 1.6; } /* Hidden Reviews */ .catalog-hidden-reviews { display: none; } .catalog-hidden-reviews.show { display: block; } /* Load More */ .catalog-load-more { width: 100%; margin-top: 15px; padding: 11px 16px; border: 1px solid #d8d8d8; background: #fff; border-radius: 8px; color: #1c1c1c; font-size: 13px; font-weight: 600; cursor: pointer; transition: all .2s ease; } .catalog-load-more:hover { background: #f7f7f7; border-color: #bbb; } .catalog-load-more i { margin-left: 6px; font-size: 11px; transition: transform .2s ease; } .catalog-load-more.active i { transform: rotate(180deg); } /* Product rating */ .catalog-rating-line { display: flex; align-items: center; gap: 7px; margin-top: 7px; } .catalog-rating-line strong { font-size: 15px; } .catalog-stars { color: #f5a623; letter-spacing: 1px; } .catalog-rating-line a { color: #777; font-size: 13px; text-decoration: none; } /* Mobile */ @media (max-width: 600px) { .catalog-reviews-section { margin-top: 18px; } .catalog-reviews-heading h3 { font-size: 16px; } .catalog-review-item { padding: 13px 0; } .catalog-review-item p { font-size: 12px; } }

.catalog-image-gallery {
    width: 100%;
}



.catalog-product-gallery {
    width: 100%;
    display: block;
}


/* =========================================
   MAIN IMAGE
========================================= */

.catalog-product-gallery .catalog-main-image {
    position: relative;
    display: block;

    width: 100%;
    height: 330px;

    overflow: hidden;

    border-radius: 12px;

    background: #f6f6f6;

    text-decoration: none;
}


.catalog-product-gallery .catalog-main-product-img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;

    transition:
        opacity .25s ease,
        transform .35s ease;
}


/* Image hover */

.catalog-product-gallery .catalog-main-image:hover
.catalog-main-product-img {
    transform: scale(1.02);
}


/* =========================================
   BADGE
========================================= */

.catalog-product-gallery .catalog-badge {
    position: absolute;

    top: 14px;
    left: 14px;

    z-index: 5;

    display: inline-flex;
    align-items: center;

    padding: 7px 12px;

    background: #111;
    color: #fff;

    border-radius: 6px;

    font-size: 11px;
    line-height: 1;

    font-weight: 700;

    text-transform: uppercase;
}


/* =========================================
   THUMBNAILS
========================================= */

.catalog-product-gallery .catalog-thumbnails {
    display: flex;
    align-items: center;

    gap: 8px;

    width: 100%;

    margin-top: 10px;
}


/* Thumbnail */

.catalog-product-gallery .catalog-thumb {
    flex: 0 0 64px;

    width: 64px;
    height: 64px;

    padding: 0;

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

    overflow: hidden;

    border: 1px solid #dedede;
    border-radius: 8px;

    background: #fff;

    cursor: pointer;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}


/* Thumbnail image */

.catalog-product-gallery .catalog-thumb img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


/* Active */

.catalog-product-gallery .catalog-thumb.is-active {
    border: 2px solid #111;

    box-shadow: 0 0 0 1px #111;
}


/* Hover */

.catalog-product-gallery .catalog-thumb:hover {
    border-color: #555;
}


/* =========================================
   +2 BUTTON
========================================= */

.catalog-product-gallery .catalog-more-photos {
    background: #f5f5f5;

    color: #222;

    font-size: 14px;
    font-weight: 700;
}

.catalog-product-gallery .catalog-more-photos span {
    pointer-events: none;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 768px) {

    .catalog-product-gallery .catalog-main-image {
        height: 300px;
    }

    .catalog-product-gallery .catalog-thumb {
        flex-basis: 60px;

        width: 60px;
        height: 60px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 480px) {

    .catalog-product-gallery .catalog-main-image {
        height: 250px;

        border-radius: 9px;
    }

    .catalog-product-gallery .catalog-thumbnails {
        gap: 6px;
    }

    .catalog-product-gallery .catalog-thumb {
        flex-basis: 55px;

        width: 55px;
        height: 55px;

        border-radius: 7px;
    }

}
.catalog-left {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 10px;
}

.catalog-right {
    min-width: 0;
}

/* Shared header menus */
.business-dropdown {
    position: relative;
    display: inline-block;
}
.fr-business-btn i {
    font-size: 11px;
    transition: transform .2s ease;
}

.business-dropdown:hover .fr-business-btn i {
    transform: rotate(180deg);
}

/* Dropdown */
.business-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: 268px;
    padding: 8px 0;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, .18);
    z-index: 9999;

    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: all .2s ease;
}

/* Small top arrow */
.business-menu::before {
    content: "";
    position: absolute;
    top: -7px;
    left: 28px;
    width: 14px;
    height: 14px;
    background: #fff;
    transform: rotate(45deg);
}

/* Show dropdown */
.business-dropdown:hover .business-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Menu item */
.business-menu-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 52px;
    padding: 10px 20px;
    color: #333;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    background: #fff;
    transition: background .15s ease;
    z-index: 1;
}

.business-menu-item:hover {
    background: #f5f5f5;
    color: #222;
}

/* Icons */
.menu-icon {
    width: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
    font-size: 20px;
}

.menu-icon i {
    font-size: 20px;
}

/* Divider */
.business-divider {
    height: 1px;
    background: #ddd;
    margin: 7px 16px;
}
.business-dropdown.active .business-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.business-dropdown.active .fr-business-btn i {
    transform: rotate(180deg);
}

.fr-user-menu {
    position: relative;
}

.fr-user-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 0;
    background: transparent;
    color: #1f2937;
    cursor: pointer;
    padding: 4px 0;
    font-size: 16px;
    font-weight: 700;
}

.fr-user-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #2f6fe0;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
    font-size: 16px;
    font-weight: 800;
}

.fr-user-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fr-user-name {
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fr-user-btn i {
    font-size: 11px;
    color: #6b7280;
    transition: transform .2s ease;
}

.fr-user-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    min-width: 168px;
    padding: 6px 0;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .16);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: all .2s ease;
}

.fr-user-dropdown a {
    display: block;
    padding: 11px 16px;
    color: #1f2937;
    font-size: 15px;
    font-weight: 600;
}

.fr-user-dropdown a:hover {
    background: #f5f7fb;
    color: #1f2937;
}

.fr-user-menu:hover .fr-user-dropdown,
.fr-user-menu.active .fr-user-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.fr-user-menu:hover .fr-user-btn i,
.fr-user-menu.active .fr-user-btn i {
    transform: rotate(180deg);
}

@media (max-width: 850px) {
    .fr-user-menu {
        width: 100%;
    }

    .fr-user-btn {
        width: 100%;
        justify-content: flex-start;
        padding: 10px 15px;
    }

    .fr-user-dropdown {
        position: static;
        width: 100%;
        min-width: 0;
        margin-top: 4px;
        box-shadow: none;
        border: 1px solid #edf0f5;
        opacity: 1;
        visibility: visible;
        transform: none;
        display: none;
    }

    .fr-user-menu.active .fr-user-dropdown,
    .fr-user-menu:hover .fr-user-dropdown {
        display: block;
    }
}

/* FIRMSREVIEWS FOOTER — screenshot-matched light design
   Paste this AFTER your existing footer CSS.
   Existing HTML and country-selector JavaScript can stay unchanged. */

.frx-footer{
  --frx-blue:#0878df;
  --frx-blue-light:#1688ef;
  --frx-blue-soft:#dceeff;
  --frx-orange:#f6a21a;
  --frx-dark:#10233d;
  --frx-dark-2:#062b58;
  --frx-dark-3:#0b3768;
  --frx-white:#fff;
  --frx-text:#27384d;
  --frx-muted:#536174;
  position:relative;width:100%;overflow:hidden;color:var(--frx-text);
  font-family:"Nunito",sans-serif;
  background:
    radial-gradient(ellipse at 3% 100%,rgba(78,166,255,.16),transparent 28%),
    radial-gradient(ellipse at 96% 100%,rgba(246,162,26,.12),transparent 25%),
    linear-gradient(180deg,#fbfdff 0%,#f4f8fd 100%);
  border-top:1px solid #e5edf7;
}
.frx-footer-container{position:relative;z-index:5;width:calc(100% - 60px);max-width:1480px;margin:0 auto;padding:22px 0 10px}
.frx-footer-brand-row{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:0 22px 17px;border-bottom:1px solid #e1eaf5}
.frx-footer-brand{width:min(65%,600px);max-width:600px;margin:0}
.frx-footer-logo{display:inline-flex;align-items:center;width:260px;max-width:100%;margin:0 0 5px;text-decoration:none}
.frx-footer-logo img{display:block;width:230px;max-width:100%;height:auto;object-fit:contain;filter:none}
.frx-footer-brand p{color:#344258;}
.frx-footer-brand p a{color:var(--frx-blue);text-decoration:none;font-weight:700}
.frx-footer-actions{position:static;display:flex;align-items:center;gap:8px;flex-shrink:0;margin:13px 50px 0 0}
.frx-footer-login,.frx-footer-signup{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:7px;text-decoration:none;font-weight:800;transition:all .2s ease}
.frx-footer-login{color:#14538e;border:1px solid #8eafd2;background:#fff;box-shadow:none}
.frx-footer-login:hover{color:#0757a9;border-color:var(--frx-blue);background:#f1f8ff;transform:translateY(-1px)}
.frx-footer-signup{color:#fff;border:1px solid var(--frx-blue);background:var(--frx-blue);box-shadow:0 4px 10px rgba(8,120,223,.16)}
.frx-footer-signup:hover{color:#fff;border-color:#e99312;background:var(--frx-orange);transform:translateY(-1px);box-shadow:0 4px 10px rgba(246,162,26,.2)}
.frx-footer-signup i{font-size:11px}
.frx-footer-grid,.frx-footer-top{display:grid;grid-template-columns:1.03fr 1.03fr 1fr .92fr;gap:0;padding:16px 0 17px;border-top:0}
.frx-footer-column,.frx-footer-connect{position:relative;min-width:0;padding:2px 22px 0;border-right:1px solid #e4ebf4;transition:none}
.frx-footer-column:first-child{padding-left:22px}
.frx-footer-column:last-of-type,.frx-footer-connect{border-right:0}
.frx-footer-column:hover{transform:none}
.frx-footer-heading{display:flex;align-items:center;gap:9px}
.frx-footer-heading-icon{width:28px;height:28px;flex:0 0 28px;display:flex;align-items:center;justify-content:center;border-radius:7px;color:#fff;background:var(--frx-blue);box-shadow:none;font-size:12px;transition:background .2s ease}
.frx-footer-heading-icon::before{display:none}
.frx-footer-heading:hover .frx-footer-heading-icon{transform:none;box-shadow:none;background:#075bb0}
.frx-footer-heading-line{display:block;position:relative;width:28px;height:3px;margin:8px 0 10px;overflow:hidden;border-radius:3px;background:var(--frx-orange)}
.frx-footer-heading-line::after{display:none}
.frx-footer-column ul{margin:0;padding:0;list-style:none}
.frx-footer-column ul li{margin:0 0 5px}
.frx-footer-column ul li:last-child{margin-bottom:0}
.frx-footer-column ul li a{    color: #35465c;
    line-height: 30px;}
.frx-footer-column ul li a::before{content:"\f105";margin-right:7px;color:#1766b2;font-family:"Font Awesome 6 Free";font-weight:900;font-size:11px}
.frx-footer-column ul li a:hover{color:var(--frx-blue);transform:translateX(2px)}
.frx-footer-column ul li a:hover::before{color:var(--frx-orange);transform:none}
.frx-footer-business-cta{display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;margin-top:10px;padding:7px 10px;border:1px solid #f0c778;border-radius:8px;background:#fffaf1;color:#df8c09;text-decoration:none;transition:all .2s ease}
.frx-footer-business-cta:hover{background:#fff1d5;border-color:var(--frx-orange);transform:translateY(-1px)}
.frx-footer-business-cta-icon{width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    background: var(--frx-orange);
    color: #fff;
    font-size: 20px;}
.frx-footer-business-cta span:nth-child(2){display:flex;flex-direction:column;gap:1px}
.frx-footer-business-cta small{color:#a06a17;font-size:12px;line-height:1.1}
.frx-footer-business-cta strong{color:#d98908;font-size:14px;line-height:1.2}
.frx-footer-business-cta>i{font-size:11px}
.frx-footer-connect{padding-right:10px}
.frx-footer-follow .frx-footer-heading{gap:9px}
.frx-social-icons{display:flex;align-items:center;gap:7px;flex-wrap:nowrap}
.frx-social-icons a{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dce5f0;border-radius:6px;background:#fff;color:#1474c8;text-decoration:none;font-size:14px;transition:all .2s ease}
.frx-social-icons a:nth-child(2){color:#d94b82}
.frx-social-icons a:nth-child(3){color:#1769aa}
.frx-social-icons a:nth-child(4){color:#17243a}
.frx-social-icons a:hover{transform:translateY(-2px);border-color:var(--frx-blue);background:#edf6ff;color:var(--frx-blue)}
.frx-country-wrapper{width:100%;max-width:230px;margin:13px 0 0}
.frx-country-selector{position:relative;width:100%;max-width:none}
.frx-country-button{width:100%;min-height:50px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;border:1px solid #e0e8f2;border-radius:7px;color:#24354b;background:#fff;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 3px 10px rgba(20,50,85,.06);transition:border-color .2s ease,box-shadow .2s ease}
.frx-country-button:hover{border-color:#9fc8ef;box-shadow:0 4px 12px rgba(20,50,85,.09)}
.frx-country-selected{display:flex;align-items:center;gap:8px}
.frx-country-flag{display:block;width:17px;height:12px;flex:0 0 17px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(15,35,60,.1)}
.frx-country-button>i{color:#26354a;font-size:9px;transition:transform .2s ease}
.frx-country-selector.active .frx-country-button>i{transform:rotate(180deg)}
.frx-country-dropdown{position:fixed;z-index:10000;display:none;flex-direction:column;width:260px;max-height:300px;overflow:hidden;padding:8px;border:1px solid #e5edf6;border-radius:10px;background:#fff;box-shadow:0 12px 32px rgba(0,0,0,.16)}
.frx-country-search{display:flex;align-items:center;gap:8px;margin-bottom:6px;min-height:35px;padding:0 10px;border:1px solid #e4edf7;border-radius:7px;background:#f6f9fc}
.frx-country-search i{color:#7b8da3;font-size:12px}
.frx-country-search input{width:100%;border:0;outline:0;background:transparent;color:#24354b;font-family:inherit;font-size:12px;font-weight:600}
.frx-country-list{flex:1 1 auto;min-height:0;overflow-y:auto}
.frx-country-selector.active .frx-country-dropdown,.frx-country-dropdown.is-open{display:flex;animation:frxCountryDrop .18s ease}
@keyframes frxCountryDrop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.frx-country-dropdown button{width:100%;padding:9px 10px;display:flex;align-items:center;gap:9px;border:0;border-radius:6px;background:transparent;color:#26354a;text-align:left;font-family:inherit;font-size:12px;cursor:pointer}
.frx-country-dropdown button.is-selected,.frx-country-dropdown button:hover{color:var(--frx-blue);background:#edf5ff}
.frx-country-dropdown button.is-selected{font-weight:800}
.frx-country-dropdown button .fa-check{margin-left:auto;color:var(--frx-blue);font-size:11px;opacity:0}
.frx-country-dropdown button.is-selected .fa-check{opacity:1}
.frx-country-empty{margin:8px 4px 10px;color:#7b8da3;font-size:12px;font-weight:700;text-align:center}
.frx-footer-legal{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 20px;border:1px solid #092e59;border-radius:10px;background:#062b58;box-shadow:none}
.frx-footer-legal::before{display:none}
.frx-footer-legal a{display:inline-flex;align-items:center;gap:7px;color:#f2f6fc;text-decoration:none;white-space:nowrap;font-size:11px;font-weight:600;transition:color .2s ease}
.frx-footer-legal a:not(:last-child){padding-right:15px;border-right:1px solid rgba(255,255,255,.12)}
.frx-footer-legal a i{color:#d8e8fa;font-size:11px;transition:color .2s ease}
.frx-footer-legal a:hover{color:#ffc45f;transform:none}
.frx-footer-legal a:hover i{color:var(--frx-orange)}
.frx-footer-bottom{position:relative;padding-top:9px;text-align:center}
.frx-footer-bottom p{margin:0;color:#697789;font-size:14px;font-weight:500}
.frx-footer-bottom strong{color:#d98b16}
.frx-footer-tagline{display:none}
.frx-footer-dots{position:absolute;z-index:2;display:grid;grid-template-columns:repeat(4,3px);gap:7px;opacity:.45}
.frx-footer-dots span{width:3px;height:3px;border-radius:50%;background:#78b5f0;box-shadow:none}
.frx-footer-dots-top{top:24px;right:35px}
.frx-footer::before{content:"";position:absolute;width:230px;height:100px;left:-95px;bottom:-45px;border-radius:50%;background:rgba(102,183,255,.12);filter:blur(1px);pointer-events:none}
.frx-footer::after{content:"";position:absolute;width:260px;height:80px;right:-100px;bottom:-45px;border-radius:50%;background:rgba(246,162,26,.09);pointer-events:none}
.frx-footer-wave{position:absolute;z-index:1;bottom:-70px;width:460px;height:100px;border-top:1px solid;border-radius:50%;opacity:.22;pointer-events:none}
.frx-footer-wave-one{left:-180px;border-color:rgba(30,100,187,.5);transform:rotate(-7deg) scaleY(.65);box-shadow:0 -8px 0 rgba(30,100,187,.1),0 -16px 0 rgba(30,100,187,.07)}
.frx-footer-wave-two{right:-180px;border-color:rgba(246,162,26,.5);transform:rotate(7deg) scaleY(.65);box-shadow:0 -8px 0 rgba(246,162,26,.09),0 -16px 0 rgba(246,162,26,.06)}
.frx-app-store{display:none}

@media(max-width:900px){
  .frx-footer-container{width:calc(100% - 36px);padding-top:20px}
  .frx-footer-brand-row{padding-left:10px;padding-right:10px}
  .frx-footer-actions{margin-right:25px}
  .frx-footer-grid,.frx-footer-top{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}
  .frx-footer-column,.frx-footer-connect{padding:2px 16px 0}
  .frx-footer-column:nth-child(2){border-right:0}
  .frx-footer-business-column{border-right:1px solid #e4ebf4}
  .frx-footer-connect{border-right:0}
  .frx-footer-legal{flex-wrap:wrap;justify-content:center;row-gap:12px}
  .frx-footer-legal a{margin:0 4px}
}
@media(max-width:560px){
  .frx-footer-container{width:calc(100% - 28px);padding:20px 0 12px}
  .frx-footer-brand-row{display:block;padding:0 5px 16px}
  .frx-footer-brand{width:100%;max-width:100%}
  .frx-footer-logo{width:220px}
  .frx-footer-logo img{width:200px}
  .frx-footer-brand p{font-size:12px;line-height:1.6;padding-right:10px}
  .frx-footer-actions{display:flex;margin:14px 0 0;justify-content:flex-start}
  .frx-footer-login,.frx-footer-signup{min-height:34px;padding:0 14px}
  .frx-footer-grid,.frx-footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 0;padding:16px 0}
  .frx-footer-column,.frx-footer-connect{padding:0 10px}
  .frx-footer-column:first-child{padding-left:5px}
  .frx-footer-column:nth-child(2){padding-right:5px}
  .frx-footer-business-column{padding-left:5px;border-right:1px solid #e4ebf4}
  .frx-footer-connect{padding-right:0;padding-left:12px}
  .frx-footer-heading{gap:7px}
  .frx-footer-heading h3{font-size:11px}
  .frx-footer-column ul li a{font-size:11px}
  .frx-footer-business-cta{gap:5px;padding:6px}
  .frx-footer-business-cta strong{font-size:11px}
  .frx-social-icons{gap:4px;flex-wrap:wrap}
  .frx-social-icons a{width:25px;height:25px;font-size:12px}
  .frx-country-wrapper{margin-top:14px;max-width:100%}
  .frx-country-button{min-height:31px;padding:0 7px;font-size:11px}
  .frx-footer-legal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:13px 12px}
  .frx-footer-legal a{white-space:normal;font-size:10px;margin:0;padding:0!important;border:0!important}
  .frx-footer-legal a i{font-size:11px}
  .frx-footer-bottom{padding-top:10px}
  .frx-footer-bottom p{font-size:10px}
  .frx-footer-dots-top{top:15px;right:12px;opacity:.3}
}
@media(max-width:360px){
  .frx-footer-grid,.frx-footer-top{grid-template-columns:1fr;gap:20px}
  .frx-footer-column,.frx-footer-connect,.frx-footer-column:first-child,.frx-footer-column:nth-child(2),.frx-footer-business-column{padding:0 5px;border-right:0}
  .frx-footer-heading h3{font-size:11px}
  .frx-footer-column ul li a{font-size:11px}
  .frx-country-wrapper{max-width:230px}
  .frx-footer-legal{grid-template-columns:1fr 1fr}
}

   