/*
Theme Name: Vape Compare
Theme URI:
Author:
Description: 電子タバコ（本体・リキッド）の口コミデータベース用オリジナルテーマ。1カラム・左揃え・高速表示。商品・ショップ・口コミはプラグイン「Vape Compare Core」が受け持ち、このテーマは見た目と SEO を受け持つ。
Version: 1.1.0
Requires at least: 6.3
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vape-compare
*/

/* 日本の商品テスト誌の誌面を下敷きにする: 白い紙・墨・黄色のマーカー・◎○△。赤は購入ボタン（CTA）だけに使う。 */
:root {
	--vc-paper: #FFFFFF;
	--vc-panel: #F3F2F0;
	--vc-ink: #231815;        /* 日本の印刷で使う墨 */
	--vc-sub: #5C5350;
	--vc-line: #D8D3D1;
	--vc-yellow: #FFF100;     /* プロセスイエロー。マーカーと結論の地 */
	--vc-yellow-soft: #FFFBC2;
	--vc-red: #E60012;        /* CTA専用 */
	--vc-red-deep: #A3000D;
	--vc-gold: #B88A00;
	--vc-silver: #8C8C8C;
	--vc-bronze: #A0602D;

	--vc-font-body: "BIZ UDPGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
	--vc-font-head: "Dela Gothic One", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", sans-serif;
	--vc-font-note: "Klee One", var(--vc-font-body);

	--vc-shell: 760px;  /* 1カラム。ヘッダー・本文・フッターを同じ幅にそろえる */
	--vc-col: 760px;
	--vc-gutter: 16px;
	--vc-r: 4px;
	--vc-ease: 160ms ease-out;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 80px; }
body { margin: 0; background: var(--vc-paper); color: var(--vc-ink); font: 400 16px/1.8 var(--vc-font-body); overflow-wrap: anywhere; }
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--vc-ink); text-underline-offset: .2em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--vc-ink); outline-offset: 2px; }
h1, h2, h3, h4 { margin: 0; font-family: var(--vc-font-head); font-weight: 400; line-height: 1.4; word-break: auto-phrase; text-wrap: balance; }
p { margin: 0; }
button { font: inherit; color: inherit; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
[hidden] { display: none !important; } /* 部品の display 指定より、隠す指定を優先する */
.vc-skip:focus { position: fixed; top: 8px; left: 8px; z-index: 100; width: auto; height: auto; clip: auto; padding: 8px 16px; background: var(--vc-paper); border: 2px solid var(--vc-ink); }
.vc-num { font-family: var(--vc-font-head); font-variant-numeric: tabular-nums; }

.vc-shell { width: 100%; max-width: calc(var(--vc-shell) + var(--vc-gutter) * 2); margin-inline: auto; padding-inline: var(--vc-gutter); }
.vc-col { max-width: var(--vc-col); }
.vc-main { padding-block: 20px 64px; }
.vc-section { margin-top: 52px; }
.vc-section__title { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; font-size: 22px; }
.vc-section__title::before { content: ""; flex: none; width: 14px; height: 14px; background: var(--vc-ink); }

.vc-header { position: sticky; top: 0; z-index: 40; background: var(--vc-paper); border-bottom: 3px solid var(--vc-ink); }
.vc-header__inner { display: flex; align-items: center; gap: 20px; min-height: 60px; }
.vc-brand { display: flex; align-items: center; margin-right: auto; font: 400 20px/1.2 var(--vc-font-head); text-decoration: none; }
.vc-brand img { max-height: 40px; width: auto; }
.vc-nav ul { margin: 0; padding: 0; list-style: none; }
.vc-nav a { display: block; padding: 10px 0; font-size: 14px; font-weight: 700; text-decoration: none; }
.vc-nav a:hover { text-decoration: underline; }
.vc-nav-toggle { min-height: 44px; padding: 0 14px; background: var(--vc-paper); border: 2px solid var(--vc-ink); border-radius: var(--vc-r); font-size: 14px; font-weight: 700; cursor: pointer; }
.js .vc-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; padding: 8px var(--vc-gutter) 16px; background: var(--vc-paper); border-bottom: 3px solid var(--vc-ink); }
.js .vc-nav.is-open { display: block; }
.no-js .vc-nav-toggle { display: none; }
.vc-header .vc-cta { display: none; }
@media (min-width: 900px) {
	.vc-nav-toggle { display: none; }
	.js .vc-nav, .vc-nav { display: block; position: static; padding: 0; border: 0; }
	.vc-nav ul { display: flex; gap: 20px; }
	.vc-header .vc-cta { display: inline-flex; }
}

.vc-notices { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; margin-top: 12px; font-size: 13px; line-height: 1.6; color: var(--vc-sub); }
/* PR表記は本文と同じ大きさ・濃さにする（小さい字や薄い色は、消費者庁の運用基準で「不明瞭」とされる） */
.vc-notices__pr { color: var(--vc-ink); font-size: 16px; font-weight: 700; }
.vc-notices__pr a { margin-left: 8px; font-size: 14px; font-weight: 400; }
.vc-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 14px; padding: 0; list-style: none; font-size: 13px; color: var(--vc-sub); }
.vc-breadcrumb li + li::before { content: "›"; margin-right: 4px; }
.vc-breadcrumb a { color: var(--vc-sub); }

