/* fetch.transistorsoft.com — site styles */

/* ── Landing page — hide left sidebar ───────────────────────────────────── */
.fetch-landing ~ .md-sidebar--primary,
body:has(.fetch-landing) .md-sidebar--primary {
    display: none;
}

/* ── Header logo ─────────────────────────────────────────────────────────── */
.md-header__button.md-logo {
  padding: 0 0.3rem 0 0.2rem;
}
.md-header__button.md-logo img,
.md-header__button.md-logo svg {
  height: 2.4rem;
  width:  auto;
}

/* ── Platform badges for Android-only / iOS-only markers ─────────────────── */
.platform-badge {
    display: inline-block;
    padding: 0.2em 0.65em;
    border-radius: 100px;
    font-size: 0.56em;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.5;
    vertical-align: middle;
    white-space: nowrap;
    text-decoration: none !important;
    user-select: none;
    background-repeat: no-repeat;
    background-position: 0.45em center;
    background-size: 12px 12px;
    padding-left: calc(0.45em + 12px + 0.35em);
}
.platform-badge--android {
    background-color: #29a865;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='-12 -12 24 24'%3E %3Cg transform='scale(0.03566) translate(-2183.82,-196.50)'%3E%3Cpath fill='%230a2e1a' d='m 2520.38,377.22997 c -0.22,-1.378 -0.43,-2.74 -0.66,-4.102 -1.39,-8.451 -3.12,-16.803 -5.13,-25.041 -3.53,-14.391 -7.97,-28.437 -13.27,-42.04 -4.48,-11.52 -9.58,-22.727 -15.24,-33.59 -7.28,-13.948 -15.49,-27.338 -24.56,-40.072 -11.12,-15.605 -23.54,-30.225 -37.1,-43.697 -5.69,-5.662 -11.58,-11.126 -17.66,-16.361 -13.17,-11.371 -27.24,-21.725 -42.06,-30.98 0.13,-0.214 0.24,-0.443 0.37,-0.657 6.79,-11.732 13.6,-23.449 20.39,-35.181 6.64,-11.453998 13.28,-22.907998 19.92,-34.360998 4.78,-8.221 9.55,-16.459 14.3,-24.68 1.13,-1.953 2.02,-3.971 2.69,-6.038 1.86,-5.76 1.94,-11.815 0.45,-17.444 -0.38,-1.394 -0.84,-2.756 -1.4,-4.085 -0.56,-1.33 -1.21,-2.626 -1.95,-3.873 -2.54,-4.266 -6.17,-7.9749997 -10.73,-10.6829997 -4.03,-2.395 -8.54,-3.823 -13.16,-4.233 -1.94,-0.164 -3.89,-0.148 -5.83,0.049 -1.6,0.164 -3.19,0.46 -4.77,0.87 -5.62,1.493 -10.84,4.578 -14.9,9.0409997 -1.46,1.608 -2.78,3.381 -3.91,5.333 -4.77,8.221 -9.54,16.459 -14.3,24.68 l -19.92,34.361 c -6.79,11.733 -13.6,23.449 -20.39,35.181998 -0.74,1.279 -1.49,2.559 -2.23,3.856 -1.03,-0.411 -2.05,-0.821 -3.08,-1.215 -37.44,-14.275998 -78.06,-22.085998 -120.52,-22.085998 -1.16,0 -2.31,0 -3.48,0.016 -37.75,0.377 -74.02,6.941 -107.86,18.722998 -3.91,1.362 -7.78,2.806 -11.62,4.316 -0.69,-1.198 -1.4,-2.396 -2.08,-3.594 -6.79,-11.732998 -13.6,-23.448998 -20.39,-35.181998 -6.64,-11.453 -13.28,-22.907 -19.92,-34.361 -4.78,-8.221 -9.55,-16.458 -14.3,-24.679 -1.14,-1.953 -2.45,-3.725 -3.91,-5.333 -4.06,-4.4639997 -9.28,-7.5489997 -14.9,-9.0419997 -1.58,-0.41 -3.17,-0.705 -4.78,-0.869 -1.93,-0.197 -3.88,-0.214 -5.82,-0.05 -4.62,0.394 -9.13,1.822 -13.17,4.234 -4.56,2.707 -8.16,6.4159997 -10.72,10.6819997 -0.74,1.247 -1.4,2.544 -1.95,3.873 -0.56,1.329 -1.04,2.691 -1.4,4.086 -1.49,5.628 -1.41,11.683 0.44,17.443 0.68,2.068 1.56,4.086 2.69,6.039 4.78,8.221 9.55,16.458 14.3,24.679 6.65,11.454 13.29,22.908 19.93,34.360998 6.79,11.733 13.59,23.449 20.38,35.182 0.05,0.098 0.12,0.197 0.17,0.295 -13.7,8.517 -26.73,17.952 -39.03,28.273 -7.37,6.187 -14.47,12.668 -21.27,19.445 -13.55,13.472 -25.96,28.093 -37.1,43.698 -9.08,12.734 -17.3,26.107 -24.56,40.072 -5.66,10.863 -10.76,22.07 -15.24,33.59 -5.3,13.603 -9.74,27.649 -13.27,42.04 -2.01,8.238 -3.72,16.574 -5.13,25.041 -0.23,1.362 -0.44,2.74 -0.65,4.102 -0.76,4.907 -1.4,9.846 -1.94,14.818 h 673.11 c -0.54,-4.972 -1.18,-9.911 -1.93,-14.818 z'/%3E%3Cpath fill='%2366bb88' d='m 2360.79,298.98697 c 13.47,-8.966 15.43,-29.71 4.37,-46.331 -11.05,-16.622 -30.93,-22.827 -44.39,-13.861 -13.47,8.967 -15.43,29.71 -4.37,46.331 11.05,16.622 30.93,22.828 44.39,13.861 z'/%3E%3Cpath fill='%2366bb88' d='m 2055.6,285.18397 c 11.06,-16.622 9.1,-37.365 -4.37,-46.331 -13.47,-8.967 -33.34,-2.761 -44.4,13.86 -11.05,16.622 -9.09,37.365 4.37,46.331 13.47,8.967 33.35,2.761 44.4,-13.86 z'/%3E%3C/g%3E %3C/svg%3E");
    color: #0a2e1a;
    box-shadow: 0 1px 3px rgba(41, 168, 101, 0.4), inset 0 1px 0 rgba(255,255,255,0.25);
}
.platform-badge--ios {
    background-color: #0071e3;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='-12 -12 24 24'%3E %3Cg transform='scale(0.16000) translate(-99.0,-97.0)' fill-rule='evenodd'%3E%3Cpath d='m32.882 137.54h-4.5633v-60.979h4.5633v60.979zm-2.3466-75.927c-1.9244 0-3.5158-1.5265-3.5158-3.4509 0-1.9812 1.5833-3.5158 3.5158-3.5158 1.9812 0 3.5564 1.5265 3.5564 3.5158 0 1.9244-1.5752 3.4509-3.5564 3.4509z' fill='%2366bb88'/%3E%3Cpath d='m77.205 138.73c-22.313 0-36.409-16.248-36.409-42.076 0-25.699 14.161-42.011 36.409-42.011s36.401 16.313 36.401 42.011 c0 25.829-14.096 42.076-36.401 42.076zm0-79.89c-19.422 0-31.821 14.664-31.821 37.813 0 23.166 12.456 37.887 31.821 37.887 19.422 0 31.821-14.721 31.821-37.887 0-23.157-12.399-37.813-31.821-37.813z' fill='%2366bb88'/%3E%3Cpath d='m146.1 138.73c-16.751 0-28.76-9.4595-29.442-22.987h4.474 c0.68206 11.092 11.1 18.854 25.309 18.854 13.868 0 23.547-7.8761 23.547-18.513 0-8.5582-5.7731-13.479-19.471-16.93l-9.6787-2.3791 c-15.111-3.8569-21.972-9.971-21.972-20.21 0-12.74 11.895-21.915 26.787-21.915 15.395 0 26.892 9.0616 27.404 21.063h-4.474 c-0.62522-9.7924-10.19-16.93-23.044-16.93 -12.293 0-22.086 7.3646-22.086 17.668 0 8.1603 6.0005 12.854 19.13 16.134l9.1184 2.3222 c15.793 3.9056 22.873 9.971 22.873 20.835 0 13.527-11.376 22.987-28.476 22.987z' fill='%2366bb88'/%3E%3C/g%3E %3C/svg%3E");
    color: white;
    box-shadow: 0 1px 3px rgba(0, 113, 227, 0.4), inset 0 1px 0 rgba(255,255,255,0.2);
}
h1 .platform-badge { font-size: 0.5rem; }

