.ftvm-guide {
	--ftvm-main: var(--color_main, #2563eb);
	margin: 1.5em 0 2em;
	padding: clamp(18px, 4vw, 30px);
	border: 1px solid #d8dee7;
	border-top: 6px solid var(--ftvm-main);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 5px 18px rgba(15, 23, 42, .07);
}
.ftvm-guide--active { --ftvm-main: #109eff; background: #f1f9ff; }
.ftvm-guide--upcoming { --ftvm-main: #c47a00; background: #fffaf0; }
.ftvm-guide--ended, .ftvm-guide--none { --ftvm-main: #68717d; background: #f7f8fa; }
.ftvm-guide--unknown { --ftvm-main: #7b61a8; background: #faf8ff; }
.ftvm-guide p { margin-top: .65em; margin-bottom: .65em; }
.ftvm-guide__eyebrow { margin: 0 0 .4em !important; color: var(--ftvm-main); font-size: .82em; font-weight: 700; letter-spacing: .08em; }
.ftvm-guide__headline { display: flex; gap: .55em; align-items: center; margin: 0 !important; font-size: clamp(1.2rem, 3vw, 1.65rem); font-weight: 800; line-height: 1.45; }
.ftvm-guide__icon { display: inline-grid; flex: 0 0 1.8em; width: 1.8em; height: 1.8em; place-items: center; border-radius: 50%; color: #fff; background: var(--ftvm-main); font-size: .75em; }
.ftvm-guide__message { font-weight: 600; }
.ftvm-guide__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 1.25em 0 .75em; overflow: hidden; border: 1px solid #d8dee7; border-radius: 6px; background: #d8dee7; }
.ftvm-guide__facts div { display: flex; min-width: 0; padding: .8em .7em; flex-direction: column; text-align: center; background: #fff; }
.ftvm-guide__facts span { color: #68717d; font-size: .78em; }
.ftvm-guide__facts strong { margin-top: .2em; color: #1f2937; font-size: 1.05em; }
.ftvm-guide__price-note { color: #5b6470; font-size: .85em; text-align: center; }
.ftvm-guide__decision { margin: 1em 0 !important; padding: .9em 1em; border-left: 4px solid var(--ftvm-main); background: rgba(255,255,255,.82); font-weight: 600; }
.ftvm-guide__actions { display: grid; gap: 1em; margin: 1.25em 0; }
.ftvm-guide__button { display: flex; width: 100%; min-height: 58px; padding: .9em 1.1em; align-items: center; justify-content: center; border: 2px solid #e60012; border-radius: 8px; color: #fff !important; background: #e60012; box-shadow: 0 4px 0 #a9000d; font-weight: 800; line-height: 1.4; text-align: center; text-decoration: none !important; transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease; }
.ftvm-guide__button:hover { transform: translateY(2px); box-shadow: 0 2px 0 #a9000d; opacity: .94; }
.ftvm-guide__button--purchase { background: #e60012; }
.ftvm-guide__button--purchase:hover { box-shadow: 0 2px 0 #a9000d; }
.ftvm-guide__button--secondary { color: #e60012 !important; border-color: #e60012; background: #fff; box-shadow: 0 4px 0 #d7b3b6; }
.ftvm-guide__button--secondary:hover { color: #fff !important; background: #e60012; box-shadow: 0 2px 0 #a9000d; }
.ftvm-guide--compact { margin: 1em 0 1.25em; padding: 1em; }
.ftvm-guide--compact .ftvm-guide__headline { font-size: clamp(1.05rem, 4.3vw, 1.35rem); }
.ftvm-guide__compact-price { margin: .65em 0 0 !important; font-size: .9em; font-weight: 700; }
.ftvm-guide__actions--compact { margin: .85em 0 .35em; }
.ftvm-guide__compact-note { margin: .65em 0 0 !important; color: #68717d; font-size: .7em; }
.ftvm-guide__dates { margin: 1em 0 0; border-top: 1px solid #d8dee7; }
.ftvm-guide__dates div { display: grid; grid-template-columns: 7em 1fr; gap: 1em; padding: .55em 0; border-bottom: 1px solid #e7eaf0; }
.ftvm-guide__dates dt { color: #68717d; font-weight: 600; }
.ftvm-guide__dates dd { margin: 0; font-weight: 600; }
.ftvm-guide__note { color: #68717d; font-size: .78em; }
.ftvm-guide__admin-note { padding: .75em; border: 1px dashed #c47a00; background: #fff; font-size: .85em; }
.ftvm-related { margin-top: 3em; }
.ftvm-related__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ftvm-related__card { min-width: 0; overflow: hidden; border: 1px solid #e0e4ea; border-radius: 7px; background: #fff; box-shadow: 0 3px 12px rgba(15,23,42,.06); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.ftvm-related__card:hover { border-color: #e60012; box-shadow: 0 7px 20px rgba(15,23,42,.12); transform: translateY(-2px); }
.ftvm-related__card a { display: flex; height: 100%; color: inherit; flex-direction: column; text-decoration: none !important; }
.ftvm-related__media { display: block; overflow: hidden; aspect-ratio: 16 / 10; background: #eef0f3; }
.ftvm-related__image { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.ftvm-related__card a:hover .ftvm-related__image { transform: scale(1.035); }
.ftvm-related__placeholder { display: grid; height: 100%; place-items: center; color: #8b939e; font-size: .75em; }
.ftvm-related__title { display: -webkit-box; min-height: calc(1.55em * 3); margin: .8em .8em .55em; overflow: hidden; font-size: .9em; font-weight: 700; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.ftvm-related__meta { display: flex; gap: .4em; margin: 0 .8em .75em; flex-wrap: wrap; }
.ftvm-related__plan, .ftvm-related__price { display: inline-flex; min-height: 24px; padding: .2em .55em; align-items: center; border-radius: 4px; font-size: .7em; font-weight: 700; line-height: 1.25; }
.ftvm-related__plan { color: #087fd8; background: #eaf6ff; }
.ftvm-related__price { color: #3f4650; background: #f0f2f5; }
.ftvm-related__cta { display: flex; min-height: 42px; margin-top: auto; padding: .65em .8em; align-items: center; justify-content: space-between; border-top: 1px solid #f0d5d7; color: #e60012; background: #fff8f8; font-size: .78em; font-weight: 800; }
.ftvm-related__cta > span { font-size: 1.5em; line-height: 1; }
.ftvm-list { margin: 1.5em 0 2.5em; }
.ftvm-list__summary { display: flex; gap: .75em; margin-bottom: 1em; padding: .75em 1em; align-items: center; justify-content: space-between; border-left: 5px solid #e60012; border-radius: 4px; color: #3f4650; background: #f7f8fa; }
.ftvm-list__summary strong { color: #1f2937; }
.ftvm-list__summary span { font-size: .82em; font-weight: 700; }
.ftvm-list__media { position: relative; }
.ftvm-list__rank { position: absolute; top: 8px; left: 8px; z-index: 1; padding: .32em .65em; border-radius: 999px; color: #fff; background: rgba(230,0,18,.94); box-shadow: 0 2px 6px rgba(0,0,0,.2); font-size: .68em; font-weight: 800; line-height: 1.25; }
.ftvm-list__floor { display: inline-flex; min-height: 24px; padding: .2em .55em; align-items: center; border-radius: 4px; color: #555f6d; background: #f0f2f5; font-size: .7em; font-weight: 700; line-height: 1.25; }
.ftvm-list__details { display: flex; gap: .5em; margin: auto .8em .75em; align-items: center; justify-content: space-between; }
.ftvm-list__checked { color: #68717d; font-size: .68em; font-weight: 600; white-space: nowrap; }
.ftvm-list__notice { margin: 1em 0 0 !important; color: #68717d; font-size: .75em; }
.ftvm-list__empty { margin: 1.5em 0; padding: 1.25em; border: 1px solid #dfe3e8; border-radius: 6px; color: #5b6470; background: #f7f8fa; text-align: center; }
.ftvm-product-info { margin: 1.4em 0 2em; overflow: hidden; border: 1px solid #dfe3e8; border-top: 4px solid #e60012; border-radius: 8px; background: #fff; box-shadow: 0 5px 18px rgba(15,23,42,.07); }
.ftvm-product-info__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: dense; margin: 0 !important; }
.ftvm-product-info__item { display: grid; min-width: 0; grid-template-columns: 7.3em minmax(0, 1fr); border-bottom: 1px solid #e8ebef; }
.ftvm-product-info__item--left { border-right: 1px solid #e8ebef; }
.ftvm-product-info__item--wide { grid-column: 1 / -1; }
.ftvm-product-info__item:last-child, .ftvm-product-info__item:nth-last-child(2) { border-bottom: 0; }
.ftvm-product-info__label { display: flex; min-width: 0; margin: 0; padding: .85em .8em; align-items: center; color: #4b5563; background: #f6f7f9; font-size: .82em; font-weight: 700; }
.ftvm-product-info__value { min-width: 0; margin: 0; padding: .85em .9em; color: #1f2937; font-size: .9em; font-weight: 600; line-height: 1.65; overflow-wrap: anywhere; }
.ftvm-product-info__item--review .ftvm-product-info__label { color: #b0000d; background: #fff1f2; }
.ftvm-product-info__item--review .ftvm-product-info__value { color: #e59b00; font-weight: 800; }
.ftvm-product-info__item--cid .ftvm-product-info__value { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .03em; }
.entry-content .content1 .wp-block-button__link,
.entry-content .content2 .wp-block-button__link,
.post_content .content1 .wp-block-button__link,
.post_content .content2 .wp-block-button__link { background: #e60012 !important; }
@media (min-width: 600px) {
	.ftvm-guide__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ftvm-guide__button { min-height: 64px; }
}
@media (max-width: 959px) { .ftvm-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) {
	.ftvm-guide__facts { grid-template-columns: 1fr; }
	.ftvm-guide__facts div { flex-direction: row; justify-content: space-between; text-align: left; }
	.ftvm-guide__dates div { grid-template-columns: 5.5em 1fr; }
	.ftvm-guide { padding: 1em; }
	.ftvm-guide__button { width: 100%; padding: .9em .8em; font-size: .92em; }
	.ftvm-related__grid { gap: 10px; }
	.ftvm-related__title { margin: .65em .65em .45em; font-size: .82em; }
	.ftvm-related__meta { gap: .3em; margin: 0 .65em .6em; }
	.ftvm-related__plan, .ftvm-related__price { font-size: .64em; }
	.ftvm-related__cta { min-height: 38px; padding: .55em .65em; font-size: .7em; }
	.ftvm-list__summary { padding: .65em .75em; align-items: flex-start; flex-direction: column; }
	.ftvm-list__rank { top: 6px; left: 6px; font-size: .6em; }
	.ftvm-list__floor { font-size: .64em; }
	.ftvm-list__details { gap: .3em; margin: auto .65em .6em; align-items: flex-start; flex-direction: column; }
	.ftvm-list__checked { font-size: .62em; }
	.ftvm-product-info { margin: 1em 0 1.6em; border-radius: 6px; }
	.ftvm-product-info__grid { grid-template-columns: 1fr; }
	.ftvm-product-info__item, .ftvm-product-info__item--wide { grid-column: auto; grid-template-columns: 6.3em minmax(0, 1fr); border-right: 0 !important; border-bottom: 1px solid #e8ebef !important; }
	.ftvm-product-info__item:last-child { border-bottom: 0 !important; }
	.ftvm-product-info__label { padding: .72em .62em; font-size: .75em; }
	.ftvm-product-info__value { padding: .72em .7em; font-size: .82em; line-height: 1.55; }
}
