body.ruty-gemini-page .ruty-components {
  padding: 14px;
  color: #0b0d0e;
  background: #fff;
}

body.ruty-gemini-page .ruty-components-shell {
  width: 100%;
  padding: 82px max(5vw, 56px) 46px;
  overflow: hidden;
  border-radius: 8px;
  background: #91a9bd;
}

body.ruty-gemini-page .ruty-components-head {
  width: min(100%, 1460px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(310px, .72fr);
  gap: 72px;
  align-items: end;
}

body.ruty-gemini-page .ruty-components-head > div > p {
  margin: 0 0 22px;
  color: #24333d !important;
  font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  font-size: var(--cnw-eyebrow-size) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

body.ruty-gemini-page .ruty-components-head h2 {
  max-width: 760px;
  margin: 0;
  color: #0b0d0e !important;
  font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  font-size: var(--cnw-display-size) !important;
  font-weight: var(--cnw-display-weight) !important;
  line-height: var(--cnw-display-leading) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.ruty-gemini-page .ruty-components-head > p {
  max-width: 520px;
  margin: 0 0 6px;
  color: #172127 !important;
  font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  font-size: var(--cnw-body-size) !important;
  font-weight: 400 !important;
  line-height: var(--cnw-body-leading) !important;
  letter-spacing: 0 !important;
}

body.ruty-gemini-page .ruty-components .plugin-carousel {
  width: min(100%, 1460px);
  margin: 66px auto 0 !important;
  padding: 0 !important;
  overflow: hidden;
}

body.ruty-gemini-page .ruty-components .plugin-track {
  gap: 10px;
  align-items: stretch;
}

body.ruty-gemini-page .ruty-components .plugin-card {
  position: relative;
  flex: 0 0 calc((100% - 20px) / 3);
  min-height: 315px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  overflow: hidden !important;
  border: 1px solid rgba(11,13,14,.24) !important;
  border-radius: 8px !important;
  color: #0b0d0e !important;
  background: rgba(255,255,255,.18) !important;
  text-decoration: none;
  box-shadow: none !important;
  transform: none;
  transition: background-color 220ms ease, border-color 220ms ease, transform 320ms cubic-bezier(.22,1,.36,1) !important;
}

body.ruty-gemini-page .ruty-components .plugin-card::before { content: none !important; }

body.ruty-gemini-page .ruty-components .plugin-card:hover,
body.ruty-gemini-page .ruty-components .plugin-card:focus-visible {
  border-color: rgba(11,13,14,.58) !important;
  background: rgba(255,255,255,.36) !important;
  transform: translateY(-3px);
}

body.ruty-gemini-page .ruty-component-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(11,13,14,.2);
  border-radius: 6px;
  color: #0b0d0e;
  background: rgba(255,255,255,.32);
}

body.ruty-gemini-page .ruty-component-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.ruty-gemini-page .ruty-components .plugin-meta {
  margin-top: auto;
  color: #344752 !important;
  font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase;
}

body.ruty-gemini-page .ruty-components .plugin-card h3 {
  margin: 13px 0 12px;
  color: #0b0d0e !important;
  font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  font-size: var(--cnw-heading-size) !important;
  font-weight: var(--cnw-heading-weight) !important;
  line-height: var(--cnw-heading-leading) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.ruty-gemini-page .ruty-components .plugin-card p {
  max-width: 390px;
  margin: 0;
  color: #25343c !important;
  font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  font-size: var(--cnw-body-size) !important;
  font-weight: 400 !important;
  line-height: var(--cnw-body-leading) !important;
  letter-spacing: 0 !important;
}

body.ruty-gemini-page .ruty-components .plugin-card > b {
  position: absolute;
  top: 29px;
  right: 28px;
  color: #3b505d !important;
  font-size: 11px;
  font-weight: 600;
}

body.ruty-gemini-page .ruty-components .carousel-controls {
  margin-top: 18px;
  gap: 8px;
}

body.ruty-gemini-page .ruty-components .round-btn {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(11,13,14,.38) !important;
  border-radius: 50% !important;
  color: #0b0d0e !important;
  background: transparent !important;
  transition: color 180ms ease, background-color 180ms ease !important;
}

body.ruty-gemini-page .ruty-components .round-btn:hover {
  color: #fff !important;
  background: #0b0d0e !important;
}

@media (max-width: 1100px) {
  body.ruty-gemini-page .ruty-components-shell { padding-inline: 36px; }
  body.ruty-gemini-page .ruty-components .plugin-card { flex-basis: calc((100% - 10px) / 2); }
}

@media (max-width: 760px) {
  body.ruty-gemini-page .ruty-components { padding: 8px; }
  body.ruty-gemini-page .ruty-components-shell { padding: 58px 18px 26px; }
  body.ruty-gemini-page .ruty-components-head { grid-template-columns: 1fr; gap: 26px; }
  body.ruty-gemini-page .ruty-components-head h2 { font-size: 42px !important; }
  body.ruty-gemini-page .ruty-components .plugin-carousel { margin-top: 44px !important; }
  body.ruty-gemini-page .ruty-components .plugin-card { flex-basis: 88%; min-height: 300px; padding: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  body.ruty-gemini-page .ruty-components .plugin-card { transition: none !important; }
}