/* ── Page title bottom border ───────────────────────────────────────────── */
.md-content h1 {
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
  padding-bottom: 0.3em;
}

/* ── Active underline on main nav tabs ───────────────────────────────────── */
.md-tabs__link {
  position: relative;
  padding-bottom: 6px;
}
.md-tabs__item--active .md-tabs__link::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background-color: var(--md-accent-fg-color);
}

/* ── Platform icons in top nav tabs ──────────────────────────────────────── */
/* Tab order: 1=Home (no icon)  2=React Native  3=Cordova  4=Capacitor  5=Flutter */

/* Shared base for platform tabs (2–5) */
.md-tabs__list > .md-tabs__item:nth-child(2) > a.md-tabs__link::before,
.md-tabs__list > .md-tabs__item:nth-child(3) > a.md-tabs__link::before,
.md-tabs__list > .md-tabs__item:nth-child(4) > a.md-tabs__link::before,
.md-tabs__list > .md-tabs__item:nth-child(5) > a.md-tabs__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  margin-right: 4px;
  margin-bottom: 2px;
  opacity: 0.75;
  background-size: 16px 16px;
  background-repeat: no-repeat;
  background-position: center;
}

/* React Native */
.md-tabs__list > .md-tabs__item:nth-child(2) > a.md-tabs__link::before {
  background-image: url('../images/platforms/react-native.svg');
}