.vc-cta {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 48px; padding: 10px 22px;
	background: var(--vc-red); color: #fff; border: 0; border-bottom: 4px solid var(--vc-red-deep); border-radius: 6px;
	font: 700 16px/1.3 var(--vc-font-body); text-align: center; text-decoration: none;
	transition: transform var(--vc-ease);
}
.vc-cta:hover { color: #fff; text-decoration: none; transform: translateY(1px); }
.vc-cta:active { transform: translateY(3px); }
.vc-cta--block { display: flex; width: 100%; min-height: 58px; font-size: 18px; }
.vc-cta--compact { min-height: 42px; padding: 8px 14px; font-size: 14px; white-space: nowrap; border-bottom-width: 3px; }
.vc-cta-wrap { margin: 0; }
.vc-cta-missing { display: block; padding: 12px; border: 2px dashed var(--vc-sub); border-radius: var(--vc-r); color: var(--vc-sub); font-size: 13px; }
.vc-cta-pending { padding: 12px 0; border-block: 1px solid var(--vc-line); color: var(--vc-sub); font-weight: 700; }
.vc-cta-note { font-size: 15px; font-weight: 700; text-align: center; }
.vc-cta-note::before { content: "＼ "; }
.vc-cta-note::after { content: " ／"; }

.vc-band { padding-block: 28px; background: var(--vc-yellow); border-top: 3px solid var(--vc-ink); }
.vc-band__inner { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.vc-band p { font: 400 19px/1.5 var(--vc-font-head); }
@media (min-width: 720px) { .vc-band__inner { flex-direction: row; align-items: center; gap: 28px; } }

.vc-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; padding: 10px var(--vc-gutter) calc(14px + env(safe-area-inset-bottom)); background: var(--vc-paper); border-top: 3px solid var(--vc-ink); transform: translateY(110%); transition: transform var(--vc-ease); }
.vc-sticky.is-shown { transform: none; }
.vc-sticky .vc-cta { display: flex; width: 100%; }
@media (min-width: 900px) { .vc-sticky { display: none; } }

.vc-hero { padding-top: 12px; }
.vc-hero__title { font-size: 26px; line-height: 1.35; }
.vc-hero__lead { margin-top: 10px; font-size: 16px; }
.vc-hero__meta { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 8px; font-size: 13px; font-weight: 700; }
@media (min-width: 720px) { .vc-hero { padding-top: 24px; } .vc-hero__title { font-size: 34px; } }

/* ファーストビューの画像（カスタマイザーで選んだときだけ）。スマホは画像 → 見出し。パソコンは画面幅いっぱいの画像に、墨の枠の白い札を重ねる（文字は画像に直接重ねない） */
.vc-main > .vc-hero--image:first-child { margin-top: -20px; } /* ヘッダーのすぐ下から画像を出す（.vc-main の上の余白を打ち消す） */
.vc-hero--image { padding-top: 0; }
.vc-hero__media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--vc-panel); }
.vc-hero__img { width: 100%; height: 100%; object-fit: cover; object-position: 88% 50%; }
.vc-hero__panel { padding-top: 16px; }
@media (min-width: 900px) {
	.vc-hero--image { position: relative; display: flex; align-items: center; min-height: clamp(440px, 36vw, 560px); padding-block: 40px; }
	.vc-hero--image .vc-hero__media { position: absolute; inset: 0; aspect-ratio: auto; }
	.vc-hero--image .vc-hero__img { object-position: 70% 50%; }
	.vc-hero--image > .vc-shell { position: relative; }
	.vc-hero__panel { max-width: 480px; padding: 24px 28px 26px; background: var(--vc-paper); border: 3px solid var(--vc-ink); }
	.vc-hero__panel .vc-hero__title { font-size: 30px; }
	.vc-hero__panel .vc-psearch--compact { grid-template-columns: minmax(0, 1fr) auto; }
	.vc-hero__panel .vc-psearch--compact .vc-psearch__q { grid-column: 1 / -1; }
}

.vc-podium { margin-top: 18px; border-bottom: 2px solid var(--vc-ink); }
.vc-podium__title { padding: 8px 12px; background: var(--vc-ink); color: var(--vc-yellow); font-size: 19px; }
.vc-podium__list { margin: 0; padding: 0; list-style: none; }
.vc-podium__row { display: grid; grid-template-columns: 3.4em minmax(0, 1fr) auto; grid-template-areas: "pos body score" "pos cta cta"; align-items: center; gap: 8px 12px; padding: 14px 12px; }
.vc-podium__row + .vc-podium__row { border-top: 2px dotted var(--vc-line); }
.vc-podium__pos { grid-area: pos; align-self: start; display: grid; justify-items: center; gap: 2px; font: 400 19px/1 var(--vc-font-head); }
.vc-podium__body { grid-area: body; display: grid; gap: 2px; min-width: 0; }
.vc-podium__name { font: 400 18px/1.4 var(--vc-font-head); text-decoration: none; }
.vc-podium__name:hover { text-decoration: underline; }
.vc-podium__verdict { font-size: 14px; line-height: 1.6; }
.vc-podium__score { grid-area: score; font-size: 26px; }
.vc-podium__score.vc-rating--none { font-size: 14px; }
.vc-podium__row .vc-cta { grid-area: cta; }
@media (min-width: 720px) {
	.vc-podium__row { grid-template-columns: 3.4em minmax(0, 1fr) auto auto; grid-template-areas: "pos body score cta"; }
	.vc-podium__pos { align-self: center; }
}

.vc-crown { width: 22px; height: auto; }
.vc-crown--1, .vc-rank-1 .vc-crown, [data-pos="1"] .vc-crown { color: var(--vc-gold); }
.vc-crown--2, .vc-rank-2 .vc-crown, [data-pos="2"] .vc-crown { color: var(--vc-silver); }
.vc-crown--3, .vc-rank-3 .vc-crown, [data-pos="3"] .vc-crown { color: var(--vc-bronze); }
.vc-card:not([data-pos="1"]):not([data-pos="2"]):not([data-pos="3"]) .vc-crown { display: none; }

.vc-grade { display: inline-flex; align-items: baseline; gap: 4px; white-space: nowrap; }
.vc-grade__mark { font: 700 20px/1 var(--vc-font-body); }
.vc-grade--a .vc-grade__mark { font-size: 22px; }
.vc-grade--d .vc-grade__mark { color: var(--vc-sub); }
.vc-grade__num { font: 400 14px/1 var(--vc-font-head); }
.vc-scores { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0; margin: 10px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--vc-line); border-left: 1px solid var(--vc-line); }
.vc-scores li { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border-right: 1px solid var(--vc-line); border-bottom: 1px solid var(--vc-line); font-size: 14px; }

