/* ===========================================================
   Services page CSS (scoped, conflict-safe)
   =========================================================== */
:root{
  --primary-color:#0a66c2;      /* blue trust */
  --accent-color:#f5b600;       /* gold shine */
  --bg-light:#f5f9ff;           /* soft section background */
  --text:#333;
  --text-dark:#222;
  --max-width:1200px;
}

/* ---- Base ---- */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Arial,Helvetica,sans-serif;
  color:var(--text);
  background:linear-gradient(180deg,#ffffff 0%,#f3f8ff 100%);
  line-height:1.6;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}

/* ===========================================================
   HEADER / NAV
   =========================================================== */
header{
  position:sticky; top:0; z-index:1000;
  background:linear-gradient(90deg,#0049a5,#0a66c2);
  color:#fff; padding:10px 16px;
  box-shadow:0 2px 10px rgba(0,0,0,.08);
}
.nav-wrap{
  max-width:var(--max-width); margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}

/* logo (icon + text in one line) */
.logo{display:flex; align-items:center; gap:10px; color:#fff; font-weight:900; font-size:1.2rem; line-height:1}
.logo img{
  width:42px; height:42px; border-radius:50%;
  background:radial-gradient(circle at 30% 30%, #fff 0%, #dbeaff 45%, #b3d1ff 100%);
  box-shadow:inset 0 2px 6px rgba(255,255,255,.6), 0 4px 12px rgba(0,0,0,.25), 0 0 10px rgba(255,255,255,.25);
  padding:4px; object-fit:contain;
}
.logo span{ text-shadow:0 1px 2px rgba(0,0,0,.3) }

/* nav */
nav ul{margin:0; padding:0; list-style:none; display:flex; gap:14px}
nav a{color:#fff; font-weight:600}
nav a:hover, nav a:focus{text-decoration:underline}

/* burger (mobile) */
.burger{display:none; flex-direction:column; gap:4px; cursor:pointer}
.burger span{width:24px; height:3px; background:#fff; border-radius:2px; transition:transform .25s}

/* mobile menu layer */
@media (max-width:960px){
  .burger{display:flex; position:relative; z-index:1002}
  #nav-list{
    position:fixed; top:56px; left:0; right:0; bottom:0; z-index:1001;
    display:none; flex-direction:column; align-items:center; gap:16px;
    padding:20px 14px 24px; overflow:auto;
    background:rgba(255,255,255,.75); -webkit-backdrop-filter:blur(8px) saturate(1.2); backdrop-filter:blur(8px) saturate(1.2);
  }
  #nav-list.active{ display:flex }
  #nav-list a{
    display:block; width:92%; max-width:640px; text-align:center;
    padding:16px 22px; border-radius:18px; font-weight:800; letter-spacing:.2px;
    background:#fff; color:#1b1b1b; box-shadow:0 12px 26px rgba(0,0,0,.10);
  }
  #nav-list li:first-child a{ background:var(--primary-color); color:#fff; box-shadow:0 16px 32px rgba(10,102,194,.25) }
  body.menu-open{ overflow:hidden }
}
/* ==== MOBILE MENU HARD OVERRIDE (<=960px) ==== */
@media (max-width:960px){

  /* высота шапки и базовая геометрия */
  header{ --hdr-h:56px; }

  /* слой меню: фикс под шапкой, всегда поверх */
  header nav ul#nav-list{
    position:fixed !important;
    top:var(--hdr-h) !important; left:0 !important; right:0 !important; bottom:0 !important;
    z-index:1001 !important;

    display:none !important;       /* по умолчанию скрыт */
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:14px !important;

    padding:18px 14px 28px !important;
    margin:0 !important;
    max-height:calc(100vh - var(--hdr-h)) !important;
    overflow:auto !important;

    background:rgba(255,255,255,.78) !important;
    -webkit-backdrop-filter:blur(10px) saturate(1.15) !important;
            backdrop-filter:blur(10px) saturate(1.15) !important;
    box-shadow:0 12px 28px rgba(0,0,0,.10) inset !important;
  }
  header nav ul#nav-list.active{ display:flex !important; }

  /* каждая строка */
  header nav ul#nav-list > li{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
  }

  /* кнопки-«таблетки» */
  header nav ul#nav-list > li > a{
    display:block !important;
    width:min(520px,88%) !important;
    text-align:center !important;
    padding:14px 20px !important;
    border-radius:16px !important;
    font-weight:800 !important;
    font-size:18px !important;
    letter-spacing:.2px !important;

    background:#fff !important;
    color:#1b1b1b !important;
    box-shadow:0 10px 22px rgba(0,0,0,.10) !important;
    transition:transform .12s ease, box-shadow .12s ease, background .12s ease, color .12s ease !important;
  }
  header nav ul#nav-list > li > a:active{ transform:scale(.99) !important; }

  /* активный пункт (если добавлен .is-active или aria-current) */
  header nav ul#nav-list > li > a.is-active,
  header nav ul#nav-list > li > a[aria-current="page"]{
    background:#0a66c2 !important;
    color:#fff !important;
    box-shadow:0 14px 28px rgba(10,102,194,.22) !important;
  }

  /* запрет прокрутки контента под меню */
  body.menu-open{ overflow:hidden !important; }
}

