:root {
  --glab-ink: #333;
  --glab-muted: #68747b;
  --glab-line: #dbe4e8;
  --glab-soft: #f4f8fa;
  --glab-accent: #087c91;
  --glab-accent-dark: #075e70;
  --glab-green: #25805f;
  --glab-orange: #d87932;
  --glab-shadow: 0 4px 16px rgba(27, 65, 75, .07);
}

:where(.glab-conclusion,.glab-quick-picks,.glab-criteria-grid,.glab-choice-cards,.glab-term-box,.glab-callout,.glab-product-review,.glab-comparison-table,.glab-photo-placeholder,.glab-related-link,.glab-faq) {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-top: 28px !important;
  margin-bottom: 28px !important;
  color: var(--glab-ink) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", Meiryo, sans-serif !important;
  line-height: 1.8 !important;
}

:where(.glab-conclusion,.glab-quick-picks,.glab-criteria-grid,.glab-choice-cards,.glab-term-box,.glab-callout,.glab-product-review,.glab-photo-placeholder,.glab-related-link,.glab-faq) :where(h2,h3,h4,p,ul,figure) {
  width: auto !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

:where(.glab-product-review,.glab-faq) :where(h2,h3,h4)::before,
:where(.glab-product-review,.glab-faq) :where(h2,h3,h4)::after {
  display: none !important;
  content: none !important;
}

.glab-conclusion {
  position: relative !important;
  padding: 18px 20px 18px 54px !important;
  border: 1px solid #cfe0e5 !important;
  border-radius: 5px !important;
  background: #f3fafb !important;
}
.glab-conclusion::before {
  content: "!" !important;
  position: absolute !important;
  top: 18px !important;
  left: 17px !important;
  display: grid !important;
  place-items: center !important;
  width: 24px !important;
  height: 24px !important;
  color: #fff !important;
  background: var(--glab-accent) !important;
  border-radius: 50% !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}
.glab-conclusion-title { display: block !important; margin-bottom: 3px !important; color: var(--glab-accent-dark) !important; }
.glab-conclusion p { margin: 0 !important; }

.glab-quick-picks {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
.glab-pick {
  position: relative !important;
  display: block !important;
  padding: 18px 17px 32px !important;
  color: var(--glab-ink) !important;
  background: #fff !important;
  border: 1px solid var(--glab-line) !important;
  border-top: 4px solid var(--glab-accent) !important;
  border-radius: 5px !important;
  box-shadow: var(--glab-shadow) !important;
  text-decoration: none !important;
}
.glab-pick::after { content: "›" !important; position: absolute !important; right: 14px !important; bottom: 7px !important; color: var(--glab-accent) !important; font-size: 24px !important; }
.glab-pick:hover { color: var(--glab-ink) !important; background: #f5fbfc !important; }
.glab-pick em,.glab-pick strong,.glab-pick p { display: block !important; }
.glab-pick em { color: var(--glab-accent) !important; font-size: 11px !important; font-style: normal !important; font-weight: 800 !important; }
.glab-pick strong { margin: 9px 0 6px !important; font-size: 16px !important; line-height: 1.45 !important; }
.glab-pick p { margin: 0 !important; color: var(--glab-muted) !important; font-size: 12px !important; line-height: 1.65 !important; }

.glab-criteria-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid var(--glab-line) !important;
  border-radius: 5px !important;
}
.glab-criterion { padding: 15px 13px !important; }
.glab-criterion + .glab-criterion { border-left: 1px solid var(--glab-line) !important; }
.glab-criterion i,.glab-criterion strong,.glab-criterion span { display: block !important; }
.glab-criterion i { color: var(--glab-accent) !important; font-size: 17px !important; font-style: normal !important; font-weight: 800 !important; }
.glab-criterion strong { font-size: 13px !important; }
.glab-criterion span { margin-top: 3px !important; color: var(--glab-muted) !important; font-size: 10px !important; line-height: 1.55 !important; }

.glab-choice-cards {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 13px !important;
}
.glab-choice-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.glab-choice-cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.glab-choice-card {
  padding: 17px !important;
  background: #fff !important;
  border: 1px solid var(--glab-line) !important;
  border-radius: 5px !important;
  box-shadow: var(--glab-shadow) !important;
}
.glab-choice-card strong,.glab-choice-card p { display: block !important; }
.glab-choice-card strong { margin-bottom: 5px !important; color: var(--glab-accent-dark) !important; font-size: 14px !important; }
.glab-choice-card p { margin: 0 !important; color: var(--glab-muted) !important; font-size: 13px !important; line-height: 1.7 !important; }

.glab-term-box {
  padding: 17px !important;
  background: var(--glab-soft) !important;
  border-left: 4px solid var(--glab-accent) !important;
  border-radius: 0 4px 4px 0 !important;
}
.glab-term-label { display: block !important; margin-bottom: 4px !important; color: var(--glab-accent-dark) !important; }
.glab-term-box p { margin: 0 !important; color: var(--glab-ink) !important; font-size: 14px !important; }

.glab-callout {
  position: relative !important;
  padding: 18px 20px 18px 54px !important;
  background: #f4fbf7 !important;
  border: 1px solid #cfe7dc !important;
  border-radius: 5px !important;
}
.glab-callout::before {
  content: "✓" !important;
  position: absolute !important;
  top: 17px !important;
  left: 17px !important;
  display: grid !important;
  place-items: center !important;
  width: 24px !important;
  height: 24px !important;
  color: #fff !important;
  background: var(--glab-green) !important;
  border-radius: 50% !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}
.glab-callout--warning { border-color: #efdac8 !important; background: #fff8f2 !important; }
.glab-callout--warning::before { content: "!" !important; background: var(--glab-orange) !important; }
.glab-callout--note { border-color: #cfe0e5 !important; background: #f3fafb !important; }
.glab-callout--note::before { content: "i" !important; background: var(--glab-accent) !important; }
.glab-callout-title { display: block !important; margin-bottom: 3px !important; }
.glab-callout p { margin: 0 !important; }

.glab-product-review {
  position: relative !important;
  padding: 0 22px 25px !important;
  background: #fff !important;
  border: 1px solid var(--glab-line) !important;
  border-radius: 6px !important;
  box-shadow: var(--glab-shadow) !important;
}
.glab-product-number {
  position: absolute !important;
  top: -18px !important;
  left: 17px !important;
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  color: #fff !important;
  background: var(--glab-accent) !important;
  border-radius: 50% !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}
.glab-product-label { display: inline-block !important; margin: 0 0 12px 42px !important; padding: 5px 10px !important; color: #fff !important; background: var(--glab-accent) !important; border-radius: 0 0 4px 4px !important; font-size: 10px !important; font-weight: 700 !important; }
.glab-product-title { margin: 12px 0 18px !important; padding: 0 0 10px !important; color: var(--glab-ink) !important; background: none !important; border: 0 !important; border-bottom: 2px solid var(--glab-accent) !important; font-size: 22px !important; line-height: 1.5 !important; }
.glab-product-content-label { margin: 17px 0 6px !important; color: var(--glab-muted) !important; font-size: 10px !important; font-weight: 700 !important; }
.glab-product-slot { margin: 17px 0 !important; }
.glab-product-slot > *:first-child { margin-top: 0 !important; }
.glab-product-slot > *:last-child { margin-bottom: 0 !important; }
.glab-flex-product-content { margin-top: 17px !important; }
.glab-flex-product-content > *:first-child { margin-top: 0 !important; }
.glab-flex-product-content > *:last-child { margin-bottom: 0 !important; }
.glab-flex-product-content > :where(p,figure,.wp-block-image,.wp-block-table,.glab-spec-strip,.glab-procon-grid,.glab-audience,.glab-related-link,.glab-comparison-table,.glab-photo-placeholder) { margin-top: 18px !important; margin-bottom: 18px !important; }
.glab-spec-strip { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; margin: 17px 0 !important; background: #f7fafb !important; border: 1px solid var(--glab-line) !important; }
.glab-spec-strip > div { padding: 10px 11px !important; }
.glab-spec-strip > div + div { border-left: 1px solid var(--glab-line) !important; }
.glab-spec-strip span,.glab-spec-strip strong { display: block !important; }
.glab-spec-strip span { color: var(--glab-muted) !important; font-size: 9px !important; }
.glab-spec-strip strong { margin-top: 3px !important; font-size: 11px !important; }
.glab-product-lead { margin: 18px 0 !important; font-size: 14px !important; }
.glab-procon-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; margin: 20px 0 !important; }
.glab-procon-grid > div { padding: 15px 17px !important; background: var(--glab-soft) !important; border-radius: 4px !important; }
.glab-pros { border-left: 4px solid var(--glab-green) !important; }
.glab-cons { border-left: 4px solid var(--glab-orange) !important; }
.glab-pros > strong { color: var(--glab-green) !important; }
.glab-cons > strong { color: #b75d22 !important; }
.glab-procon-grid ul { margin: 8px 0 0 1.2em !important; padding: 0 !important; font-size: 13px !important; }
.glab-audience { margin: 18px 0 0 !important; font-size: 14px !important; }
.glab-audience > span:first-child { display: inline-block !important; margin-right: 7px !important; padding: 3px 9px !important; color: #fff !important; background: var(--glab-green) !important; border-radius: 999px !important; font-size: 10px !important; font-weight: 700 !important; }

.glab-comparison-table { overflow: hidden !important; border: 1px solid var(--glab-line) !important; border-radius: 4px !important; }
.glab-table-scroll { overflow-x: auto !important; }
.glab-table-row { display: grid !important; grid-auto-flow: column !important; grid-auto-columns: minmax(150px, 1fr) !important; min-width: 680px !important; background: #fff !important; }
.glab-table-row:nth-child(odd) { background: #f7fafb !important; }
.glab-table-row > * { padding: 12px 10px !important; border-right: 1px solid var(--glab-line) !important; border-bottom: 1px solid var(--glab-line) !important; font-size: 12px !important; }
.glab-table-head { color: #fff !important; background: var(--glab-accent-dark) !important; }

.glab-photo-placeholder {
  position: relative !important;
  display: grid !important;
  min-height: 125px !important;
  overflow: hidden !important;
  place-items: center !important;
  border: 1px dashed #b9c9ce !important;
  border-radius: 4px !important;
  color: #7f9298 !important;
  background: #f7fafb !important;
  text-align: center !important;
}
.glab-photo-placeholder img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
.glab-photo-placeholder--selected::after { content: "" !important; position: absolute !important; inset: 0 !important; background: rgba(16, 44, 52, .42) !important; }
.glab-photo-content { position: relative !important; z-index: 2 !important; padding: 18px !important; }
.glab-photo-content strong,.glab-photo-content span { display: block !important; }
.glab-photo-placeholder--selected .glab-photo-content { color: #fff !important; }

.glab-related-link {
  position: relative !important;
  display: block !important;
  padding: 15px 42px 15px 17px !important;
  color: var(--glab-ink) !important;
  background: #f5fbfc !important;
  border: 1px solid var(--glab-line) !important;
  border-left: 4px solid var(--glab-accent) !important;
  border-radius: 5px !important;
  text-decoration: none !important;
}
.glab-related-link::after { content: "›" !important; position: absolute !important; top: 50% !important; right: 16px !important; color: var(--glab-accent) !important; font-size: 24px !important; transform: translateY(-50%) !important; }
.glab-related-prefix,.glab-related-title,.glab-related-text { display: block !important; }
.glab-related-prefix { color: var(--glab-accent) !important; font-size: 10px !important; font-weight: 800 !important; }
.glab-related-title { margin-top: 2px !important; color: var(--glab-accent-dark) !important; font-size: 14px !important; }
.glab-related-text { margin: 3px 0 0 !important; color: var(--glab-muted) !important; font-size: 11px !important; }
.glab-related-link:hover { color: var(--glab-ink) !important; border-color: var(--glab-accent) !important; }

.glab-faq details,.glab-faq-item { margin: 12px 0 !important; padding: 0 17px !important; background: #fff !important; border: 1px solid var(--glab-line) !important; border-radius: 5px !important; }
.glab-faq summary { display: block !important; padding: 15px 0 !important; color: var(--glab-accent-dark) !important; cursor: pointer !important; font-weight: 800 !important; }
.glab-faq-question { display: block !important; margin: 0 !important; padding: 0 !important; color: var(--glab-accent-dark) !important; background: none !important; border: 0 !important; box-shadow: none !important; font-size: 16px !important; line-height: 1.6 !important; font-weight: 800 !important; }
.glab-faq details p { margin: 0 0 15px !important; }

@media (max-width: 760px) {
  .glab-quick-picks,.glab-choice-cards,.glab-choice-cards--3,.glab-choice-cards--4,.glab-procon-grid { grid-template-columns: 1fr !important; }
  .glab-criteria-grid,.glab-spec-strip { grid-template-columns: 1fr 1fr !important; }
  .glab-criterion:nth-child(3),.glab-spec-strip > div:nth-child(3) { border-top: 1px solid var(--glab-line) !important; border-left: 0 !important; }
  .glab-criterion:nth-child(4),.glab-spec-strip > div:nth-child(4) { border-top: 1px solid var(--glab-line) !important; }
  .glab-product-review { padding-right: 15px !important; padding-left: 15px !important; }
  .glab-product-title { font-size: 19px !important; }
}