.vc-sort { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 14px; }
.vc-sort button { min-height: 40px; padding: 6px 12px; background: var(--vc-paper); border: 2px solid var(--vc-ink); border-radius: var(--vc-r); font-size: 14px; font-weight: 700; cursor: pointer; }
.vc-sort button[aria-pressed="true"] { background: var(--vc-ink); color: var(--vc-yellow); }
.vc-sort__status { flex-basis: 100%; font-size: 13px; color: var(--vc-sub); }
.vc-ranking { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--vc-ink); }

.vc-card { position: relative; display: grid; gap: 14px; padding-block: 28px 36px; border-bottom: 2px solid var(--vc-ink); }
.vc-ranking--single { border-top: 0; }
.vc-ranking--single .vc-card { border-bottom: 0; padding-block: 0; }
.vc-card__head { display: flex; align-items: center; gap: 12px; }
.vc-card__pos { display: inline-flex; flex: none; align-items: center; align-self: flex-start; gap: 4px; padding: 6px 10px 8px 8px; background: var(--vc-ink); color: var(--vc-paper); font: 400 14px/1 var(--vc-font-head); border-radius: var(--vc-r); }
.vc-card__pos [data-vc-pos] { font-size: 30px; }
.vc-logo { display: grid; flex: none; place-items: center; width: 84px; height: 44px; padding: 4px; overflow: hidden; border-radius: 2px; }
.vc-logo img { width: 100%; height: 100%; object-fit: contain; }
.vc-logo--text { background: var(--vc-panel); font: 700 13px/1.25 var(--vc-font-body); text-align: center; }
.vc-card__title { min-width: 0; }
.vc-card__name { font-size: 19px; line-height: 1.3; }
.vc-card__name a { text-decoration: none; }
.vc-card__name a:hover { text-decoration: underline; }
.vc-rating { display: flex; align-items: baseline; gap: 4px; margin-top: 4px; font-size: 13px; font-weight: 700; white-space: nowrap; overflow-wrap: normal; }
.vc-rating__num { margin-left: 4px; font: 400 26px/1 var(--vc-font-head); }
.vc-card__verdict { padding: 10px 12px; background: var(--vc-yellow); font-size: 17px; font-weight: 700; line-height: 1.6; }
.vc-card__summary { font-size: 15px; }

.vc-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-block: 1px solid var(--vc-line); }
.vc-facts > div { min-width: 0; }
.vc-facts > div { padding: 8px 10px; }
.vc-facts > div:first-child { padding-left: 0; }
.vc-facts > div + div { border-left: 1px solid var(--vc-line); }
.vc-facts dt { color: var(--vc-sub); font-size: 13px; font-weight: 700; }
.vc-facts dd { margin: 2px 0 0; font-size: 15px; font-weight: 700; line-height: 1.45; }

.vc-log { padding: 0; }
.vc-log__head { font-size: 13px; font-weight: 700; }
.vc-log__steps { display: flex; gap: 10px; margin: 6px 0 0; padding: 0; list-style: none; }
.vc-log__steps li { position: relative; display: grid; flex: 1; gap: 2px; min-width: 0; padding-top: 16px; }
.vc-log__steps li::before { content: ""; position: absolute; top: 2px; left: 0; width: 10px; height: 10px; border-radius: 50%; background: var(--vc-ink); }
.vc-log__steps li:not(:last-child)::after { content: ""; position: absolute; top: 6px; left: 14px; right: 4px; border-top: 2px dotted var(--vc-ink); }
.vc-log__label { font-size: 13px; color: var(--vc-sub); }
.vc-log__time { font-size: 15px; overflow-wrap: normal; word-break: keep-all; }
.vc-log__note { margin-top: 6px; font-size: 13px; color: var(--vc-sub); }

.vc-pc { display: grid; gap: 12px; }
.vc-pc__head { font-size: 14px; font-weight: 700; }
.vc-pc ul { margin: 6px 0 0; padding: 0; list-style: none; font-size: 14px; line-height: 1.7; }
.vc-pc li { display: grid; grid-template-columns: 1.5em 1fr; }
.vc-pc li + li { margin-top: 2px; }
.vc-pc__mark { font-weight: 700; }
@media (min-width: 720px) { .vc-pc { grid-template-columns: 1fr 1fr; gap: 20px; } }

.vc-card__scores summary { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; font-size: 14px; font-weight: 700; cursor: pointer; list-style: none; }
.vc-card__scores summary::-webkit-details-marker { display: none; }
.vc-card__scores summary::before { content: ""; width: 0; height: 0; border-left: 6px solid currentColor; border-block: 5px solid transparent; transition: transform var(--vc-ease); }
.vc-card__scores[open] summary::before { transform: rotate(90deg); }
.vc-card__payment { margin-top: 8px; font-size: 13px; color: var(--vc-sub); }

.vc-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.vc-tags { gap: 4px 12px; }
.vc-tags a, .vc-tags span { color: var(--vc-sub); font-size: 13px; font-weight: 700; text-decoration: none; }
.vc-tags a:hover { color: var(--vc-ink); text-decoration: underline; }
.vc-tags a::before { content: "#"; margin-right: 1px; }

.vc-card__action { display: grid; gap: 8px; margin-top: 2px; }
.vc-card__more { justify-self: start; margin-top: 4px; font-size: 14px; font-weight: 700; }
@media (min-width: 720px) {
	.vc-logo { width: 104px; height: 52px; }
	.vc-log__time { font-size: 16px; }
	.vc-card { gap: 16px; }
	.vc-card[data-pos="1"] .vc-card__name { font-size: 28px; }
	.vc-card__name { font-size: 23px; }
}

