.smm { font-size: 18px; line-height: 1.7; color: #1c1c1c; }
.smm * { box-sizing: border-box; }
.smm h2 { font-size: 1.35em; margin: 1.6em 0 .6em; }
.smm h3 { font-size: 1.15em; margin: 1.4em 0 .5em; }
.smm a { color: #b52424; }
.smm-lead { font-size: 1.15em; margin-bottom: 1.2em; }
.smm-muted { color: #555; font-size: .95em; }
.smm-org { color: #555; font-size: .9em; margin-top: 2.4em; }
.smm-doors { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.smm-door { display: block; padding: 28px 24px; border-radius: 10px; background: #dd3333; color: #fff !important; text-decoration: none; }
.smm-door strong { display: block; font-size: 1.3em; margin-bottom: 6px; }
.smm-door-alt { background: #fff; color: #1c1c1c !important; border: 2px solid #dd3333; }
.smm-card { display: block; padding: 20px; border: 1px solid #d8d8d8; border-radius: 10px; background: #fff; color: #1c1c1c !important; text-decoration: none; }
.smm-card h2 { margin-top: 0; font-size: 1.15em; }
.smm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.smm-course strong, .smm-course span { display: block; }
.smm-course .smm-tag { display: inline-block; margin-bottom: 6px; }
.smm-tag { display: inline-block; padding: 1px 8px; border-radius: 4px; background: #f4e4e4; color: #8c1c1c; font-size: .82em; }
.smm-stars { color: #8c1c1c; font-weight: 600; }
.smm-list { list-style: none; margin: 0; padding: 0; }
.smm-list li { padding: 10px 0; border-bottom: 1px solid #e6e6e6; }
.smm-when { font-weight: 600; margin-right: 8px; }
.smm-reviews { list-style: none; margin: 1em 0; padding: 0; }
.smm-reviews li { padding: 12px 0; border-bottom: 1px solid #e6e6e6; }
.smm-filter { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.smm-filter a { padding: 8px 16px; border: 1px solid #bbb; border-radius: 999px; color: #1c1c1c; text-decoration: none; }
.smm-filter a.on { background: #dd3333; border-color: #dd3333; color: #fff; }
.smm-btn { display: inline-block; min-height: 48px; padding: 10px 24px; border: 0; border-radius: 8px; background: #dd3333; color: #fff !important; font-size: 1em; font-weight: 600; text-decoration: none; cursor: pointer; }
.smm-btn-sm { min-height: 38px; padding: 5px 14px; font-size: .9em; }
.smm-link { padding: 0; border: 0; background: none; color: #b52424; text-decoration: underline; font-size: .9em; cursor: pointer; }
.smm-inline { display: inline; margin-left: 6px; }
.smm-form { display: grid; gap: 14px; max-width: 560px; margin: 12px 0 20px; padding: 18px; border: 1px solid #d8d8d8; border-radius: 10px; background: #fafafa; }
.smm-form label { display: block; font-weight: 600; }
.smm-form input[type=text], .smm-form input[type=email], .smm-form select, .smm-form textarea { display: block; width: 100%; min-height: 48px; margin-top: 4px; padding: 8px 12px; border: 1px solid #888; border-radius: 6px; background: #fff; font-size: 1em; font-weight: 400; }
.smm-check { font-weight: 400 !important; }
.smm-check input { width: 20px; height: 20px; vertical-align: -3px; margin-right: 6px; }
.smm-rating { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0; padding: 0; border: 0; }
.smm-rating legend { font-weight: 600; margin-bottom: 4px; padding: 0; }
.smm-rating label { font-weight: 400; }
.smm-rating input { width: 20px; height: 20px; vertical-align: -3px; }
.smm-hp { position: absolute; left: -9999px; height: 1px; overflow: hidden; }
.smm-notice { margin: 0 0 18px; padding: 14px 16px; border-radius: 8px; font-weight: 600; }
.smm-notice-ok { background: #e7f4ea; border: 1px solid #5c9e6e; }
.smm-notice-error { background: #fbeaea; border: 1px solid #d15b5b; }
.smm-progress { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.smm-progress li { padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: .92em; }
.smm-progress li span { display: block; color: #555; font-weight: 600; }
.smm-progress li.done { background: #e7f4ea; border-color: #5c9e6e; }
.smm-progress li.done span { color: #2b6b3f; }
.smm-steps li { margin-bottom: 4px; }
.smm-table-wrap { overflow-x: auto; }
.smm-table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: .95em; }
.smm-table th, .smm-table td { padding: 8px 10px; border-bottom: 1px solid #ddd; text-align: left; vertical-align: top; }

.smm-edit { margin-top: 6px; }
.smm-edit summary { cursor: pointer; color: #b52424; }
body.single-smm_course .wp-block-post-date,
body.single-smm_course .wp-block-post-author,
body.single-smm_course .wp-block-post-author-name,
body.single-smm_course .wp-block-post-terms,
body.single-smm_course .wp-block-post-navigation-link,
body.single-smm_course .wp-block-query,
body.single-smm_course .wp-block-comments { display: none; }
@media (max-width: 640px) {
	.smm-stack { min-width: 0; }
	.smm-stack thead { display: none; }
	.smm-stack tr { display: block; padding: 10px 0; border-bottom: 2px solid #ccc; }
	.smm-stack td { display: flex; gap: 12px; padding: 4px 0; border: 0; }
	.smm-stack td::before { content: attr(data-label); flex: 0 0 4.5em; color: #555; font-weight: 600; }
}

.smm-apply { margin: 1.2em 0 .4em; }

body.home .wp-block-post-title, body.home .entry-title, body.home .page-title, body.home .tdb-title-text { display: none; }
.smm-video { position: relative; aspect-ratio: 16 / 9; margin: 0 0 32px; overflow: hidden; border-radius: 12px; background: #111; }
.smm-video iframe, .smm-video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.smm-video-empty { display: flex; align-items: center; justify-content: center; background: #f4f4f4; border: 2px dashed #bbb; color: #555; font-weight: 600; }
.smm-hero { margin-bottom: 28px; }
.smm-hero h1 { margin: 0 0 16px; font-size: clamp(2rem, 6vw, 3.1rem); font-weight: 800; line-height: 1.25; letter-spacing: -.02em; color: #1c1c1c; }
.smm-btn-lg { min-height: 60px; padding: 15px 34px; font-size: 1.15em; }
.smm-path { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 0 0 10px; padding: 0; list-style: none; }
.smm-path li { padding: 18px; border-radius: 10px; background: #fbeeee; }
.smm-path strong { display: block; margin-bottom: 4px; font-size: 1.2em; color: #b52424; }
.smm-path span { display: block; font-size: .95em; line-height: 1.55; }
.smm-card h3 { margin: 0 0 6px; font-size: 1.15em; }
.smm-card p { margin: 0; }
.smm-todo { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: smm-step; }
.smm-todo li { position: relative; padding: 18px 18px 18px 74px; border: 2px solid #1c1c1c; border-radius: 12px; background: #fff; counter-increment: smm-step; }
.smm-todo li::before { content: counter(smm-step); position: absolute; left: 18px; top: 18px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: #dd3333; color: #fff; font-size: 1.15em; font-weight: 800; }
.smm-todo strong { display: block; font-size: 1.15em; line-height: 1.4; }
.smm-todo span { display: block; margin-top: 2px; }
.smm-todo small { display: block; margin-top: 4px; color: #6a6a6a; font-size: .85em; }
.smm-cta { margin-top: 28px; text-align: center; }
.smm-cta .smm-muted { margin: 8px 0 12px; }
@media (max-width: 640px) {
	.smm-path { grid-template-columns: 1fr; }
	.smm-btn-lg { display: block; text-align: center; }
	.smm-todo li { padding-left: 66px; }
	.smm-todo li::before { left: 14px; }
}