/* Cordova */
.md-tabs__list > .md-tabs__item:nth-child(3) > a.md-tabs__link::before {
  background-image: url('../images/platforms/cordova.svg');
}

/* Capacitor */
.md-tabs__list > .md-tabs__item:nth-child(4) > a.md-tabs__link::before {
  background-image: url('../images/platforms/capacitor.svg');
}

/* Flutter */
.md-tabs__list > .md-tabs__item:nth-child(5) > a.md-tabs__link::before {
  background-image: url('../images/platforms/flutter.svg');
}

/* ── Landing page ────────────────────────────────────────────────────────── */

/* Hide the page title on the landing page — the hero handles it */
.md-content .fetch-landing > h1:first-of-type {
  display: none;
}

.fetch-hero {
  text-align: center;
  padding: 2rem 0 1rem;
}
.fetch-hero-img {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
  margin: 0 auto 2rem;
}
.fetch-hero h1 {
  border-top: none !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  font-size: 2.2rem;
}
.fetch-hero p {
  font-size: 1.15rem;
  opacity: 0.8;
}

/* Platform selector cards */
.fetch-platform-cards {
  display: flex;
  gap: 1.25rem;
  margin: 2rem 0 2.5rem;
  flex-wrap: wrap;
  justify-content: center;
}
.fetch-platform-card {
  flex: 1;
  min-width: 180px;
  max-width: 260px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none !important;
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 14px;
  padding: 1rem 0.75rem 1.1rem;
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s;
  background: var(--md-default-bg-color);
}
.fetch-platform-card:hover {
  border-color: var(--md-accent-fg-color);
  box-shadow: 0 6px 24px rgba(0,0,0,0.28);
  transform: translateY(-2px);
}
.fetch-platform-card img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  margin-bottom: 0.85rem;
}
.fetch-platform-card__label {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--md-default-fg-color);
}

/* ── Setup page headings — platform SVG icons ───────────────────────────── */
.bgeo-platform-heading-icon {
    display: inline-block;
    width: 0.8em;
    height: 0.8em;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 0.35em;
    vertical-align: middle;
    position: relative;
    top: -0.06em;
}
.bgeo-platform-heading-icon[data-platform="ios"]          { background-image: url('../images/platforms/ios.svg'); }
.bgeo-platform-heading-icon[data-platform="android"]      { background-image: url('../images/platforms/android.svg'); }
.bgeo-platform-heading-icon[data-platform="react-native"] { background-image: url('../images/platforms/react-native.svg'); }
.bgeo-platform-heading-icon[data-platform="expo"]         { background-image: url('../images/platforms/expo.svg'); }
.bgeo-platform-heading-icon[data-platform="capacitor"]    { background-image: url('../images/platforms/capacitor.svg'); }
.bgeo-platform-heading-icon[data-platform="flutter"]      { background-image: url('../images/platforms/flutter.svg'); }
.bgeo-platform-heading-icon[data-platform="cordova"]      { background-image: url('../images/platforms/cordova.svg'); }
.bgeo-platform-heading-icon[data-platform="swift"]        { background-image: url('../images/platforms/swift.svg'); }
.bgeo-platform-heading-icon[data-platform="kotlin"]       { background-image: url('../images/platforms/kotlin.svg'); }