/* 4位以下は要点だけにする。並び替えで data-pos が入れ替わると表示も入れ替わる（data-pos="0" は記事に単独で置いたカード） */
.vc-card:not([data-pos="0"]):not([data-pos="1"]):not([data-pos="2"]):not([data-pos="3"]) :is(.vc-card__summary, .vc-log, .vc-pc, .vc-voices, .vc-card__scores, .vc-tags, .vc-cta-note) { display: none; }
.vc-card:not([data-pos="0"]):not([data-pos="1"]):not([data-pos="2"]):not([data-pos="3"]) { gap: 10px; padding-block: 20px 24px; border-bottom-width: 1px; }
/* カードは grid なので、この ::before がそのまま1行目になる */
.vc-card[data-pos="4"]::before { content: "4位からは要点だけ載せています"; font-size: 13px; color: var(--vc-sub); }
.vc-card[data-pos="1"] .vc-card__verdict { font-size: 19px; }

.vc-voices__head { font-size: 13px; font-weight: 700; }
.vc-voices ul { margin: 4px 0 0; padding: 0; list-style: none; font-size: 14px; }
.vc-voices li { padding: 6px 0; border-bottom: 1px dotted var(--vc-line); }
.vc-voices q { quotes: "「" "」"; }
.vc-voices__src { display: block; font-size: 13px; color: var(--vc-sub); }

.vc-changelog { margin-top: 28px; padding-top: 10px; border-top: 2px solid var(--vc-ink); }
.vc-changelog__title { font-size: 16px; }
.vc-changelog ul { margin: 6px 0 0; padding: 0; list-style: none; font-size: 14px; }
.vc-changelog li { display: grid; grid-template-columns: 3.4em 1fr; gap: 8px; padding: 5px 0; }
.vc-changelog li + li { border-top: 1px dotted var(--vc-line); }
.vc-changelog__date { font: 400 14px/1.7 var(--vc-font-head); }
.vc-changelog a { font-weight: 700; }

/* 編集メモ: 本筋から外れた本音を書く付箋。少し傾けて、誌面に後から貼った感じにする */
.vc-note { position: relative; margin: 32px 4px; padding: 18px 18px 16px; background: var(--vc-yellow-soft); transform: rotate(-.6deg); font-family: var(--vc-font-note); font-weight: 600; line-height: 1.9; }
.vc-note::before { content: ""; position: absolute; top: -9px; left: 28px; width: 76px; height: 18px; background: rgba(160, 150, 140, .45); transform: rotate(-4deg); }
.vc-note__head { font-size: 13px; color: var(--vc-sub); }
.vc-note__body p + p { margin-top: .6em; }
.vc-content .vc-note { margin-block: 32px; }

.vc-compare { position: relative; overflow-x: auto; background: var(--vc-paper); -webkit-overflow-scrolling: touch; } /* relative: 表の中の読み上げ用の文字（position: absolute）が横スクロールの外にはみ出して、スマホの画面を広げないように */
.vc-compare table { width: 100%; min-width: 680px; border-collapse: collapse; font-size: 14px; }
.vc-compare th, .vc-compare td { padding: 10px 12px; border-bottom: 1px solid var(--vc-line); text-align: left; vertical-align: middle; overflow-wrap: normal; word-break: keep-all; }
.vc-compare thead th { background: var(--vc-ink); color: var(--vc-paper); font-weight: 700; white-space: nowrap; }
.vc-compare tbody th { position: sticky; left: 0; z-index: 1; min-width: 120px; background: var(--vc-paper); font-weight: 700; box-shadow: 1px 0 0 var(--vc-line); }
.vc-compare thead th:first-child { position: sticky; left: 0; z-index: 2; }
.vc-compare tbody tr:last-child > * { border-bottom: 0; }
.vc-compare .vc-num { font-size: 18px; }
.vc-compare__hint { margin-top: 8px; font-size: 13px; color: var(--vc-sub); }

.vc-entry__head { margin-bottom: 24px; }
.vc-entry__title { font-size: 26px; line-height: 1.4; }
.vc-entry__meta { margin-top: 10px; font-size: 13px; color: var(--vc-sub); }
.vc-entry__thumb { margin: 0 0 24px; }
.vc-entry__thumb img { width: 100%; }
@media (min-width: 720px) { .vc-entry__title { font-size: 32px; } }

.vc-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-top: 12px; font-size: 14px; font-weight: 700; }
.vc-byline__avatar { width: 32px; height: 32px; border-radius: 50%; }
.vc-byline__dates { font-size: 13px; font-weight: 400; color: var(--vc-sub); }
.vc-byline__name { text-decoration: none; }
.vc-byline__name:hover { text-decoration: underline; }
.vc-byline__job { margin-left: 8px; font-size: 13px; font-weight: 400; color: var(--vc-sub); }
.vc-byline__note { flex-basis: 100%; margin: 2px 0 0; font-size: 14px; font-weight: 400; }
.vc-byline__note::before { content: "更新内容: "; font-weight: 700; }
.vc-author { display: flex; gap: 14px; margin-top: 40px; padding-top: 16px; border-top: 2px solid var(--vc-ink); }
.vc-author__avatar { flex: none; width: 56px; height: 56px; border-radius: 50%; }
.vc-author__name { font-weight: 700; }
.vc-author__bio { margin-top: 4px; font-size: 14px; }
.vc-author__job { display: block; font-size: 13px; font-weight: 400; color: var(--vc-sub); }
.vc-author__links { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 8px; font-size: 14px; }
.vc-profile { display: flex; align-items: center; gap: 16px; }
.vc-profile__avatar { width: 88px; height: 88px; border-radius: 50%; }
.vc-profile__job { margin-top: 6px; color: var(--vc-sub); }
.vc-profile__links { margin-bottom: 8px; }