/* ---------- Utility scope (optional) ---------- */
.services-page main { max-width: 1200px; margin: 0 auto; }

/* ---------- HERO (inner) ---------- */
.services-page .hero--inner,
.hero--inner{
  background: linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  padding: 40px 16px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.hero--inner .hero__content{ max-width: 980px; margin: 0 auto; }
.hero--inner .hero__lead{ color:#222; font-size: 17px; margin: 0 0 14px; }
.hero--inner .hero__benefits{
  list-style: none; padding: 0; margin: 0 0 14px;
  display: grid; gap: 8px; justify-items: center;
}
.hero--inner .hero__benefits li{
  background:#fff; border-radius: 999px; padding: 10px 14px;
  box-shadow: 0 1px 0 rgba(0,0,0,.06); font-weight: 700; color:#2b2b2b;
}
.hero--inner .hero__cta{ display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

/* ---------- Quick nav chips (areas as nav) ---------- */
.services-page .areas,
.areas{
  margin: 22px auto; padding: 28px 18px;
  background: linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  border-radius: 18px; box-shadow: 0 6px 20px rgba(0,0,0,.06);
  text-align: center; max-width: 1200px;
}
.areas .section-title{ margin: 0 0 12px; color:#0a66c2 }
.areas__list{
  list-style:none; padding:0; margin:0 auto;
  display:flex; flex-wrap:wrap; gap:12px; justify-content:center;
}
.area-chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:12px 16px; border-radius:16px; font-weight:800;
  background:#fff; color:#1b1b1b; text-decoration:none;
  border:1px solid rgba(10,102,194,.12);
  box-shadow:0 8px 18px rgba(0,0,0,.06), inset 0 0 0 1px rgba(255,255,255,.6);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.area-chip:hover{ transform: translateY(-2px); box-shadow:0 12px 26px rgba(10,102,194,.12) }

/* ---------- Services grid (cards) ---------- */
.services-grid{
  max-width: 1200px; margin: 0 auto; padding: 24px 16px;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); gap: 20px;
}
.service-card{
  background:#fff; border-radius:18px; padding:24px 18px;
  box-shadow:0 6px 18px rgba(0,0,0,.06); transition:.2s;
}
.service-card:hover{ transform: translateY(-4px); box-shadow:0 12px 28px rgba(0,0,0,.1) }
.service-card h2{ margin: 0 0 8px; color:#0a66c2; font-size: 1.25rem; }
.service-card p{ margin: 0 0 12px; color:#333; }
.service-card .center-buttons{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center }

/* Локальные кнопки на тёмном фоне (если вдруг используется) */
.service-card .btn{ display:inline-block; padding:.85rem 1.2rem; border-radius:10px; font-weight:800 }
.service-card .btn.btn--outline{ border:2px solid #0a66c2; color:#0a66c2; background:#fff; }
.service-card .btn.btn--outline:hover{ background: rgba(10,102,194,.08); color:#083366 }
.service-card .btn.btn--primary{ background: linear-gradient(145deg,#ffcc40,#f5b600); color:#111; box-shadow:0 4px 20px rgba(245,182,0,.35) }

/* ---------- Mini Before/After ---------- */
.ba{
  padding:24px 16px; background:#fff; border-radius:18px;
  box-shadow:0 6px 20px rgba(0,0,0,.06); max-width:1200px; margin:22px auto;
}
.ba h2{ color:#0a66c2; margin:0 0 12px; text-align:center }
.ba__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px }
.ba__card{ background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 8px 24px rgba(0,0,0,.08); transition:.2s }
.ba__card:hover{ transform:translateY(-4px); box-shadow:0 12px 28px rgba(0,0,0,.1) }
.ba__card figcaption{ padding:8px 10px; font-weight:800; text-align:center; background:#f5f9ff }
.ba__cta{ margin-top:14px; display:flex; gap:10px; flex-wrap:wrap; justify-content:center }

/* ---------- Bundles & Add-ons (features section) ---------- */
.features{
  margin:22px auto; padding:28px 18px 32px;
  background: linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  border-radius: 18px; box-shadow: 0 6px 20px rgba(0,0,0,.06);
  text-align: center; max-width:1200px;
}
.features .section-title{ margin-bottom:10px; color:#0a66c2 }
.features .grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:16px }
.features .card{
  background:#fff; border-radius:18px; padding:16px;
  box-shadow:0 8px 24px rgba(0,0,0,.06); transition:.2s;
}
.features .card:hover{ transform:translateY(-4px); box-shadow:0 12px 28px rgba(0,0,0,.08) }
.features .center-buttons{ margin-top:12px }

/* ---------- Process ---------- */
.process{
  padding:24px 16px; background:#fff; border-radius:18px;
  box-shadow:0 6px 20px rgba(0,0,0,.06); max-width:1200px; margin:22px auto;
}
.process .section-title{ margin:0 0 12px; color:#0a66c2 }
.process__list{
  counter-reset:step; list-style:none; padding:0; margin:0; display:grid; gap:12px
}
.process__list li{
  position:relative; counter-increment:step;
  background:#f2f7ff; border:1px solid rgba(10,102,194,.08); border-radius:18px;
  padding:16px 18px 16px 56px; box-shadow:0 1px 0 rgba(0,0,0,.04); line-height:1.45;
}
.process__list li::before{
  content:counter(step); position:absolute; left:16px; top:50%; transform:translateY(-50%);
  width:28px; height:28px; border-radius:50%;
  background:linear-gradient(135deg,#0a66c2,#0055aa); color:#fff; display:grid; place-items:center; font-weight:900;
  box-shadow:0 8px 16px rgba(10,102,194,.25);
}

/* ---------- Guarantees ---------- */
.guarantee{
  padding:48px 16px; background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  border-radius:18px; box-shadow:0 6px 20px rgba(0,0,0,.06); max-width:1200px; margin:22px auto;
}
.guarantee__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px; text-align:center }
.g-card{
  background:#fff; border-radius:20px; padding:28px 22px;
  box-shadow:0 10px 26px rgba(0,0,0,.06); transition:.2s;
}
.g-card:hover{ transform: translateY(-6px); box-shadow:0 18px 36px rgba(10,102,194,.15) }
.g-card h3{ color:#0a66c2; font-weight:900; margin:12px 0 10px }
.g-card h3::after{
  content:""; display:block; width:40px; height:3px; margin:6px auto 0;
  border-radius:6px; background:linear-gradient(90deg,#0a66c2,rgba(10,102,194,.25));
}
.g-card p{ margin: 0; color:#333; font-weight:500 }

/* ---------- SEO intro ---------- */
.seo-intro{
  padding:32px 18px 40px; background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  border-radius:18px; box-shadow:0 8px 24px rgba(0,0,0,.06); max-width:1200px; margin:24px auto; text-align:center;
}
.seo-intro .section-title{ color:#0a66c2 }
.seo-intro p{ max-width:900px; margin:0 auto 12px; color:#222 }
.seo-bullets{ list-style:none; padding:0; margin:16px auto; display:inline-block; text-align:left }
.seo-bullets li{ margin-bottom:6px; font-weight:600; color:#222 }

/* ---------- Final CTA ---------- */
.cta-final{
  padding:28px 16px; background:linear-gradient(180deg,#0a66c2 0%, #003c88 100%);
  color:#fff; border-radius:18px; box-shadow:0 6px 30px rgba(10,102,194,.3);
  max-width:1200px; margin:22px auto;
}
.cta-final__inner{ text-align:center }
.cta-final .btn--outline{ border-color:#fff; color:#fff; background:transparent }
.cta-final .btn--outline:hover{ background:#fff; color:#0a66c2 }

/* ---------- Buttons (fallback, если глобальных нет) ---------- */
.services-page .btn,
.hero--inner .btn,
.service-card .btn,
.ba .btn,
.features .btn,
.cta-final .btn{
  display:inline-block; padding:.85rem 1.2rem; border-radius:10px; font-weight:800; text-decoration:none;
}
.services-page .btn--primary,
.hero--inner .btn--primary,
.service-card .btn--primary,
.ba .btn--primary,
.features .btn--primary,
.cta-final .btn--primary{
  background:linear-gradient(145deg,#ffcc40,#f5b600); color:#111; box-shadow:0 4px 20px rgba(245,182,0,.35)
}
.services-page .btn--outline,
.hero--inner .btn--outline,
.service-card .btn--outline,
.ba .btn--outline,
.features .btn--outline,
.cta-final .btn--outline{
  border:2px solid #0a66c2; color:#0a66c2; background:#fff;
}

/* ---------- Responsive tweaks ---------- */
@media (max-width:960px){
  .hero--inner .hero__benefits{ gap: 6px }
  .service-card{ padding: 20px 16px }
  .process__list li{ padding:14px 14px 14px 52px }
}
/* ===========================================================
   FOOTER (premium)
   =========================================================== */
.site-footer{ position:relative; margin-top:40px; color:#fff; background:linear-gradient(180deg,#0a66c2 0%, #003c88 100%); border-top:1px solid rgba(255,255,255,.15); overflow:hidden }
.site-footer a{ color:#fff } .site-footer a:hover{ text-decoration:underline }
.footer-wave{ position:absolute; left:0; right:0; top:-18px; height:36px; background:radial-gradient(1200px 24px at 50% 18px, rgba(255,255,255,.35), transparent 70%) top/100% 36px no-repeat; opacity:.4; pointer-events:none }
.site-footer .logo{ display:flex; align-items:center; gap:10px; font-weight:900; font-size:1.25rem }
.site-footer .logo img{ width:44px; height:44px; border-radius:50%; background:radial-gradient(circle at 30% 30%, #fff 0%, #dbeaff 45%, #b3d1ff 100%); box-shadow:inset 0 2px 6px rgba(255,255,255,.6), 0 4px 12px rgba(0,0,0,.25); padding:4px }
.footer__top{ max-width:var(--max-width); margin:22px auto 12px; padding:0 16px; display:grid; gap:10px; justify-items:start }
.footer__tagline{ margin:0; opacity:.95 } .footer__cta{ display:flex; gap:10px; flex-wrap:wrap } .btn--on-dark{ border-color:#fff; color:#fff } .btn--on-dark:hover{ background:#fff; color:#0a66c2 }
.footer__grid{ max-width:var(--max-width); margin:10px auto 0; padding:14px 16px 10px; display:grid; gap:22px; grid-template-columns:repeat(4,minmax(220px,1fr)) }
.footer__col h4{ margin:0 0 10px; font-weight:900; letter-spacing:.2px; border-bottom:2px solid rgba(255,255,255,.2); padding-bottom:6px }
.footer-list{ list-style:none; padding:0; margin:0; display:grid; gap:6px; opacity:.95 } .footer-list li{ line-height:1.5 }
.badges{ list-style:none; padding:0; margin:0; display:grid; gap:6px }
.badges li{ position:relative; padding-left:18px }
.badges li::before{
  content:""; position:absolute; left:0; top:.35em; width:12px; height:12px;
  background:linear-gradient(180deg,#ffd84b,#f5b600); border-radius:3px;
  -webkit-mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat
}
.areas-mini{ list-style:none; padding:0; margin:0 0 8px; display:flex; flex-wrap:wrap; gap:8px }
.areas-mini a{ display:inline-block; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); font-weight:800 }
.areas-mini a:hover{ background:#fff; color:#0a66c2 }
.areas-mini__more{ display:inline-block; opacity:.9 }
.footer__bottom{ max-width:var(--max-width); margin:6px auto 0; padding:10px 16px 18px; border-top:1px solid rgba(255,255,255,.15); display:flex; gap:10px; align-items:center; justify-content:space-between; flex-wrap:wrap; opacity:.95 }
.footer__legal a{ opacity:.9 } .footer__legal a:hover{ opacity:1 }
@media (max-width:960px){ .footer__grid{ grid-template-columns:1fr 1fr } }
@media (max-width:600px){ .footer__top{ justify-items:center; text-align:center } .footer__grid{ grid-template-columns:1fr } .footer__bottom{ justify-content:center; text-align:center; gap:6px } }
/* =========================================
   Services page — MINI QUOTE FORM (scoped)
   ========================================= */

.services-page form.mini-quote,
form.mini-quote{
  --mq-bg: rgba(255,255,255,.85);
  --mq-border: rgba(10,102,194,.20);
  --mq-focus: #0a66c2;
  --mq-text: #1f2a37;
  --mq-muted: #6b7280;

  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 12px;
  max-width: 920px;
  margin: 18px auto 0;
  padding: 16px;
  border-radius: 16px;
  background: var(--mq-bg);
  backdrop-filter: blur(8px) saturate(1.1);
  border: 1px solid var(--mq-border);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

/* --- Fields layout: 2 cols on desktop, 1 col on mobile --- */
.services-page form.mini-quote input[type="text"],
.services-page form.mini-quote input[type="tel"],
.services-page form.mini-quote select,
.services-page form.mini-quote button,
.services-page form.mini-quote .mini-ack,
form.mini-quote input[type="text"],
form.mini-quote input[type="tel"],
form.mini-quote select,
form.mini-quote button,
form.mini-quote .mini-ack{
  grid-column: span 6;
}

@media (max-width: 720px){
  .services-page form.mini-quote,
  form.mini-quote{
    grid-template-columns: 1fr;
    padding: 14px;
  }
  .services-page form.mini-quote > *:not(.mini-ack),
  form.mini-quote > *:not(.mini-ack){
    grid-column: 1 / -1;
  }
}

/* --- Inputs & Select --- */
.services-page form.mini-quote input[type="text"],
.services-page form.mini-quote input[type="tel"],
.services-page form.mini-quote select,
form.mini-quote input[type="text"],
form.mini-quote input[type="tel"],
form.mini-quote select{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  height:48px;
  border-radius: 12px;
  border:1px solid var(--mq-border);
  background:#fff;
  padding: 0 14px;
  font-size:16px;
  color:var(--mq-text);
  outline:none;
  transition: box-shadow .15s ease, border-color .15s ease, background-color .15s ease;
}

.services-page form.mini-quote input::placeholder,
form.mini-quote input::placeholder{ color: var(--mq-muted); opacity:.9; }

/* Focus ring */
.services-page form.mini-quote input:focus,
.services-page form.mini-quote select:focus,
form.mini-quote input:focus,
form.mini-quote select:focus{
  border-color: var(--mq-focus);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--mq-focus) 25%, transparent);
}

/* Invalid state (native constraint validation) */
.services-page form.mini-quote input:invalid[required]:not(:placeholder-shown),
.services-page form.mini-quote select:invalid,
form.mini-quote input:invalid[required]:not(:placeholder-shown),
form.mini-quote select:invalid{
  border-color:#e11d48;
  box-shadow:0 0 0 3px rgba(225,29,72,.15);
}

/* Custom select arrow (mask, no external asset) */
.services-page form.mini-quote select,
form.mini-quote select{
  padding-right:40px;
  background-image:
    linear-gradient(180deg, #0a66c2, #004c99);
  background-repeat:no-repeat;
  background-position: right 14px center;
  background-size: 16px 16px;
  -webkit-mask: url('data:image/svg+xml;utf8,\
  <svg xmlns="http://www.w3.org/2000/svg" viewBox=\'0 0 24 24\'>\
  <path d=\"M7 10l5 5 5-5\"/></svg>') right 14px center/16px 16px no-repeat;
  color: var(--mq-text);
}
.services-page form.mini-quote select::-ms-expand,
form.mini-quote select::-ms-expand{ display:none; }

/* Button */
.services-page form.mini-quote .btn,
form.mini-quote .btn{
  grid-column: span 12;
  justify-self:center;
  min-width: 240px;
}

/* Ack checkbox row */
.services-page form.mini-quote .mini-ack,
form.mini-quote .mini-ack{
  grid-column: span 12;
  display:flex; align-items:center; gap:10px;
  justify-content:center;
  font-size: 14px;
  color: var(--mq-muted);
}
.services-page form.mini-quote .mini-ack input[type="checkbox"],
form.mini-quote .mini-ack input[type="checkbox"]{
  width:18px; height:18px; flex:0 0 18px;
}

/* Loading state: add .is-sending to form on submit if нужно (JS) */
.services-page form.mini-quote.is-sending .btn,
form.mini-quote.is-sending .btn{
  pointer-events:none; opacity:.7; position:relative;
}
.services-page form.mini-quote.is-sending .btn::after,
form.mini-quote.is-sending .btn::after{
  content:""; position:absolute; right:12px; top:50%; transform:translateY(-50%);
  width:16px; height:16px; border-radius:50%;
  border:2px solid rgba(255,255,255,.5); border-top-color:#fff;
  animation: mq-spin .8s linear infinite;
}
@keyframes mq-spin { to { transform: rotate(360deg); } }

/* Optional: dark background variant (e.g., if form is placed on dark section) */
.dark .mini-quote{
  --mq-bg: rgba(255,255,255,.10);
  --mq-border: rgba(255,255,255,.25);
  --mq-text:#e5e7eb;
  --mq-muted:#cbd5e1;
}
.dark .mini-quote input,
.dark .mini-quote select{ background:rgba(255,255,255,.9); color:#111 }
/* ===========================================================
   FLOATING RATING BADGE (Thumbtack)
   =========================================================== */
.fr-badge{
  position:fixed; left:12px; bottom:calc(90px + env(safe-area-inset-bottom)); z-index:1100;
  display:flex; align-items:center; gap:6px; padding:6px 10px; font-size:13px;
  background:rgba(255,255,255,.9); backdrop-filter:saturate(1.1) blur(6px);
  border-radius:999px; box-shadow:0 6px 16px rgba(0,0,0,.12); color:#1b1b1b
}
.fr-badge .fr-link{ display:flex; align-items:center; gap:6px; font-weight:800 }
.fr-logo{ width:14px; height:14px; flex:0 0 14px }
.fr-stars{ color:#F5B600; letter-spacing:1px; font-size:12px }
.fr-score{ font-weight:900; font-size:13px }
@media (hover:hover){ .fr-badge:hover{ box-shadow:0 8px 22px rgba(245,182,0,.35); transform:translateY(-2px); transition:.2s } }
@media (max-width:480px){ .fr-badge{ left:10px; bottom:calc(90px + env(safe-area-inset-bottom)); padding:5px 8px; font-size:12px; gap:5px } .fr-stars{ font-size:11px; letter-spacing:.5px } }
.anchor-link {
  color: var(--sw-primary, #4a66ff);
  font-weight: 700;
  text-decoration: none;
}
.anchor-link:hover {
  text-decoration: underline;
}