/* ── Primary nav icons (Home / Setup) — pure CSS via ::before ──────────── */
.md-sidebar--primary .md-nav[data-md-level="1"] > ul > li:nth-child(1) > a.md-nav__link::before,
.md-sidebar--primary .md-nav[data-md-level="1"] > ul > li:nth-child(2) > a.md-nav__link::before,
.md-sidebar--primary .md-nav[data-md-level="1"] > ul > li:nth-child(3) > a.md-nav__link::before,
.md-sidebar--primary .md-nav[data-md-level="1"] > ul > li:nth-child(4) > a.md-nav__link::before {
    content: "";
    display: inline-block;
    width: 0.85em;
    height: 0.85em;
    margin-right: 0.4em;
    vertical-align: middle;
    flex-shrink: 0;
    opacity: 0.6;
    background-color: var(--md-default-fg-color);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

/* Home — house icon */
.md-sidebar--primary .md-nav[data-md-level="1"] > ul > li:nth-child(1) > a.md-nav__link::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8'/%3E%3Cpath d='M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8'/%3E%3Cpath d='M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E");
}

/* Setup — wrench icon */
.md-sidebar--primary .md-nav[data-md-level="1"] > ul > li:nth-child(2) > a.md-nav__link::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z'/%3E%3C/svg%3E");
}

/* Examples — code-xml </> icon */
.md-sidebar--primary .md-nav[data-md-level="1"] > ul > li:nth-child(3) > a.md-nav__link::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m18 16 4-4-4-4'/%3E%3Cpath d='m6 8-4 4 4 4'/%3E%3Cpath d='m14.5 4-5 16'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m18 16 4-4-4-4'/%3E%3Cpath d='m6 8-4 4 4 4'/%3E%3Cpath d='m14.5 4-5 16'/%3E%3C/svg%3E");
}

/* Debugging — bug icon */
.md-sidebar--primary .md-nav[data-md-level="1"] > ul > li:nth-child(4) > a.md-nav__link::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 2 1.88 1.88'/%3E%3Cpath d='M14.12 3.88 16 2'/%3E%3Cpath d='M9 7.13v-1a3.003 3.003 0 1 1 6 0v1'/%3E%3Cpath d='M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6'/%3E%3Cpath d='M12 20v-9'/%3E%3Cpath d='M6.53 9C4.6 8.8 3 7.1 3 5'/%3E%3Cpath d='M6 13H2'/%3E%3Cpath d='M3 21c0-2.1 1.7-3.9 3.8-4'/%3E%3Cpath d='M20.97 5c0 2.1-1.6 3.8-3.5 4'/%3E%3Cpath d='M22 13h-4'/%3E%3Cpath d='M17.2 17c2.1.1 3.8 1.9 3.8 4'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 2 1.88 1.88'/%3E%3Cpath d='M14.12 3.88 16 2'/%3E%3Cpath d='M9 7.13v-1a3.003 3.003 0 1 1 6 0v1'/%3E%3Cpath d='M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6'/%3E%3Cpath d='M12 20v-9'/%3E%3Cpath d='M6.53 9C4.6 8.8 3 7.1 3 5'/%3E%3Cpath d='M6 13H2'/%3E%3Cpath d='M3 21c0-2.1 1.7-3.9 3.8-4'/%3E%3Cpath d='M20.97 5c0 2.1-1.6 3.8-3.5 4'/%3E%3Cpath d='M22 13h-4'/%3E%3Cpath d='M17.2 17c2.1.1 3.8 1.9 3.8 4'/%3E%3C/svg%3E");
}

/* ── TOC Lucide icons ────────────────────────────────────────────────────── */
.md-nav--secondary .bgeo-toc-icon {
    display: inline-block;
    width: 0.85em;
    height: 0.85em;
    margin-right: 0.4em;
    vertical-align: middle;
    flex-shrink: 0;
    opacity: 0.85;
    stroke: var(--md-accent-fg-color);
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ── Page heading Lucide icons ──────────────────────────────────────────── */
.bgeo-heading-icon {
    display: inline-block;
    width: 0.8em;
    height: 0.8em;
    margin-right: 0.35em;
    vertical-align: middle;
    position: relative;
    top: -0.06em;
    opacity: 0.75;
    stroke: var(--md-accent-fg-color);
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* ── Setup page screenshots — bordered card style ────────────────────── */
.md-content img[src*="dropboxusercontent"],
.md-content img[src*="screenshot"],
.md-content img[src*="setup"] {
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
  padding: 4px;
  background: var(--md-default-bg-color);
}

/* ── Table first-column code — prevent wrapping ────────────────────────── */
.md-content table td:first-child code {
    white-space: nowrap;
}