.vc-content > * + * { margin-top: 1.4em; }
.vc-content h2 { margin-top: 2.4em; padding: 10px 14px; background: var(--vc-ink); color: var(--vc-paper); font-size: 20px; line-height: 1.45; }
.vc-content h3 { margin-top: 2em; font-size: 19px; }
.vc-content h4 { margin-top: 1.8em; font-size: 17px; }
@media (min-width: 720px) { .vc-content h2 { font-size: 23px; } .vc-content h3 { font-size: 21px; } }
.vc-content ul, .vc-content ol { padding-left: 1.4em; }
.vc-content li + li { margin-top: .4em; }
.vc-content strong { font-weight: 700; text-decoration: underline .4em var(--vc-yellow); text-underline-offset: -.2em; text-decoration-skip-ink: none; }
.vc-content blockquote { margin-inline: 0; padding: 12px 16px; background: var(--vc-panel); }
.vc-content figure { margin-inline: 0; }
.vc-content figcaption { margin-top: 6px; font-size: 13px; color: var(--vc-sub); }
.vc-content table { width: 100%; border-collapse: collapse; font-size: 14px; }
.vc-content th, .vc-content td { padding: 10px 12px; border: 1px solid var(--vc-ink); text-align: left; }
.vc-content thead th { background: var(--vc-panel); }
.vc-content .wp-block-table { overflow-x: auto; }
.vc-content .wp-block-button__link { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 18px; background: var(--vc-paper); color: var(--vc-ink); border: 2px solid var(--vc-ink); border-radius: var(--vc-r); font-weight: 700; text-decoration: none; }
.vc-content .vc-cta { margin-top: 1.6em; }
.vc-content details { padding: 12px 0; border-block: 1px solid var(--vc-line); }
.vc-content summary { font-weight: 700; cursor: pointer; }
/* ショートコード（ランキング・比較表）を本文に入れたとき、本文用の汎用スタイルを打ち消す */
.vc-content .vc-ranking, .vc-content .vc-ranking ul, .vc-content .vc-ranking ol { margin-top: 0; padding-left: 0; }
.vc-content .vc-ranking li + li { margin-top: 0; }
.vc-content .vc-card h3 { margin-top: 0; }
.vc-content .vc-card .vc-cta, .vc-content .vc-compare .vc-cta { margin-top: 0; }
.vc-content .vc-compare th, .vc-content .vc-compare td { padding: 10px 12px; border: 0; border-bottom: 1px solid var(--vc-line); }
.vc-content .vc-compare tbody tr:last-child > * { border-bottom: 0; }
.vc-content .vc-compare thead th { background: var(--vc-ink); color: var(--vc-paper); }

.vc-toc { margin: 24px 0; padding: 12px 0; border-top: 2px solid var(--vc-ink); border-bottom: 1px solid var(--vc-line); }
.vc-toc summary { min-height: 32px; font-family: var(--vc-font-head); cursor: pointer; }
.vc-toc ol { margin: 8px 0 0; padding-left: 1.4em; font-size: 15px; }
.vc-toc li + li { margin-top: 4px; }

.vc-posts { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--vc-ink); }
.vc-posts li { border-bottom: 1px solid var(--vc-line); }
.vc-post { display: grid; grid-template-columns: 1fr; gap: 12px; padding: 16px 0; text-decoration: none; }
.vc-post.has-thumb { grid-template-columns: 1fr 112px; }
.vc-post__title, .vc-post__meta, .vc-post__excerpt { display: block; }
.vc-post__title { font-size: 17px; font-weight: 700; line-height: 1.5; }
.vc-post:hover .vc-post__title { text-decoration: underline; }
.vc-post__meta { margin-top: 4px; font-size: 13px; color: var(--vc-sub); }
.vc-post__excerpt { margin-top: 6px; font-size: 14px; color: var(--vc-sub); }
.vc-post img { width: 112px; height: 84px; object-fit: cover; }
.nav-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 28px; }
.nav-links .page-numbers { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 10px; border: 2px solid var(--vc-ink); border-radius: var(--vc-r); font: 400 16px/1 var(--vc-font-head); text-decoration: none; }
.nav-links .current { background: var(--vc-ink); color: var(--vc-yellow); }

.vc-empty { padding-top: 16px; border-top: 2px solid var(--vc-ink); }
.vc-empty p + p { margin-top: 8px; }
.vc-search { display: flex; gap: 8px; max-width: 480px; margin-top: 16px; }
.vc-search input { flex: 1; min-height: 44px; padding: 8px 12px; background: var(--vc-paper); border: 2px solid var(--vc-ink); border-radius: var(--vc-r); font: inherit; }
.vc-search button { min-height: 44px; padding: 0 16px; background: var(--vc-ink); color: var(--vc-paper); border: 0; border-radius: var(--vc-r); font-weight: 700; cursor: pointer; }

.vc-footer { padding-block: 40px 104px; background: var(--vc-ink); color: var(--vc-paper); font-size: 14px; }
.vc-footer a { color: var(--vc-paper); text-decoration: none; }
.vc-footer a:hover { text-decoration: underline; }
.vc-footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 28px 32px; }
.vc-footer h2 { margin-bottom: 10px; color: var(--vc-yellow); font-size: 15px; }
.vc-footer ul { margin: 0; padding: 0; list-style: none; }
.vc-footer li + li { margin-top: 6px; }
.vc-footer__brand { font: 400 20px/1.3 var(--vc-font-head); }
.vc-footer__note { margin-top: 32px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .25); font-size: 13px; color: #D5CFCC; }
@media (min-width: 900px) { .vc-footer { padding-bottom: 40px; } }

/* 口コミ。「口コミを書く」「送る」は墨のボタン（赤は公式ショップへのCTAだけに使う） */
.vc-rv-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 18px; background: var(--vc-ink); color: var(--vc-yellow); border: 0; border-radius: var(--vc-r); font-weight: 700; text-decoration: none; cursor: pointer; }
.vc-rv-btn:hover { color: var(--vc-yellow); text-decoration: underline; }
.vc-rv-btn--submit { display: flex; width: 100%; min-height: 56px; margin-top: 8px; font-size: 18px; }
.vc-rv-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 20px; }
.vc-rv-actions .vc-cta { margin: 0; }
.vc-card__rv { display: flex; flex-wrap: wrap; gap: 2px 12px; margin-top: 2px; font-size: 13px; color: var(--vc-sub); }
.vc-card__rv a { font-weight: 700; color: var(--vc-ink); }
.vc-rank-note { margin: -4px 0 16px; font-size: 14px; }
.vc-rank-note summary { cursor: pointer; font-weight: 700; }
.vc-rank-note p { margin-top: 8px; color: var(--vc-sub); }

.vc-rvsum { display: grid; gap: 16px; padding-block: 16px; border-top: 2px solid var(--vc-ink); border-bottom: 1px solid var(--vc-line); }
.vc-rvsum--empty { gap: 10px; }
.vc-rvsum__head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; }
.vc-rvsum__avg { font: 400 44px/1 var(--vc-font-head); }
.vc-rvsum__of { margin-left: 2px; font: 400 18px/1 var(--vc-font-head); }
.vc-rvsum__count { font-size: 14px; color: var(--vc-sub); }
.vc-rvsum__dist { display: grid; gap: 4px; max-width: 420px; margin: 0; padding: 0; list-style: none; font-size: 14px; }
.vc-rvsum__dist li { display: grid; grid-template-columns: 2.6em 1fr 3.6em; align-items: center; gap: 8px; }
.vc-rvsum__bar { height: 10px; background: var(--vc-panel); }
.vc-rvsum__bar span { display: block; height: 100%; background: var(--vc-ink); }
.vc-rvsum__n { text-align: right; color: var(--vc-sub); }
.vc-rvsum__trend { display: grid; gap: 6px; margin: 0; font-size: 14px; }
.vc-rvsum__trend div { display: grid; grid-template-columns: 6em 1fr; gap: 8px; }
.vc-rvsum__trend dt { color: var(--vc-sub); }
.vc-rvsum__trend dd { margin: 0; font-weight: 700; }
.vc-rvsum__diff { font-size: 14px; }
.vc-taste { display: grid; gap: 6px; margin: 0; font-size: 14px; }
.vc-taste__row { display: grid; grid-template-columns: 9.5em 1fr; gap: 8px; align-items: baseline; }
.vc-taste dt { color: var(--vc-sub); }
.vc-taste dd { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin: 0; }
.vc-taste__scale { font-size: 16px; letter-spacing: .12em; }
.vc-taste__end { font-size: 13px; color: var(--vc-sub); }
.vc-taste__n { font-size: 13px; color: var(--vc-sub); }
.vc-rvsum__subhead { font-size: 14px; font-weight: 700; }
.vc-rvsum__products ul { margin: 6px 0 0; padding: 0; list-style: none; font-size: 14px; }
.vc-rvsum__products li { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; border-bottom: 1px dotted var(--vc-line); }
.vc-rvsum__products span { color: var(--vc-sub); }
.vc-rv__taste { margin-left: 10px; }

.vc-rv-list { display: grid; }
.vc-rv { display: grid; gap: 8px; padding-block: 20px; border-bottom: 1px solid var(--vc-line); }
.vc-rv__head { display: flex; align-items: baseline; gap: 12px; }
.vc-rv__title { font-size: 18px; line-height: 1.45; }
.vc-rv__shop { font-size: 14px; font-weight: 700; }
.vc-rv__meta, .vc-rv__items { font-size: 13px; color: var(--vc-sub); }
.vc-rv__body { display: grid; gap: 4px; margin: 4px 0 0; font-size: 15px; }
.vc-rv__body dt { margin-top: 6px; font-size: 13px; font-weight: 700; }
.vc-rv__body dd { margin: 0; }
.vc-rv__scores summary { font-size: 13px; font-weight: 700; cursor: pointer; }
.vc-rv__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; font-size: 13px; color: var(--vc-sub); }
.vc-rv__incentive { padding: 1px 8px; border: 1px solid var(--vc-sub); border-radius: 2px; }
.vc-rv__helpful { min-height: 36px; padding: 4px 12px; background: var(--vc-paper); border: 1px solid var(--vc-ink); border-radius: var(--vc-r); font-size: 13px; font-weight: 700; cursor: pointer; }
.vc-rv__helpful[aria-pressed="true"] { background: var(--vc-ink); color: var(--vc-yellow); cursor: default; }
.vc-rv-filter { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 14px; margin-bottom: 8px; font-size: 13px; }
.vc-rv-filter label { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; min-width: 0; max-width: 100%; } /* 長い店名の選択肢でも画面の幅で止める */
.vc-rv-filter select { max-width: 100%; min-height: 40px; padding: 4px 8px; border: 2px solid var(--vc-ink); border-radius: var(--vc-r); background: var(--vc-paper); font: inherit; font-size: 14px; }
.vc-rv-filter button { min-height: 40px; padding: 4px 14px; background: var(--vc-ink); color: var(--vc-paper); border: 0; border-radius: var(--vc-r); font-weight: 700; cursor: pointer; }
.vc-rv-shoplist { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 6px 20px; margin: 0 0 16px; padding: 12px 0; list-style: none; border-block: 1px solid var(--vc-line); font-size: 14px; }
.vc-rv-shoplist li { display: flex; justify-content: space-between; gap: 8px; }
.vc-rv-shoplist span { color: var(--vc-sub); }

.vc-rv-rules { margin-bottom: 28px; font-size: 15px; }
.vc-rv-rules ul { margin: 0 0 10px; padding-left: 1.3em; }
.vc-rv-rules li + li { margin-top: 4px; }
.vc-rv-rules__incentive { margin-top: 8px; font-weight: 700; }
.vc-rv-msg { margin: 0 0 20px; padding: 12px 0; border-block: 2px solid var(--vc-red-deep); color: var(--vc-red-deep); font-weight: 700; }
.vc-rv-msg.is-ok { border-color: var(--vc-ink); color: var(--vc-ink); }
.vc-rv-form { display: grid; gap: 28px; }
.vc-fieldset { display: grid; gap: 16px; margin: 0; padding: 14px 0 0; border: 0; border-top: 2px solid var(--vc-ink); }
.vc-fieldset legend { padding: 0 8px 0 0; font: 400 18px/1.4 var(--vc-font-head); }
.vc-fieldset legend .vc-req { font-family: var(--vc-font-body); }
.vc-fieldset__note { font-size: 14px; color: var(--vc-sub); }
.vc-field { display: grid; gap: 6px; }
.vc-field > label, .vc-field__label { font-weight: 700; }
.vc-field input[type="text"], .vc-field input[type="email"], .vc-field select, .vc-field textarea { width: 100%; min-height: 44px; padding: 8px 10px; background: var(--vc-paper); border: 2px solid var(--vc-ink); border-radius: var(--vc-r); font: inherit; font-size: 16px; }
.vc-field textarea { line-height: 1.7; }
.vc-field__hint, .vc-field__count { font-size: 13px; color: var(--vc-sub); }
.vc-field__count.is-short, .vc-field__error { color: var(--vc-red-deep); font-weight: 700; font-size: 14px; }
.vc-field--check { gap: 10px; }
.vc-field--check label { display: flex; align-items: center; gap: 8px; font-weight: 700; }
.vc-field--check input, .vc-choices input { width: 20px; height: 20px; accent-color: var(--vc-ink); }
.vc-req { margin-left: 4px; font-size: 13px; font-weight: 400; color: var(--vc-sub); }
.vc-choices { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.vc-choices label { display: flex; align-items: center; gap: 6px; min-height: 36px; }
.vc-rate { display: grid; gap: 6px; }
.vc-rate__label { font-weight: 700; }
.vc-rate__opts { display: flex; gap: 6px; }
.vc-rate__opts label { position: relative; }
.vc-rate__opts input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.vc-rate__opts span { display: grid; place-items: center; width: 48px; height: 44px; border: 2px solid var(--vc-ink); border-radius: var(--vc-r); font: 400 18px/1 var(--vc-font-head); cursor: pointer; }
.vc-rate__opts input:checked + span { background: var(--vc-ink); color: var(--vc-yellow); }
.vc-rate__opts input:focus-visible + span { outline: 3px solid var(--vc-ink); outline-offset: 2px; }
.vc-rate__ends { display: flex; justify-content: space-between; max-width: 270px; font-size: 13px; color: var(--vc-sub); }
.vc-rv-shopq { display: grid; gap: 16px; padding-top: 12px; border-top: 1px dotted var(--vc-line); }
.vc-rv-pick { display: grid; gap: 16px; max-width: 520px; }
.vc-rv-form__shop { font: 400 20px/1.4 var(--vc-font-head); }
.vc-rv-form__flow { font-size: 14px; color: var(--vc-sub); }
.vc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* 商品の口コミデータベース（v11）: 商品カード・商品ページの上部・取扱ショップ・スペック・編集部のテスト・検索のフォーム・分類のリンク・商品の比較表 */

.vc-plist { display: grid; margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--vc-ink); }
.vc-plist--single { border-top: 0; }
.vc-pcard { display: grid; grid-template-columns: 88px minmax(0, 1fr); grid-template-areas: "img body" "verdict verdict" "facts facts" "action action"; gap: 10px 14px; padding-block: 18px 22px; border-bottom: 1px solid var(--vc-line); }
.vc-pcard[data-pos="1"], .vc-pcard[data-pos="2"], .vc-pcard[data-pos="3"] { border-bottom: 2px solid var(--vc-ink); }
.vc-pcard__img { grid-area: img; display: grid; place-items: center; width: 88px; height: 88px; overflow: hidden; background: var(--vc-panel); text-decoration: none; }
.vc-pcard__img img { width: 100%; height: 100%; object-fit: contain; }
.vc-pcard__noimg, .vc-phead__noimg { padding: 6px; font: 700 13px/1.35 var(--vc-font-body); color: var(--vc-ink); text-align: left; overflow-wrap: anywhere; }
.vc-pcard__body { grid-area: body; display: grid; gap: 2px; min-width: 0; align-content: start; }
.vc-pcard__pos { display: inline-flex; align-items: center; gap: 4px; font: 400 14px/1 var(--vc-font-head); }
.vc-pcard__pos .vc-num { font-size: 22px; }
.vc-pcard__meta { font-size: 13px; color: var(--vc-sub); }
.vc-pcard__name { font-size: 18px; line-height: 1.35; }
.vc-pcard__name a { text-decoration: none; }
.vc-pcard__name a:hover { text-decoration: underline; }
.vc-pcard__verdict { grid-area: verdict; padding: 8px 10px; background: var(--vc-yellow); font-size: 15px; font-weight: 700; line-height: 1.6; }
.vc-pcard__facts { grid-area: facts; }
.vc-pcard__action { grid-area: action; min-width: 0; }
.vc-rating__mark { margin-left: 4px; font: 700 22px/1 var(--vc-font-body); }
.vc-rating--none { font-weight: 400; color: var(--vc-sub); white-space: normal; }
@media (min-width: 720px) {
	.vc-pcard { grid-template-columns: 112px minmax(0, 1fr) auto; grid-template-areas: "img body action" "img verdict verdict" "img facts facts"; }
	.vc-pcard__img { width: 112px; height: 112px; }
	.vc-pcard__action { align-self: start; }
	.vc-pcard__action .vc-cta--block { width: auto; min-height: 48px; font-size: 16px; }
	.vc-pcard[data-pos="1"] .vc-pcard__name { font-size: 24px; }
}

.vc-phead__meta { font-size: 14px; font-weight: 700; color: var(--vc-sub); }
.vc-phead__body { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 14px; margin-top: 14px; align-items: start; }
.vc-phead__img { display: grid; place-items: center; width: 112px; height: 112px; overflow: hidden; background: var(--vc-panel); }
.vc-phead__img img { width: 100%; height: 100%; object-fit: contain; }
.vc-phead__facts { display: grid; gap: 6px; min-width: 0; }
.vc-phead__price { font-size: 14px; font-weight: 700; }
.vc-phead__price .vc-num { font-size: 18px; }
.vc-phead__facts .vc-cta { justify-self: start; margin-top: 4px; }
@media (max-width: 479px) { .vc-phead__facts .vc-cta { justify-self: stretch; } }
@media (min-width: 720px) {
	.vc-phead__body { grid-template-columns: 200px minmax(0, 1fr); gap: 20px; }
	.vc-phead__img { width: 200px; height: 200px; }
}

.vc-offers__list { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--vc-ink); }
.vc-offer { display: grid; gap: 8px; padding-block: 14px; border-bottom: 1px solid var(--vc-line); }
.vc-offer__shop { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; min-width: 0; }
.vc-offer__name { font: 400 18px/1.4 var(--vc-font-head); text-decoration: none; }
.vc-offer__name:hover { text-decoration: underline; }
.vc-offer__note { padding: 1px 8px; background: var(--vc-yellow-soft); font-size: 13px; font-weight: 700; }
.vc-offer__facts { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 0; font-size: 14px; }
.vc-offer__facts div { display: flex; gap: 6px; min-width: 0; }
.vc-offer__facts dt { flex: none; color: var(--vc-sub); }
.vc-offer__facts dd { margin: 0; font-weight: 700; }
.vc-offer .vc-cta { justify-self: stretch; }
.vc-offers__price { margin-top: 10px; font-size: 13px; color: var(--vc-sub); }
@media (min-width: 720px) {
	.vc-offer { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "shop cta" "facts cta"; align-items: center; column-gap: 20px; }
	.vc-offer__shop { grid-area: shop; }
	.vc-offer__facts { grid-area: facts; }
	.vc-offer .vc-cta { grid-area: cta; justify-self: end; }
}

.vc-specs { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); margin: 0; border-top: 1px solid var(--vc-line); border-left: 1px solid var(--vc-line); }
.vc-specs > div { display: grid; grid-template-columns: minmax(5em, 40%) minmax(0, 1fr); gap: 8px; padding: 8px 10px; border-right: 1px solid var(--vc-line); border-bottom: 1px solid var(--vc-line); font-size: 14px; }
.vc-specs dt { color: var(--vc-sub); }
.vc-specs dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }

.vc-ptest__date { font-size: 13px; color: var(--vc-sub); }
.vc-ptest__note { margin-top: 6px; font-size: 15px; }
.vc-ptest__note p + p { margin-top: .6em; }
.vc-ptest .vc-voices { margin-top: 14px; }

.vc-psearch { display: grid; gap: 12px; margin-bottom: 18px; padding-block: 14px; border-block: 2px solid var(--vc-ink); }
.vc-psearch__q, .vc-psearch__field { display: grid; gap: 4px; min-width: 0; font-size: 13px; font-weight: 700; }
.vc-psearch input[type="search"], .vc-psearch select { width: 100%; min-height: 44px; padding: 6px 10px; background: var(--vc-paper); border: 2px solid var(--vc-ink); border-radius: var(--vc-r); font: inherit; font-size: 16px; font-weight: 400; }
.vc-psearch__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; }
.vc-psearch__foot { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 16px; }
.vc-psearch__foot .vc-psearch__field { min-width: 11em; }
.vc-psearch__reset { font-size: 14px; font-weight: 700; }
.vc-psearch--compact { margin: 16px 0 0; padding: 0; border: 0; }
.vc-psearch--compact .vc-psearch__grid { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) {
	.vc-psearch__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.vc-psearch--compact { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto; align-items: end; }
}

.vc-presult { margin: 0 0 10px; font-size: 14px; font-weight: 700; }
.vc-presult .vc-num { font-size: 20px; }
.vc-sortnav ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; padding: 0; list-style: none; }
.vc-sortnav a { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 12px; border: 2px solid var(--vc-ink); border-radius: var(--vc-r); font-size: 14px; font-weight: 700; text-decoration: none; }
.vc-sortnav a[aria-current="page"] { background: var(--vc-ink); color: var(--vc-yellow); }
.vc-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.vc-chips a { display: inline-flex; align-items: center; min-height: 44px; padding: 4px 12px; border: 1px solid var(--vc-ink); border-radius: 2px; font-size: 14px; font-weight: 700; text-decoration: none; }
.vc-chips a:hover { background: var(--vc-yellow); }
.vc-more { margin-top: 14px; font-size: 14px; font-weight: 700; }
.vc-typenav > ul { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.vc-typenav > ul > li { display: grid; gap: 8px; padding-top: 10px; border-top: 2px solid var(--vc-ink); }
.vc-typenav__main { font: 400 20px/1.3 var(--vc-font-head); text-decoration: none; }
.vc-typenav__main:hover { text-decoration: underline; }
@media (min-width: 720px) { .vc-typenav > ul { grid-template-columns: 1fr 1fr; gap: 20px; } }
.vc-browse { display: grid; gap: 12px; margin: 0; }
.vc-browse > div { display: grid; gap: 6px; }
.vc-browse dt { font-size: 14px; font-weight: 700; }
.vc-browse dd { margin: 0; }
.vc-compare--products table { min-width: 480px; }
.vc-compare--products thead th a { color: var(--vc-paper); }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
