/*
 Theme Name:   Studiare Plus Child
 Description:  studiare Child Theme
 Author:       وردپرس من
 Author URI:   http://i-wp.ir
 Template:     studiare
 Version:      1.0.0
 Text Domain:  splus
*/

/* ==================================================
   استایل‌های عمومی و اصلاحات قالب سایت
   منتقل‌شده از Additional CSS
================================================== */

.wd-products-with-bg:not(.products-bordered-grid) :is(.product-wrapper,.wd-cat-wrap) {
    background-color: #ffffff !important;
}

.wd-product-teachers {
	display: flex;
}
.page-title .title {
	position: relative;
	padding-right: 24px;
}
.page-title .title:before {
	content:"";
	position: absolute;
	width: 15px;
	height: 15px;
	right:0;
	top: 9px;
	background: var(--wd-alternative-color);
	border-radius: 4px;
}
.wd-close-side {
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}
.elementor-heading-title u {
    text-decoration: none;
    color: var(--wd-primary-color);
}
.sngl-price-top ins span.amount {
	color: #000;
	font-size: 30px !important;
}
.sngl-price-top ins .woocommerce-Price-currencySymbol {
	color: #bfbfbf;
	font-size: 14px !important;
	display:block;
}
.sngl-price-side ins .woocommerce-Price-currencySymbol {
	display:inline-block;
}

.sngl-price-top del {
	display: block;
	margin-bottom: 4px;
	color: #6d7687 !important;
	font-size: 19px !important;
}
.sngl-price-top del span.amount {
	color: #6d7687 !important;
	font-size: 19px !important;
}
.sngl-price-top del .woocommerce-Price-currencySymbol {
	display: none;
}

.sngl-price-top .free-label {
	font-size: 26px;
	color: #424244;
}

.single_add_to_cart_button {
	height: 55px;
	-webkit-box-shadow: 0 0 17px 0px rgb(72 72 72 / 51%);
    -moz-box-shadow: 0 0 17px 0px rgba(249, 191, 7, 0.14);
    box-shadow: 0 0 17px 0px rgb(25 25 25 / 21%);
	border-radius: 8px;
}

.vizhegiha .shop_attributes {
    overflow: visible;
}
.vizhegiha .shop_attributes tbody {
	column-gap: 20px;
}
.vizhegiha .shop_attributes tr {
    padding: 1.25rem;
    border-radius: .7rem;
    background: #fff;
    box-shadow: 0 5px 30px rgb(70 72 77 / 8%);
	border-bottom: 0;
}

.wd-products-with-shadow:not(.products-bordered-grid) :is(.wd-cat-wrap,.product-wrapper), .wd-post.wd-add-shadow .wd-post-inner {
    --tw-shadow: 0px 5px 25px 0px rgba(126, 137, 155, .11);
    --tw-shadow-colored: 0px 5px 25px 0px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}

.rtl .side-nav .btn-icon-pos-right {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 10px;
}

.side-nav svg {
	max-width: 20px;
	margin-left: 5px;
}

.woodmart-sidebar-content .widget {
    padding: 20px;
    border-radius: 7px;
    background: #fff;
    --tw-shadow: 0px 0px 45px 0px #7E899B1A;
    --tw-shadow-colored: 0px 0px 45px 0px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.woodmart-sidebar-content .widget-title {
    background: transparent !important;
    padding: 10px 5px !important;
}
.woodmart-sidebar-content .widget-title {
    text-align: right;
    position: relative !important;
}
.woodmart-sidebar-content .widget-title:before {
    content: " ";
    width: 6px;
    height: 20px;
    background-color: var(--wd-primary-color);
    position: absolute;
    right: -23px;
    border-radius: 10px;
    z-index: 9;
}

.wd-single-countdown h4 {
	margin-bottom: 0 !important;
}
.wd-single-countdown .elementor-widget-container {
    display: flex;
    justify-content: space-between;
    background: #f9fafc;
    padding: 15px 19px;
    border-radius: 8px;
}

.wd-product :is(.wd-product-countdown,.wd-swatches-grid) {
    justify-content: space-between !important;
}
.wd-timer {
    direction: rtl !important;
}
.wd-timer .wd-timer-sec {
	position: relative !important;
}
.wd-timer .wd-timer-sec .wd-timer-value, .wd-timer .wd-timer-sec .wd-timer-text {
	z-index: 3;
	color: var(--wd-primary-color) !important;
}
.wd-timer .wd-timer-sec:before {
	content: " ";
	background: var(--wd-primary-color);
	position:absolute;
	width: 54px;
	height: 54px;
	border-radius: 10px;
	top:0;
	right:0;
	z-index:1;
	opacity: .15
}

.star-rating {
    color: #ffba00 !important;
}
.wd-dropdown-cats {
    padding-top: 27px;
}
.wd-header-cats.wd-style-1 .menu-opener:after {
    margin-inline-start: 30px !important;
}
.wd-header-cats.wd-style-1 .menu-opener {
    min-width: 210px !important;
	border-radius: 15px !important;
	color : var(--wd-primary-color);
}

.whb-main-header {
	--tw-shadow: 0px 15px 25px 0px #969BA412;
    --tw-shadow-colored: 0px 15px 25px 0px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.product-wrapper .wd-product-countdown span {
	max-width: 54px;
	text-align:center;
}

.wd-nav.wd-style-bg>li:after {
    content: '';
    position: absolute;
    visibility: hidden;
    opacity: 0;
    border-radius: 40px;
    background-color: var(--wd-primary-color);
    transition: all .25s ease;
    height: 6px;
    width: 20px;
    bottom: -5px;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.wd-nav.wd-style-bg>li:is(.current-menu-item,.wd-active,.active):after {
    visibility: visible;
    opacity: 1;
}

.heading-icon .elementor-icon:before {
	content: " ";
	background: var(--wd-primary-color);
	position:absolute;
	width: 48px;
	height: 48px;
	border-radius: 100px;
	top:0;
	right:0;
	z-index:1;
	opacity: .4;
	filter: blur(10px);
}
.heading-icon svg {
	z-index: 4;
}

.box-icon-align-top .box-icon-wrapper {
    margin-bottom: 0px;
    background: linear-gradient(30.52deg, #fdda74 7.1%, #ffb02e 35.39%, var(--wd-primary-color) 63.68%, var(--wd-primary-color) 91.97%);
    max-width: 112px;
    max-height: 112px;
    width: 100px;
    height: 100px;
    border-radius: 100px;
    position: relative;
}

.box-with-icon .info-box-icon {
    overflow: hidden;
    z-index: 2;
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 50%;
    background: #fff;
    height: 92px;
		width: 92px;
    border-radius: 100px;
}
.info-svg-wrapper {
	position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 50%;
}
.wd-info-box {
    align-items: center !important;
}

.info-box-icon:before {
    content: "";
    display: block;
    width: 78px;
    height: 78px;
    border-radius: 50%;
    box-shadow: 0 0 0 5px #fff;
    border: 1px solid #dae4e7;
    z-index: 3;
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 50%;
}
.wd-product span.price del {
	display:block;
}
.wd-product span.price del .woocommerce-Price-currencySymbol {
	display: none;
}
.product-label.onsale {
    padding: 9px 0px !important;
    min-width: 33px;
}
.wrap-price .attribute-label {
	display: none;
}
.attribute-label.product-label {
    font-size: 10px !important;
}
.product-element-top .product-labels {
    top: 10px !important;
    inset-inline-start: 14px !important;
}
.product-label.attribute-label:not(.label-with-img) {
	background-color: rgb(255 255 255 / 87%) !important;
	border-bottom-right-radius: 2px !important;
}
.product-element-bottom {
	position: relative;
}
.product-element-bottom:after, .product-element-bottom:before {
    content: "";
    position: absolute;
    top: -40px;
    height: 40px;
    width: 8px;
    background: transparent;
    box-shadow: 0 20px 0 0 #fff;
}
.product-element-bottom:before {
    left: 0;
    border-bottom-left-radius: 6px;
}
.product-element-bottom:after {
    right: 0;
    border-bottom-right-radius: 6px;
}
.wd-product-header {
    z-index: 4;
}

.wd-title-style-simple .liner-continer:after {
    content: " ";
    position: absolute;
    top: -4px !important;
    left: unset !important;
    width: 6px !important;
    height: 25px !important;
    background-color: var(--el-title-color);
    border-radius: 20px;
	right: -12px !important;
}

.title-subtitle {
	position: relative;
}
.wd-title-style-simple .title-subtitle:before {
    content: " ";
    position: absolute;
    top: 1px !important;
    width: 6px !important;
    height: 14px !important;
    background-color: var(--el-title-color);
	opacity: 0.2;
    border-radius: 20px;
	right: -12px !important;
}
.title-subtitle {
	margin-bottom:0 !important;
}
.title-wrapper.wd-title-style-simple {
    padding-right: 10px;
}

.product-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.product-flex .wrap-price {
	position: relative;
	display: flex;
}
.product-flex .wrap-price .product-labels {
	position: relative !important;
	top: unset !important;
	right: 0 !important;
}

.product-element-top .product-label.onsale {
	display: none !important;
}
[class*="title-line-"] .wd-product .wd-entities-title {
    min-height: calc(var(--title-line-count, 1)* var(--title-line-height, 1.4em));
}
.wrap-total-sale svg {
	max-height: 22px;
}
.wrap-total-sale {
    font-weight: 500;
    color: #878F9B;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.free-label {
	font-weight: 700;
}

.blog-design-meta-image .wd-entities-title, .blog-design-masonry .post-title {
    margin-bottom: 10px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.wd-post-desc {
	overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.wd-nav-pagin-wrap[class*="wd-style-shape"] li.wd-active span {
    width: 25px;
    background-color: var(--wd-primary-color) !important;
    border: 0;
}
.wd-dropdown-cats {
    min-width: 210px !important;
}
.wd-product .wd-timer {
    justify-content: space-between;
}
/* حذف ردیف اطلاعات زیر عنوان مقاله */
.blog .wd-post-meta,
.archive .wd-post-meta {
    display: none !important;
}
/* =========================
   نمایش کامل توضیحات دوره
   ========================= */

/* برداشتن محدودیت ارتفاع و نمایش کامل متن */
.single-product #desc {
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
}

/* حذف محوشدگی پایین توضیحات */
.single-product #desc::before,
.single-product #desc::after {
    display: none !important;
    content: none !important;
}

/* حذف دکمه بیشتر بخوانید */
.single-product .wd-collapsible-button {
    display: none !important;
}           


/* ===================================
   یکسان‌سازی کاورهای صفحه وبلاگ
   =================================== */

.blog .wd-post-thumb .wd-post-img,
.blog .wd-post-thumb .post-img-wrapp,
.archive .wd-post-thumb .wd-post-img,
.archive .wd-post-thumb .post-img-wrapp {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
}

.blog .wd-post-thumb .wd-post-img img,
.blog .wd-post-thumb .post-img-wrapp img,
.archive .wd-post-thumb .wd-post-img img,
.archive .wd-post-thumb .post-img-wrapp img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}


/* ===================================
   تصویر شاخص ابتدای مقاله‌ها
   =================================== */

.single-post .wd-single-post-header .wd-post-image {
    width: calc(100% - 40px) !important;
    max-width: 820px !important;
    aspect-ratio: 16 / 9 !important;
    margin: 24px auto 32px !important;
    overflow: hidden !important;
    border-radius: 12px !important;
}

.single-post .wd-single-post-header .wd-post-image img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}


/* موبایل */
@media (max-width: 767px) {
    .single-post .wd-single-post-header .wd-post-image {
        width: 100% !important;
        margin: 18px auto 24px !important;
        border-radius: 8px !important;
    }
}


/* زیباسازی عنوان اصلی مقاله */
.single-post .wd-single-post-header .wd-post-title {
    font-size: clamp(28px, 4vw, 44px) !important;
    line-height: 1.6 !important;
    font-weight: 900 !important;
    color: #012f7b !important;
    text-align: right !important;
    margin: 18px 0 24px !important;
    letter-spacing: -0.5px;
}

/* موبایل */
@media (max-width: 767px) {
    .single-post .wd-single-post-header .wd-post-title {
        font-size: 28px !important;
        line-height: 1.7 !important;
        margin: 14px 0 20px !important;
    }
}

/* ==================================================
   استایل عمومی مقالات شریفی مارکتینگ
   همه مقالات باید داخل .sm-article قرار بگیرند
================================================== */

.sm-article,
.sm-article * {
    box-sizing: border-box;
}

.sm-article {
    --sm-blue: #012f7b;
    --sm-blue-dark: #001f52;
    --sm-yellow: #f4d068;
    --sm-text: #1d2124;
    --sm-muted: #5f6670;
    --sm-light: #f7f9fc;
    --sm-border: #e4e9f0;
    --sm-success: #137a4a;
    --sm-warning-bg: #fff8e6;

    width: 100%;
    max-width: 1050px;
    margin: 0 auto;
    padding: 45px 22px 80px;
    direction: rtl;
    text-align: right;
    color: var(--sm-text);
    font-family: inherit;
    line-height: 2;
}

/* تیترها */

.sm-article h1,
.sm-article h2,
.sm-article h3,
.sm-article h4 {
    color: var(--sm-blue);
    font-weight: 900;
}

.sm-article h1 {
    margin: 0 0 24px;
    font-size: clamp(2rem, 4vw, 2.7rem);
    line-height: 1.55;
}

.sm-article h2 {
    margin: 55px 0 20px;
    font-size: clamp(1.5rem, 3vw, 2rem);
    line-height: 1.7;
}

.sm-article h3 {
    margin: 32px 0 14px;
    font-size: 1.3rem;
    line-height: 1.75;
}

.sm-article h4 {
    margin: 25px 0 12px;
    font-size: 1.12rem;
    line-height: 1.8;
}

/* متن‌ها */

.sm-article p {
    margin: 0 0 19px;
    color: var(--sm-text);
    font-size: 1.05rem;
    line-height: 2.15;
}

.sm-article strong {
    font-weight: 900;
}

.sm-article a {
    display: inline;
    color: var(--sm-blue);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 4px;
    transition: color 0.2s ease;
}

.sm-article a:hover {
    color: var(--sm-blue-dark);
}

/* لیست‌ها */

.sm-article ul,
.sm-article ol {
    margin: 15px 0 24px;
    padding-right: 25px;
}

.sm-article li {
    margin-bottom: 9px;
    color: var(--sm-text);
    font-size: 1.02rem;
    line-height: 2;
}

.sm-article li::marker {
    color: var(--sm-blue);
    font-weight: 900;
}

/* بخش ابتدایی مقاله */

.sm-article-hero {
    position: relative;
    overflow: hidden;
    margin-bottom: 38px;
    padding: 42px;
    background:
        radial-gradient(
            circle at top left,
            rgba(244, 208, 104, 0.32),
            transparent 36%
        ),
        linear-gradient(135deg, #f7f9fc 0%, #ffffff 100%);
    border: 1px solid var(--sm-border);
    border-radius: 24px;
    box-shadow: 0 18px 45px rgba(1, 47, 123, 0.07);
}

.sm-article-hero::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 7px;
    height: 100%;
    background: var(--sm-yellow);
}

.sm-article-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 17px;
    padding: 7px 15px;
    color: var(--sm-blue);
    background: rgba(244, 208, 104, 0.3);
    border: 1px solid rgba(244, 208, 104, 0.7);
    border-radius: 40px;
    font-size: 0.9rem;
    font-weight: 900;
}

.sm-article-lead {
    margin-bottom: 0 !important;
    color: var(--sm-muted) !important;
    font-size: 1.12rem !important;
    line-height: 2.15 !important;
}

/* تصاویر مقاله */

.sm-article-image {
    margin: 38px 0;
}

.sm-article-image img {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid var(--sm-border);
    border-radius: 22px;
    box-shadow: 0 14px 40px rgba(1, 47, 123, 0.1);
}

.sm-article-image figcaption {
    margin-top: 11px;
    color: var(--sm-muted);
    font-size: 0.9rem;
    line-height: 1.8;
    text-align: center;
}

/* فهرست مطالب */

.sm-toc {
    margin: 38px 0;
    padding: 30px;
    background: var(--sm-light);
    border: 1px solid var(--sm-border);
    border-radius: 20px;
}

.sm-toc-title {
    display: block;
    margin-bottom: 13px;
    color: var(--sm-blue);
    font-size: 1.15rem;
    font-weight: 900;
}

.sm-toc ol {
    margin: 0;
}

.sm-toc li:last-child {
    margin-bottom: 0;
}

/* باکس نکته معمولی */

.sm-note {
    margin: 30px 0;
    padding: 25px 28px;
    background: var(--sm-light);
    border: 1px solid var(--sm-border);
    border-right: 5px solid var(--sm-blue);
    border-radius: 17px;
}

.sm-note strong {
    display: block;
    margin-bottom: 7px;
    color: var(--sm-blue);
}

.sm-note p:last-child {
    margin-bottom: 0;
}

/* باکس نکته آبی */

.sm-article .sm-note-primary {
    margin: 32px 0;
    padding: 28px 30px;
    background: linear-gradient(
        135deg,
        var(--sm-blue),
        var(--sm-blue-dark)
    );
    border-radius: 20px;
    box-shadow: 0 16px 35px rgba(1, 47, 123, 0.16);
}

.sm-article .sm-note-primary strong {
    display: block;
    margin-bottom: 8px;
    color: var(--sm-yellow) !important;
    font-size: 1.08rem;
}

.sm-article .sm-note-primary p,
.sm-article .sm-note-primary span,
.sm-article .sm-note-primary li,
.sm-article .sm-note-primary div {
    color: #ffffff !important;
}

.sm-article .sm-note-primary p:last-child {
    margin-bottom: 0;
}

/* هشدار */

.sm-warning {
    margin: 30px 0;
    padding: 25px 28px;
    background: var(--sm-warning-bg);
    border: 1px solid #f0d99b;
    border-right: 5px solid var(--sm-yellow);
    border-radius: 17px;
}

.sm-warning strong {
    display: block;
    margin-bottom: 7px;
    color: var(--sm-blue);
}

.sm-warning p:last-child {
    margin-bottom: 0;
}

/* باکس موفقیت */

.sm-success {
    margin: 30px 0;
    padding: 25px 28px;
    background: #f1faf5;
    border: 1px solid #cae8d7;
    border-right: 5px solid var(--sm-success);
    border-radius: 17px;
}

.sm-success strong {
    display: block;
    margin-bottom: 7px;
    color: var(--sm-success);
}

.sm-success p:last-child {
    margin-bottom: 0;
}

/* کارت‌های سه‌ستونه */

.sm-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 30px 0;
}

.sm-card {
    padding: 25px;
    background: #ffffff;
    border: 1px solid var(--sm-border);
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(1, 47, 123, 0.06);
}

.sm-card-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 16px;
    padding: 0;
    color: var(--sm-blue);
    background: var(--sm-yellow);
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    flex: 0 0 42px;
    transform: translateY(-1px);
}

.sm-card h3 {
    margin: 0 0 10px;
    font-size: 1.15rem;
}

.sm-card p {
    margin-bottom: 0;
    color: var(--sm-muted);
    font-size: 0.97rem;
    line-height: 2;
}

/* کارت‌های بزرگ مقاله */

.sm-sections {
    display: grid;
    gap: 24px;
    margin: 30px 0;
}

.sm-section-card {
    padding: 32px 34px;
    background: #ffffff;
    border: 1px solid var(--sm-border);
    border-radius: 21px;
    box-shadow: 0 12px 35px rgba(1, 47, 123, 0.07);
}

.sm-section-head {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 15px;
}

.sm-section-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
    color: #ffffff;
    background: var(--sm-blue);
    border-radius: 13px;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    flex: 0 0 46px;
    transform: translateY(-1px);
}

.sm-section-card h3 {
    margin: 5px 0 0;
}

.sm-section-card p:last-child {
    margin-bottom: 0;
}

/* باکس فرعی داخل کارت */

.sm-sub-box {
    margin: 20px 0;
    padding: 20px 23px;
    background: var(--sm-light);
    border-right: 4px solid var(--sm-yellow);
    border-radius: 14px;
}

.sm-sub-box strong {
    display: block;
    margin-bottom: 7px;
    color: var(--sm-blue);
}

.sm-sub-box ul {
    margin-bottom: 0;
}

/* اولین اقدام */

.sm-action-box {
    margin-top: 20px;
    padding: 18px 22px;
    background: rgba(1, 47, 123, 0.055);
    border: 1px dashed rgba(1, 47, 123, 0.3);
    border-radius: 14px;
}

.sm-action-box strong {
    color: var(--sm-blue);
}

/* جدول */

.sm-table-wrap {
    width: 100%;
    margin: 30px 0;
    overflow-x: auto;
    border: 1px solid var(--sm-border);
    border-radius: 18px;
}

.sm-table {
    width: 100%;
    min-width: 700px;
    border-collapse: collapse;
    background: #ffffff;
}

.sm-table th,
.sm-table td {
    padding: 17px 18px;
    border-bottom: 1px solid var(--sm-border);
    text-align: right;
    vertical-align: top;
    line-height: 1.9;
}

.sm-table th {
    color: #ffffff;
    background: var(--sm-blue);
    font-size: 0.95rem;
    font-weight: 900;
}

.sm-table tr:last-child td {
    border-bottom: 0;
}

.sm-table tr:nth-child(even) td {
    background: var(--sm-light);
}

/* مراحل یا برنامه زمانی */

.sm-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 30px 0;
}

.sm-step {
    padding: 26px;
    background: #ffffff;
    border: 1px solid var(--sm-border);
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(1, 47, 123, 0.05);
}

.sm-step-label {
    display: inline-flex;
    margin-bottom: 13px;
    padding: 6px 13px;
    color: var(--sm-blue);
    background: var(--sm-yellow);
    border-radius: 30px;
    font-size: 0.88rem;
    font-weight: 900;
}

.sm-step h3 {
    margin: 0 0 10px;
}

.sm-step p {
    margin-bottom: 0;
    color: var(--sm-muted);
    font-size: 0.97rem;
}

/* چک‌لیست آبی */

.sm-article .sm-checklist {
    margin: 45px 0;
    padding: 38px;
    background:
        radial-gradient(
            circle at left bottom,
            rgba(244, 208, 104, 0.2),
            transparent 35%
        ),
        var(--sm-blue);
    border-radius: 24px;
    color: #ffffff !important;
}

.sm-article .sm-checklist h2,
.sm-article .sm-checklist h3 {
    margin-top: 0;
    color: #ffffff !important;
}

.sm-article .sm-checklist > p,
.sm-article .sm-checklist p,
.sm-article .sm-checklist span,
.sm-article .sm-checklist li {
    color: #ffffff !important;
}

.sm-checklist-items {
    display: grid;
    gap: 11px;
    margin: 25px 0;
}

.sm-article .sm-checklist-item {
    display: flex;
    gap: 13px;
    align-items: center;
    padding: 15px 17px;
    background: rgba(255, 255, 255, 0.09);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 12px;
}

.sm-article .sm-checklist-icon {
    display: flex;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    color: var(--sm-blue) !important;
    background: var(--sm-yellow);
    border-radius: 8px;
}

.sm-article .sm-checklist-icon svg {
    display: block;
    width: 15px;
    height: 15px;
}

.sm-article .sm-checklist-item > span:last-child {
    color: #ffffff !important;
}

.sm-article .sm-checklist-result {
    padding: 22px;
    background: #ffffff;
    border-radius: 15px;
}

.sm-article .sm-checklist-result p,
.sm-article .sm-checklist-result span,
.sm-article .sm-checklist-result div {
    color: var(--sm-text) !important;
}

.sm-article .sm-checklist-result strong {
    color: var(--sm-blue) !important;
}

.sm-checklist-result p:last-child {
    margin-bottom: 0;
}

/* نقل‌قول */

.sm-quote {
    position: relative;
    margin: 35px 0;
    padding: 28px 32px;
    background: var(--sm-light);
    border: 1px solid var(--sm-border);
    border-radius: 19px;
}

.sm-quote::before {
    content: "”";
    position: absolute;
    top: -5px;
    right: 18px;
    color: var(--sm-yellow);
    font-size: 5rem;
    font-weight: 900;
    line-height: 1;
}

.sm-quote p {
    position: relative;
    z-index: 1;
    margin-bottom: 0;
    color: var(--sm-blue);
    font-size: 1.12rem;
    font-weight: 800;
}

/* باکس دعوت به اقدام */

.sm-article .sm-cta {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 40px 0 !important;
    padding: 22px 28px 26px !important;

    background:
        radial-gradient(
            circle at left top,
            rgba(244, 208, 104, 0.22),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #012f7b,
            #001f52
        ) !important;

    border-radius: 24px !important;
    color: #ffffff !important;
    text-align: center !important;
    box-shadow: 0 18px 45px rgba(1, 47, 123, 0.16) !important;
}

.sm-article .sm-cta h2,
.sm-article .sm-cta h3 {
    width: 100%;
    margin: 0 0 10px !important;
    color: #ffffff !important;
    text-align: center !important;
}

.sm-article .sm-cta p {
    width: 100%;
    max-width: 720px !important;
    margin: 0 auto 16px !important;
    color: #ffffff !important;
    text-align: center !important;
    line-height: 2 !important;
}

.sm-article .sm-cta-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 48px !important;

    margin: 0 auto !important;
    padding: 8px 22px 12px !important;

    color: #012f7b !important;
    background: #f4d068 !important;

    border: none !important;
    border-radius: 13px !important;

    font-size: 1rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;

    box-shadow: none !important;
    transform: none !important;
}

.sm-article .sm-cta-button:hover {
    color: #001f52 !important;
    background: #ffe08a !important;
    transform: translateY(-2px) !important;
}

.sm-article .sm-cta-button::before,
.sm-article .sm-cta-button::after {
    display: none !important;
    content: none !important;
}

/* سوالات متداول */

.sm-faq {
    margin-top: 28px;
}

.sm-faq details {
    margin-bottom: 13px;
    background: #ffffff;
    border: 1px solid var(--sm-border);
    border-radius: 15px;
}

.sm-faq summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 21px;
    color: var(--sm-blue);
    cursor: pointer;
    font-size: 1.02rem;
    font-weight: 900;
    list-style: none;
}

.sm-faq summary::-webkit-details-marker {
    display: none;
}

.sm-faq summary::after {
    content: "+";
    flex: 0 0 auto;
    margin-right: auto;
    color: var(--sm-blue);
    font-size: 1.3rem;
    font-weight: 900;
    line-height: 1;
}

.sm-faq details[open] summary::after {
    content: "−";
}

.sm-faq details p {
    margin: 0;
    padding: 0 21px 20px;
    color: var(--sm-muted);
}

/* جداکننده */

.sm-divider {
    width: 100%;
    height: 1px;
    margin: 45px 0;
    background: var(--sm-border);
}

/* تبلت */

@media (max-width: 900px) {
    .sm-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* موبایل */

@media (max-width: 780px) {
    .sm-article {
        padding: 30px 15px 60px;
    }

    .sm-article-hero {
        padding: 31px 25px;
    }

    .sm-cards,
    .sm-steps {
        grid-template-columns: 1fr;
    }

    .sm-section-card {
        padding: 26px 22px;
    }

    .sm-article .sm-checklist {
        padding: 31px 22px;
    }

    .sm-article .sm-cta {
        padding: 22px 20px 25px !important;
    }
}

@media (max-width: 520px) {
    .sm-article p,
    .sm-article li {
        font-size: 1rem;
    }

    .sm-section-head {
        flex-direction: column;
        gap: 10px;
    }

    .sm-note,
    .sm-warning,
    .sm-success,
    .sm-note-primary,
    .sm-toc {
        padding: 23px 20px;
    }

    .sm-article-hero {
        border-radius: 19px;
    }

    .sm-article .sm-cta h2 {
        font-size: 1.45rem;
    }

    .sm-article .sm-cta-button {
        width: 100% !important;
    }
}


/* حذف نویسنده و کامنت از بالای نوشته */
.wd-single-post-header .wd-post-author,
.wd-single-post-header .wd-post-reply {
    display: none !important;
}


/* هم‌ارتفاع‌کردن کارت مقالات صفحه اصلی */
.home-blog-equal .wd-carousel-wrap {
    align-items: stretch !important;
}

.home-blog-equal .wd-carousel-item {
    display: flex !important;
    height: auto !important;
}

.home-blog-equal .wd-carousel-item > article.wd-post {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
}

.home-blog-equal .wd-post-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
}

.home-blog-equal .wd-post-content {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
}

.home-blog-equal .wd-post-read-more {
    margin-top: auto !important;
}

/* ==================================================
   استایل عمومی توضیحات دوره‌ها
   همه محتوای دوره باید داخل .sm-course-desc قرار بگیرد
================================================== */

.sm-course-desc {
    --sm-brand-blue: #012f7b;
    --sm-brand-yellow: #F4D068;
    --sm-neutral-gray: #f8f9fa;
    --sm-border-gray: #e9ecef;
    --sm-text-dark: #1d2124;
    --sm-text-muted: #495057;

    direction: rtl;
    text-align: right;
    font-family: 'IRANSans', 'Vazir', sans-serif;
    color: var(--sm-text-dark);
    line-height: 2;
}

.sm-course-desc h2 {
    color: var(--sm-brand-blue) !important;
    font-size: 30px !important;
    font-weight: 900 !important;
    line-height: 1.6 !important;
    margin: 46px 0 18px !important;
}

.sm-course-desc h3 {
    color: var(--sm-brand-blue) !important;
    font-size: 21px !important;
    font-weight: 900 !important;
    line-height: 1.6 !important;
    margin: 28px 0 12px !important;
}

.sm-course-desc p {
    color: var(--sm-text-muted) !important;
    font-size: 16px !important;
    line-height: 2.15 !important;
    margin: 0 0 18px !important;
    text-align: justify;
}

.sm-course-desc strong {
    color: var(--sm-brand-blue) !important;
    font-weight: 900 !important;
}

.sm-course-desc a,
.sm-course-desc a strong {
    color: var(--sm-brand-blue) !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

.sm-course-desc a {
    display: inline;
    border-bottom: 2px solid var(--sm-brand-blue);
    padding-bottom: 2px;
    transition: color 0.25s ease, border-color 0.25s ease;
}

.sm-course-desc a:hover,
.sm-course-desc a:hover strong {
    color: var(--sm-brand-yellow) !important;
}

.sm-course-desc a:hover {
    border-bottom-color: var(--sm-brand-yellow);
}

.sm-course-desc__highlight {
    background-color: var(--sm-neutral-gray);
    border: 1px solid var(--sm-border-gray);
    border-right: 5px solid var(--sm-brand-yellow);
    border-radius: 18px;
    padding: 24px 22px;
    margin: 28px 0;
}

.sm-course-desc__highlight p {
    margin-bottom: 0 !important;
}

.sm-course-desc__blue-box {
    background-color: var(--sm-brand-blue);
    border-radius: 20px;
    padding: 30px 26px;
    margin: 34px 0;
}

.sm-course-desc__blue-box h2,
.sm-course-desc__blue-box h3 {
    color: #ffffff !important;
    margin-top: 0 !important;
}

.sm-course-desc__blue-box p {
    color: rgba(255, 255, 255, 0.9) !important;
    margin-bottom: 0 !important;
}

.sm-course-desc__blue-box strong {
    color: var(--sm-brand-yellow) !important;
}

.sm-course-desc__grid-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0 34px;
}

.sm-course-desc__grid-3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 24px 0 34px;
}

.sm-course-desc__card {
    background-color: #ffffff;
    border: 1px solid var(--sm-border-gray);
    border-radius: 16px;
    padding: 20px 18px;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.025);
}

.sm-course-desc__card--yellow {
    border-top: 4px solid var(--sm-brand-yellow);
}

.sm-course-desc__card--blue {
    border-right: 4px solid var(--sm-brand-blue);
}

.sm-course-desc__card h3 {
    font-size: 18px !important;
    margin: 0 0 10px !important;
}

.sm-course-desc__card p {
    font-size: 14.8px !important;
    line-height: 1.95 !important;
    margin: 0 !important;
    text-align: right;
}

.sm-course-desc__chapter {
    background-color: var(--sm-neutral-gray);
    border: 1px solid rgba(1, 47, 123, 0.1);
    border-radius: 14px;
    padding: 16px 18px;
}

.sm-course-desc__chapter span {
    display: block;
    color: var(--sm-brand-blue);
    font-size: 15px;
    font-weight: 900;
    margin-bottom: 6px;
}

.sm-course-desc__chapter p {
    font-size: 14.5px !important;
    line-height: 1.9 !important;
    margin: 0 !important;
    text-align: right;
}

.sm-course-desc__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0 34px;
    padding: 0 !important;
    list-style: none !important;
}

.sm-course-desc__list li {
    background-color: #ffffff;
    border: 1px solid var(--sm-border-gray);
    border-radius: 14px;
    padding: 15px 16px;
    color: var(--sm-text-muted);
    font-size: 15px;
    line-height: 1.9;
    margin: 0 !important;
}

.sm-course-desc__list li strong {
    display: block;
    margin-bottom: 4px;
}

.sm-course-desc__cta {
    background-color: var(--sm-neutral-gray);
    border: 1px solid var(--sm-border-gray);
    border-top: 5px solid var(--sm-brand-blue);
    border-radius: 20px;
    padding: 28px 24px;
    margin: 34px 0;
    text-align: center;
}

.sm-course-desc__cta h2,
.sm-course-desc__cta h3 {
    margin-top: 0 !important;
}

.sm-course-desc__cta p {
    text-align: center;
    margin-bottom: 0 !important;
}

@media (max-width: 768px) {
    .sm-course-desc h2 {
        font-size: 24px !important;
    }

    .sm-course-desc h3 {
        font-size: 19px !important;
    }

    .sm-course-desc p {
        font-size: 15px !important;
        text-align: right;
    }

    .sm-course-desc__grid-2,
    .sm-course-desc__grid-3,
    .sm-course-desc__list {
        grid-template-columns: 1fr;
    }

    .sm-course-desc__highlight,
    .sm-course-desc__blue-box,
    .sm-course-desc__cta {
        padding: 24px 20px;
    }

    .sm-course-desc__cta p {
        text-align: right;
    }
}

.wd-rating-review-count {
    display: none !important;
}
/* ==================================================
   Sharifi Marketing — Universal Page Design System
   استفاده در صفحات خدمات، دوره‌ها، لندینگ‌ها و صفحات فروش
   Wrapper اصلی هر صفحه: .sm-page
================================================== */

.sm-page,
.sm-page *,
.sm-page *::before,
.sm-page *::after {
    box-sizing: border-box;
}

.sm-page {
    --sm-page-blue: #012f7b;
    --sm-page-blue-dark: #001f52;
    --sm-page-yellow: #F4D068;
    --sm-page-text: #101114;
    --sm-page-muted: #5f6673;
    --sm-page-light: #f8f9fa;
    --sm-page-light-2: #fbfbfd;
    --sm-page-border: #e9ecef;
    --sm-page-radius: 22px;
    --sm-page-shadow: 0 18px 45px rgba(1, 47, 123, 0.06);

    width: 100%;
    direction: rtl;
    text-align: right;
    color: var(--sm-page-text);
    font-family: inherit;
}

.sm-page a:focus-visible,
.sm-page button:focus-visible,
.sm-page summary:focus-visible {
    outline: 3px solid rgba(244, 208, 104, 0.75);
    outline-offset: 4px;
}

.sm-page img {
    max-width: 100%;
    height: auto;
}

/* ---------- Layout ---------- */

.sm-page .sm-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}

.sm-page .sm-container--narrow {
    max-width: 900px;
}

.sm-page .sm-section {
    position: relative;
    padding: 92px 24px;
}

.sm-page .sm-section--white {
    background: #ffffff;
}

.sm-page .sm-section--light {
    background: var(--sm-page-light-2);
}

.sm-page .sm-section--soft {
    background: var(--sm-page-light);
}

.sm-page .sm-section--gradient {
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 12%, rgba(1, 47, 123, 0.07), transparent 32%),
        radial-gradient(circle at 88% 18%, rgba(244, 208, 104, 0.16), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #fbfbfd 100%);
}

.sm-page .sm-section--dark {
    background: var(--sm-page-blue);
    color: #ffffff;
}

/* ---------- Hero ---------- */

.sm-page .sm-hero {
    padding: 105px 24px 90px;
}

.sm-page .sm-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    gap: 56px;
    align-items: center;
}

.sm-page .sm-hero__content {
    min-width: 0;
    position: relative;
    z-index: 2;
}

.sm-page .sm-hero__content--single {
    max-width: 950px;
}

.sm-page .sm-badge,
.sm-page .sm-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    padding: 8px 15px;
    color: var(--sm-page-blue);
    background: rgba(1, 47, 123, 0.065);
    border: 1px solid rgba(1, 47, 123, 0.1);
    border-radius: 999px;
    font-size: 14px;
    font-weight: 900;
}

.sm-page .sm-badge--accent {
    border-right: 4px solid var(--sm-page-yellow);
}

.sm-page .sm-badge__dot {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    background: var(--sm-page-yellow);
    border-radius: 50%;
    box-shadow: 0 0 0 6px rgba(244, 208, 104, 0.2);
}

.sm-page .sm-hero h1,
.sm-page .sm-page-title {
    margin: 0 0 22px;
    color: var(--sm-page-blue);
    font-size: clamp(34px, 5vw, 56px);
    line-height: 1.4;
    font-weight: 900;
    letter-spacing: -0.5px;
}

.sm-page .sm-lead {
    max-width: 820px;
    margin: 0 0 30px;
    color: var(--sm-page-muted);
    font-size: 18px;
    line-height: 2.1;
}

.sm-page .sm-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

/* ---------- Headings ---------- */

.sm-page .sm-section-header {
    max-width: 880px;
    margin: 0 auto 50px;
    text-align: center;
}

.sm-page .sm-section-header--right {
    margin-right: 0;
    margin-left: 0;
    text-align: right;
}

.sm-page .sm-section-header h2,
.sm-page .sm-heading-lg {
    margin: 0 0 16px;
    color: var(--sm-page-blue);
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1.5;
    font-weight: 900;
}

.sm-page .sm-section-header p,
.sm-page .sm-section-text {
    margin: 0;
    color: var(--sm-page-muted);
    font-size: 17px;
    line-height: 2;
}

.sm-page .sm-text-link {
    display: inline;
    color: var(--sm-page-blue) !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    border-bottom: 2px solid var(--sm-page-blue);
    padding-bottom: 1px;
    transition: color .25s ease, border-color .25s ease;
}

.sm-page .sm-text-link:hover {
    color: var(--sm-page-yellow) !important;
    border-bottom-color: var(--sm-page-yellow);
}

/* ---------- Buttons ---------- */

.sm-page .sm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 26px;
    border: 2px solid transparent;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.4;
    text-align: center;
    text-decoration: none !important;
    transition: all .25s ease;
}

.sm-page .sm-btn--primary {
    color: #ffffff !important;
    background: var(--sm-page-blue);
    border-color: var(--sm-page-blue);
    box-shadow: 0 16px 32px rgba(1, 47, 123, 0.17);
}

.sm-page .sm-btn--primary:hover {
    color: var(--sm-page-text) !important;
    background: var(--sm-page-yellow);
    border-color: var(--sm-page-yellow);
    transform: translateY(-2px);
}

.sm-page .sm-btn--secondary {
    color: var(--sm-page-blue) !important;
    background: #ffffff;
    border-color: rgba(1, 47, 123, 0.18);
}

.sm-page .sm-btn--secondary:hover {
    background: rgba(1, 47, 123, 0.045);
    border-color: var(--sm-page-blue);
    transform: translateY(-2px);
}

.sm-page .sm-btn--yellow {
    color: var(--sm-page-text) !important;
    background: var(--sm-page-yellow);
    border-color: var(--sm-page-yellow);
}

.sm-page .sm-btn--yellow:hover {
    background: #ffffff;
    border-color: #ffffff;
    transform: translateY(-2px);
}

.sm-page .sm-btn--full {
    width: 100%;
}

/* ---------- Grids ---------- */

.sm-page .sm-grid {
    display: grid;
    gap: 20px;
}

.sm-page .sm-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sm-page .sm-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sm-page .sm-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sm-page .sm-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

/* ---------- Cards ---------- */

.sm-page .sm-ui-card {
    position: relative;
    min-width: 0;
    padding: 26px 23px;
    background: #ffffff;
    border: 1px solid rgba(1, 47, 123, 0.1);
    border-radius: var(--sm-page-radius);
    box-shadow: 0 14px 34px rgba(16, 17, 20, 0.035);
    transition: all .25s ease;
}

.sm-page .sm-ui-card:hover {
    transform: translateY(-5px);
    border-color: rgba(244, 208, 104, 0.8);
    box-shadow: 0 22px 46px rgba(1, 47, 123, 0.075);
}

.sm-page .sm-ui-card--soft {
    background: var(--sm-page-light-2);
}

.sm-page .sm-ui-card--blue {
    color: #ffffff;
    background: var(--sm-page-blue);
    border-color: var(--sm-page-blue);
    box-shadow: 0 24px 60px rgba(1, 47, 123, 0.18);
}

.sm-page .sm-ui-card--blue:hover {
    background: var(--sm-page-blue);
    border-color: var(--sm-page-yellow);
}

.sm-page .sm-ui-card--top-blue {
    border-top: 5px solid var(--sm-page-blue);
}

.sm-page .sm-ui-card--top-yellow {
    border-top: 5px solid var(--sm-page-yellow);
}

.sm-page .sm-ui-card h3,
.sm-page .sm-ui-card h4 {
    margin: 0 0 11px;
    color: var(--sm-page-blue);
    line-height: 1.6;
    font-weight: 900;
}

.sm-page .sm-ui-card h3 { font-size: 19px; }
.sm-page .sm-ui-card h4 { font-size: 17px; }

.sm-page .sm-ui-card p {
    margin: 0;
    color: var(--sm-page-muted);
    font-size: 15px;
    line-height: 1.95;
}

.sm-page .sm-ui-card--blue h2,
.sm-page .sm-ui-card--blue h3,
.sm-page .sm-ui-card--blue h4 {
    color: #ffffff;
}

.sm-page .sm-ui-card--blue p {
    color: rgba(255, 255, 255, 0.82);
}

.sm-page .sm-number,
.sm-page .sm-icon-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 16px;
    color: var(--sm-page-yellow);
    background: var(--sm-page-blue);
    border-radius: 14px;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    flex: 0 0 46px;
}

.sm-page .sm-number--soft {
    color: var(--sm-page-blue);
    background: rgba(1, 47, 123, 0.065);
    border: 1px solid rgba(1, 47, 123, 0.1);
}

/* ---------- Split / Feature ---------- */

.sm-page .sm-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 34px;
    align-items: center;
}

.sm-page .sm-panel {
    padding: 32px 30px;
    background: #ffffff;
    border: 1px solid rgba(1, 47, 123, 0.1);
    border-radius: 26px;
    box-shadow: var(--sm-page-shadow);
}

.sm-page .sm-panel--dark {
    color: #ffffff;
    background: var(--sm-page-blue);
    border-color: var(--sm-page-blue);
    box-shadow: 0 28px 70px rgba(1, 47, 123, 0.2);
}

.sm-page .sm-panel--dark h2,
.sm-page .sm-panel--dark h3 {
    color: #ffffff;
}

.sm-page .sm-panel--dark p {
    color: rgba(255, 255, 255, 0.82);
}

/* ---------- Notes / Highlight ---------- */

.sm-page .sm-page-note {
    margin-top: 34px;
    padding: 23px 25px;
    background: linear-gradient(135deg, rgba(1, 47, 123, 0.055), rgba(244, 208, 104, 0.1));
    border: 1px solid rgba(1, 47, 123, 0.1);
    border-radius: 20px;
}

.sm-page .sm-page-note--line {
    border-right: 5px solid var(--sm-page-blue);
}

.sm-page .sm-page-note p {
    margin: 0;
    color: #343944;
    font-size: 16px;
    line-height: 2;
}

.sm-page .sm-page-note strong {
    color: var(--sm-page-blue);
    font-weight: 900;
}

/* ---------- Feature list ---------- */

.sm-page .sm-feature-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sm-page .sm-feature-list li {
    position: relative;
    margin-bottom: 14px;
    padding-right: 28px;
    color: var(--sm-page-text);
    line-height: 1.9;
}

.sm-page .sm-feature-list li:last-child {
    margin-bottom: 0;
}

.sm-page .sm-feature-list li::before {
    content: "✓";
    position: absolute;
    right: 0;
    top: 0;
    color: var(--sm-page-blue);
    font-weight: 900;
}

.sm-page .sm-feature-list--negative li::before {
    content: "×";
    color: #c74444;
}

/* ---------- Steps / Timeline ---------- */

.sm-page .sm-process {
    display: grid;
    gap: 16px;
}

.sm-page .sm-process-step {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 18px;
    align-items: flex-start;
    padding: 22px;
    background: #ffffff;
    border: 1px solid rgba(1, 47, 123, 0.1);
    border-radius: 22px;
    box-shadow: 0 14px 34px rgba(16, 17, 20, 0.035);
    transition: all .25s ease;
}

.sm-page .sm-process-step:hover {
    transform: translateY(-3px);
    border-color: rgba(244, 208, 104, 0.8);
}

.sm-page .sm-process-step__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    color: var(--sm-page-blue);
    background: rgba(1, 47, 123, 0.065);
    border: 1px solid rgba(1, 47, 123, 0.1);
    border-radius: 17px;
    font-size: 14px;
    font-weight: 900;
}

.sm-page .sm-process-step h3 {
    margin: 1px 0 8px;
    color: var(--sm-page-blue);
    font-size: 18px;
    line-height: 1.6;
    font-weight: 900;
}

.sm-page .sm-process-step p {
    margin: 0;
    color: var(--sm-page-muted);
    font-size: 15px;
    line-height: 1.95;
}

/* ---------- Pricing ---------- */

.sm-page .sm-price-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 30px 26px;
    background: #ffffff;
    border: 1px solid var(--sm-page-border);
    border-radius: 22px;
    box-shadow: 0 14px 34px rgba(16, 17, 20, 0.035);
    transition: all .25s ease;
}

.sm-page .sm-price-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 48px rgba(1, 47, 123, 0.08);
}

.sm-page .sm-price-card--featured {
    border: 2px solid var(--sm-page-blue);
}

.sm-page .sm-price-card h3 {
    margin: 0 0 10px;
    color: var(--sm-page-blue);
    font-size: 23px;
    font-weight: 900;
}

.sm-page .sm-price-card__subtitle {
    min-height: 58px;
    margin: 0 0 22px;
    color: var(--sm-page-muted);
    line-height: 1.9;
}

.sm-page .sm-price {
    margin: 0 0 22px;
    padding-bottom: 18px;
    color: var(--sm-page-blue);
    border-bottom: 1px solid var(--sm-page-border);
    font-size: clamp(25px, 3vw, 34px);
    font-weight: 900;
    line-height: 1.5;
}

.sm-page .sm-price small {
    color: var(--sm-page-muted);
    font-size: 14px;
    font-weight: 700;
}

.sm-page .sm-price-card .sm-feature-list {
    margin-bottom: 26px;
    flex-grow: 1;
}

/* ---------- Media / mockup ---------- */

.sm-page .sm-media-card {
    overflow: hidden;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(1, 47, 123, 0.12);
    border-radius: 28px;
    box-shadow: 0 30px 75px rgba(16, 17, 20, 0.085);
}

.sm-page .sm-media-card img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.sm-page .sm-mini-list {
    display: grid;
    gap: 11px;
}

.sm-page .sm-mini-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 15px;
    background: var(--sm-page-light);
    border: 1px solid rgba(1, 47, 123, 0.07);
    border-radius: 16px;
}

.sm-page .sm-mini-item span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    color: var(--sm-page-blue);
    background: #ffffff;
    border: 1px solid rgba(1, 47, 123, 0.09);
    border-radius: 12px;
    font-weight: 900;
}

.sm-page .sm-mini-item p {
    margin: 0;
    color: #343944;
    font-weight: 800;
    line-height: 1.8;
}

/* ---------- CTA ---------- */

.sm-page .sm-page-cta {
    max-width: 900px;
    margin: 0 auto;
    padding: 42px 34px;
    text-align: center;
    background: #ffffff;
    border: 1px solid var(--sm-page-border);
    border-top: 6px solid var(--sm-page-blue);
    border-radius: 22px;
    box-shadow: var(--sm-page-shadow);
}

.sm-page .sm-page-cta--dark {
    color: #ffffff;
    background: var(--sm-page-blue);
    border-color: var(--sm-page-blue);
    box-shadow: 0 26px 70px rgba(1, 47, 123, 0.22);
}

.sm-page .sm-page-cta h2,
.sm-page .sm-page-cta h3 {
    margin: 0 0 14px;
    color: var(--sm-page-blue);
    font-weight: 900;
    line-height: 1.55;
}

.sm-page .sm-page-cta h2 { font-size: clamp(27px, 4vw, 40px); }
.sm-page .sm-page-cta h3 { font-size: 24px; }

.sm-page .sm-page-cta p {
    max-width: 760px;
    margin: 0 auto 24px;
    color: var(--sm-page-muted);
    font-size: 16px;
    line-height: 2;
}

.sm-page .sm-page-cta--dark h2,
.sm-page .sm-page-cta--dark h3 {
    color: #ffffff;
}

.sm-page .sm-page-cta--dark p {
    color: rgba(255, 255, 255, 0.84);
}

/* ---------- FAQ ---------- */

.sm-page .sm-faq-list {
    display: grid;
    gap: 14px;
    max-width: 900px;
    margin: 0 auto;
}

.sm-page .sm-faq-item {
    overflow: hidden;
    padding: 0;
    background: #ffffff;
    border: 1px solid rgba(1, 47, 123, 0.1);
    border-radius: 16px;
    box-shadow: 0 10px 26px rgba(16, 17, 20, 0.025);
}

.sm-page .sm-faq-item[open] {
    border-color: var(--sm-page-blue);
    box-shadow: 0 14px 32px rgba(1, 47, 123, 0.055);
}

.sm-page .sm-faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 22px;
    color: var(--sm-page-text);
    cursor: pointer;
    list-style: none;
    font-size: 16.5px;
    font-weight: 900;
    line-height: 1.8;
}

.sm-page .sm-faq-item summary::-webkit-details-marker {
    display: none;
}

.sm-page .sm-faq-item summary::after {
    content: "+";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    color: var(--sm-page-yellow);
    background: var(--sm-page-blue);
    border-radius: 10px;
    font-size: 21px;
    font-weight: 500;
    line-height: 1;
}

.sm-page .sm-faq-item[open] summary::after {
    content: "−";
}

.sm-page .sm-faq-item > p,
.sm-page .sm-faq-answer {
    margin: 0;
    padding: 0 22px 20px;
    color: var(--sm-page-muted);
    font-size: 15px;
    line-height: 2;
}

/* ---------- Status ---------- */

.sm-page .sm-status {
    display: inline-flex;
    align-items: center;
    padding: 7px 13px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
}

.sm-page .sm-status--active {
    color: var(--sm-page-blue);
    background: rgba(244, 208, 104, 0.38);
}

.sm-page .sm-status--muted {
    color: var(--sm-page-muted);
    background: #ffffff;
    border: 1px solid var(--sm-page-border);
}

/* ---------- Responsive ---------- */

@media (max-width: 1100px) {
    .sm-page .sm-grid--5,
    .sm-page .sm-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 960px) {
    .sm-page .sm-hero {
        padding: 82px 20px 70px;
    }

    .sm-page .sm-hero__grid,
    .sm-page .sm-split {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .sm-page .sm-grid--3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .sm-page .sm-section {
        padding: 74px 20px;
    }

    .sm-page .sm-hero {
        padding: 68px 20px 58px;
    }

    .sm-page .sm-hero h1,
    .sm-page .sm-page-title {
        font-size: clamp(30px, 9vw, 40px);
    }

    .sm-page .sm-lead {
        font-size: 16px;
        line-height: 2;
    }

    .sm-page .sm-section-header {
        margin-bottom: 38px;
    }

    .sm-page .sm-section-header,
    .sm-page .sm-section-header--right {
        text-align: right;
    }

    .sm-page .sm-actions {
        flex-direction: column;
    }

    .sm-page .sm-btn {
        width: 100%;
    }

    .sm-page .sm-grid--2,
    .sm-page .sm-grid--3,
    .sm-page .sm-grid--4,
    .sm-page .sm-grid--5 {
        grid-template-columns: 1fr;
    }

    .sm-page .sm-process-step {
        grid-template-columns: 1fr;
    }

    .sm-page .sm-page-cta {
        padding: 34px 22px;
        text-align: right;
    }

    .sm-page .sm-page-cta p {
        margin-right: 0;
        text-align: right;
    }
}

@media (max-width: 520px) {
    .sm-page .sm-section,
    .sm-page .sm-hero {
        padding-right: 16px;
        padding-left: 16px;
    }

    .sm-page .sm-ui-card,
    .sm-page .sm-panel,
    .sm-page .sm-price-card {
        padding: 22px 19px;
        border-radius: 18px;
    }

    .sm-page .sm-faq-item summary {
        padding: 18px;
        font-size: 15.5px;
    }

    .sm-page .sm-faq-item > p,
    .sm-page .sm-faq-answer {
        padding: 0 18px 18px;
    }
}

/* ==================================================
   UNIVERSAL PAGE DESIGN SYSTEM — Layout Refinements
   برای هم‌ترازی پلن‌ها، باکس خدمات مرتبط و فاصله‌بندی تمیزتر
================================================== */

/* فاصله استاندارد بین یک پنل و تیتر بخش بعدی */
.sm-page .sm-panel + .sm-section-header {
    margin-top: 55px;
}

/* گریدها به‌صورت پیش‌فرض کارت‌ها را هم‌ارتفاع نگه دارند */
.sm-page .sm-grid {
    align-items: stretch;
}

/* ---------- Pricing alignment ---------- */

/* کارت‌های قیمت‌گذاری ساختار عمودی ثابت داشته باشند */
.sm-page .sm-price-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* بخش معرفی پلن قابلیت هم‌تراز شدن بین کارت‌ها را داشته باشد */
.sm-page .sm-price-card__header {
    display: flex;
    flex-direction: column;
    min-height: 190px;
}

/* اگر HTML قدیمی‌تر بدون header wrapper باشد، توضیح پلن باز هم فضای کافی بگیرد */
.sm-page .sm-price-card__subtitle {
    min-height: 120px;
}

/* قیمت‌ها در یک خط عمودی مشابه قرار بگیرند */
.sm-page .sm-price {
    margin-top: 0;
}

/* لیست ویژگی‌ها فضای اصلی کارت را پر کند و دکمه پایین بماند */
.sm-page .sm-price-card .sm-feature-list {
    flex-grow: 1;
}

/* دکمه انتهای پلن همیشه پایین کارت قرار گیرد */
.sm-page .sm-price-card > .sm-btn:last-child,
.sm-page .sm-price-card .sm-price-card__footer {
    margin-top: auto;
}

/* ---------- Related / Next-step box ---------- */

/* باکس عمومی برای خدمات مرتبط، قدم بعدی یا لینک‌های تکمیلی */
.sm-page .sm-related-box {
    max-width: 900px;
    margin: 0 auto;
    padding: 30px 32px;
    background:
        radial-gradient(circle at left top, rgba(244, 208, 104, 0.16), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
    border: 1px solid rgba(1, 47, 123, 0.12);
    border-right: 5px solid var(--sm-page-blue);
    border-radius: 22px;
    box-shadow: 0 16px 38px rgba(1, 47, 123, 0.055);
}

.sm-page .sm-related-box h2,
.sm-page .sm-related-box h3 {
    margin: 0 0 12px;
    color: var(--sm-page-blue);
    font-weight: 900;
    line-height: 1.6;
}

.sm-page .sm-related-box h3 {
    font-size: 20px;
}

.sm-page .sm-related-box p {
    margin: 0;
    color: var(--sm-page-muted);
    font-size: 16px;
    line-height: 2;
}

.sm-page .sm-related-box .sm-text-link {
    white-space: normal;
}

/* وقتی باکس خدمات مرتبط بعد از مراحل می‌آید، فاصله طبیعی داشته باشد */
.sm-page .sm-process + .sm-related-box,
.sm-page .sm-page-note + .sm-related-box {
    margin-top: 38px;
}

/* ---------- Better section rhythm ---------- */

/* جلوگیری از چسبیدن دو جزء مهم متوالی داخل یک سکشن */
.sm-page .sm-section-header + .sm-grid,
.sm-page .sm-section-header + .sm-process,
.sm-page .sm-section-header + .sm-split {
    margin-top: 0;
}

/* CTA بعد از محتوای داخل همان سکشن فاصله استاندارد بگیرد */
.sm-page .sm-grid + .sm-page-cta,
.sm-page .sm-process + .sm-page-cta,
.sm-page .sm-related-box + .sm-page-cta {
    margin-top: 48px;
}

/* ---------- Cards with bottom notes ---------- */

.sm-page .sm-grid > .sm-ui-card,
.sm-page .sm-grid > .sm-price-card {
    height: 100%;
}

.sm-page .sm-ui-card {
    display: flex;
    flex-direction: column;
}

.sm-page .sm-ui-card > .sm-page-note:last-child {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 108px;
    margin-top: auto;
    padding: 18px 20px;
}

.sm-page .sm-ui-card > .sm-page-note:last-child p {
    width: 100%;
    margin: 0;
}

/* فاصله وضعیت ثبت‌نام از تصویر و عنوان دوره */
.sm-page .sm-price-card > .sm-status {
    align-self: flex-start;
    margin-top: 16px;
    margin-bottom: 18px;
}

/* ---------- Responsive refinements ---------- */

@media (max-width: 960px) {
    .sm-page .sm-price-card__header {
        min-height: 0;
    }

    .sm-page .sm-price-card__subtitle {
        min-height: 0;
    }
}

@media (max-width: 768px) {
    .sm-page .sm-related-box {
        padding: 25px 21px;
    }

    .sm-page .sm-ui-card > .sm-page-note:last-child {
        min-height: 0;
    }

    .sm-page .sm-panel + .sm-section-header {
        margin-top: 42px;
    }
}

/* ==================================================
   UNIVERSAL PAGE DESIGN SYSTEM — Visual Refinements V6
   فاصله‌گذاری رویکرد، خوانایی باکس تیره و تراز بهتر پلن‌ها
================================================== */

/* ---------- Dark panel readability ---------- */

/* باکس‌های نکته داخل پنل آبی باید متن روشن داشته باشند */
.sm-page .sm-panel--dark .sm-page-note {
    background: rgba(255, 255, 255, 0.09);
    border-color: rgba(255, 255, 255, 0.14);
    border-right-color: var(--sm-page-yellow);
}

.sm-page .sm-panel--dark .sm-page-note p,
.sm-page .sm-panel--dark .sm-page-note span,
.sm-page .sm-panel--dark .sm-page-note div {
    color: rgba(255, 255, 255, 0.92) !important;
}

.sm-page .sm-panel--dark .sm-page-note strong {
    color: var(--sm-page-yellow) !important;
}

/* ---------- Spacing after split / approach blocks ---------- */

/* باکس توضیح تکمیلی بعد از دو ستون به بخش بالایی نچسبد */
.sm-page .sm-split + .sm-related-box {
    margin-top: 48px;
}

/* اگر related box بعد از پنل یا مراحل بیاید نیز ریتم یکسان بماند */
.sm-page .sm-panel + .sm-related-box,
.sm-page .sm-process + .sm-related-box,
.sm-page .sm-page-note + .sm-related-box {
    margin-top: 48px;
}

/* ---------- Pricing cards alignment ---------- */

/* هدر پلن‌ها کمی جمع‌تر تا قیمت بالاتر بیاید */
.sm-page .sm-price-card__header {
    min-height: 172px;
}

/* فاصله برچسب پلن تا عنوان */
.sm-page .sm-price-card__header > .sm-status {
    align-self: flex-start;
    margin: 0 0 16px;
}

/* عنوان پلن کمی از برچسب فاصله بگیرد */
.sm-page .sm-price-card__header > h3 {
    margin: 0 0 13px;
}

/* توضیح پلن بدون ارتفاع اجباری زیاد؛ خود header تراز را کنترل می‌کند */
.sm-page .sm-price-card__header .sm-price-card__subtitle {
    min-height: 0;
    margin: 0;
}

/* قیمت بلافاصله بعد از هدر و در هر دو کارت در یک خط قرار گیرد */
.sm-page .sm-price-card__header + .sm-price {
    margin-top: 0;
}

/* قیمت و عنوان از نظر بصری کمی نزدیک‌تر شوند */
.sm-page .sm-price-card .sm-price {
    padding-top: 2px;
}

/* ---------- Mobile ---------- */

@media (max-width: 960px) {
    .sm-page .sm-price-card__header {
        min-height: 0;
    }
}

@media (max-width: 768px) {
    .sm-page .sm-split + .sm-related-box,
    .sm-page .sm-panel + .sm-related-box,
    .sm-page .sm-process + .sm-related-box,
    .sm-page .sm-page-note + .sm-related-box {
        margin-top: 34px;
    }
}

/* ==================================================
   UNIVERSAL PAGE DESIGN SYSTEM — Spacing Refinements V7
   فقط برای فاصله بهتر باکس‌های تکمیلی و CTA از محتوای بالایی
   بدون تغییر در استایل صفحات قبلی
================================================== */

/* فاصله باکس خدمات مرتبط / توضیح تکمیلی بعد از گرید */
.sm-page .sm-grid + .sm-related-box {
    margin-top: 44px;
}

/* فاصله CTA وقتی مستقیم بعد از FAQ قرار می‌گیرد */
.sm-page .sm-faq-list + .sm-page-cta {
    margin-top: 48px;
}

/* موبایل */
@media (max-width: 768px) {
    .sm-page .sm-grid + .sm-related-box {
        margin-top: 34px;
    }

    .sm-page .sm-faq-list + .sm-page-cta {
        margin-top: 38px;
    }
}

/* ==================================================
   UNIVERSAL PAGE DESIGN SYSTEM — CTA Pricing Variant V8
   کلاس اختیاری برای CTAهای قیمت‌دار
   بدون تغییر در CTAهای قبلی
================================================== */

.sm-page .sm-page-cta--pricing {
    text-align: center;
}

.sm-page .sm-page-cta--pricing > h3,
.sm-page .sm-page-cta--pricing > p {
    margin-left: auto;
    margin-right: auto;
}

.sm-page .sm-page-cta--pricing .sm-cta-meta {
    display: grid;
    gap: 12px;
    justify-items: center;
    margin-top: 24px;
    margin-bottom: 26px;
}

.sm-page .sm-page-cta--pricing .sm-cta-meta__item {
    margin: 0;
    color: rgba(255, 255, 255, 0.94);
    font-size: 18px;
    line-height: 1.9;
    font-weight: 700;
}

.sm-page .sm-page-cta--pricing .sm-cta-meta__item strong {
    color: #ffffff;
    font-size: 19px;
    font-weight: 900;
}

.sm-page .sm-page-cta--pricing .sm-cta-meta__price,
.sm-page .sm-page-cta--pricing .sm-cta-meta__price strong {
    color: var(--sm-page-yellow);
    font-size: 24px;
    font-weight: 950;
}

.sm-page .sm-page-cta--pricing .sm-actions {
    justify-content: center;
}

.sm-page .sm-page-cta--pricing .sm-btn {
    min-width: 190px;
}

@media (max-width: 768px) {
    .sm-page .sm-page-cta--pricing .sm-cta-meta__item {
        font-size: 17px;
    }

    .sm-page .sm-page-cta--pricing .sm-cta-meta__item strong {
        font-size: 18px;
    }

    .sm-page .sm-page-cta--pricing .sm-cta-meta__price,
    .sm-page .sm-page-cta--pricing .sm-cta-meta__price strong {
        font-size: 22px;
    }

    .sm-page .sm-page-cta--pricing .sm-btn {
        width: 100%;
        min-width: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sm-page *,
    .sm-page *::before,
    .sm-page *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
    }
}

/* ==================================================
   ARTICLE DESIGN SYSTEM — Extended Components V9
   کامپوننت‌های تکمیلی و اختیاری برای مقالات
   فقط داخل .sm-article فعال می‌شوند
================================================== */

.sm-article .sm-key-takeaways{margin:32px 0;padding:28px 30px;background:radial-gradient(circle at left top,rgba(244,208,104,.18),transparent 34%),#fff;border:1px solid var(--sm-border);border-right:5px solid var(--sm-yellow);border-radius:19px;box-shadow:0 12px 32px rgba(1,47,123,.05)}
.sm-article .sm-key-takeaways h2,.sm-article .sm-key-takeaways h3{margin:0 0 14px;color:var(--sm-blue)}
.sm-article .sm-key-takeaways ul{margin:0}

.sm-article .sm-definition{margin:30px 0;padding:26px 28px;background:#fff;border:1px solid rgba(1,47,123,.13);border-top:4px solid var(--sm-blue);border-radius:18px;box-shadow:0 10px 28px rgba(1,47,123,.045)}
.sm-article .sm-definition__title{display:block;margin-bottom:8px;color:var(--sm-blue);font-size:1.08rem;font-weight:900}
.sm-article .sm-definition p:last-child{margin-bottom:0}

.sm-article .sm-info{margin:30px 0;padding:25px 28px;background:#eef5ff;border:1px solid #ccdcf3;border-right:5px solid #2f6fb8;border-radius:17px}
.sm-article .sm-info strong{display:block;margin-bottom:7px;color:#174f91}
.sm-article .sm-info p:last-child{margin-bottom:0}

.sm-article .sm-danger{margin:30px 0;padding:25px 28px;background:#fff2f2;border:1px solid #efcccc;border-right:5px solid #c74444;border-radius:17px}
.sm-article .sm-danger strong{display:block;margin-bottom:7px;color:#a92d2d}
.sm-article .sm-danger p:last-child{margin-bottom:0}

.sm-article .sm-pros-cons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:32px 0}
.sm-article .sm-pros,.sm-article .sm-cons{padding:27px 26px;background:#fff;border:1px solid var(--sm-border);border-radius:18px;box-shadow:0 10px 30px rgba(1,47,123,.045)}
.sm-article .sm-pros{border-top:4px solid var(--sm-success)}
.sm-article .sm-cons{border-top:4px solid #c74444}
.sm-article .sm-pros h3,.sm-article .sm-cons h3{margin:0 0 12px}
.sm-article .sm-pros h3{color:var(--sm-success)}
.sm-article .sm-cons h3{color:#a92d2d}
.sm-article .sm-pros ul,.sm-article .sm-cons ul{margin-bottom:0}

.sm-article .sm-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:32px 0}
.sm-article .sm-compare-card{padding:28px 26px;background:#fff;border:1px solid var(--sm-border);border-radius:19px;box-shadow:0 10px 30px rgba(1,47,123,.045)}
.sm-article .sm-compare-card--featured{border:2px solid var(--sm-blue)}
.sm-article .sm-compare-card h3{margin:0 0 12px}
.sm-article .sm-compare-card p:last-child,.sm-article .sm-compare-card ul:last-child{margin-bottom:0}

.sm-article .sm-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:32px 0}
.sm-article .sm-stat{padding:25px 22px;background:#fff;border:1px solid var(--sm-border);border-radius:18px;text-align:center;box-shadow:0 10px 28px rgba(1,47,123,.045)}
.sm-article .sm-stat__value{display:block;margin-bottom:7px;color:var(--sm-blue);font-size:clamp(1.7rem,4vw,2.2rem);font-weight:900;line-height:1.4}
.sm-article .sm-stat__label{display:block;color:var(--sm-muted);font-size:.96rem;line-height:1.8}

.sm-article .sm-table-caption{margin:0 0 10px;color:var(--sm-blue);font-size:1rem;font-weight:900}
.sm-article .sm-table-note{margin:-16px 0 30px;color:var(--sm-muted);font-size:.9rem;line-height:1.8}
.sm-article .sm-table--compact th,.sm-article .sm-table--compact td{padding:12px 14px}
.sm-article .sm-table .sm-table-highlight{color:var(--sm-blue);background:rgba(244,208,104,.22)!important;font-weight:900}

.sm-article .sm-timeline{position:relative;display:grid;gap:18px;margin:32px 0}
.sm-article .sm-timeline::before{content:"";position:absolute;top:20px;bottom:20px;right:23px;width:2px;background:var(--sm-border)}
.sm-article .sm-timeline-item{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px;align-items:start}
.sm-article .sm-timeline-number{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;color:var(--sm-blue);background:var(--sm-yellow);border:4px solid #fff;border-radius:14px;font-weight:900;line-height:1}
.sm-article .sm-timeline-content{padding:20px 22px;background:#fff;border:1px solid var(--sm-border);border-radius:17px}
.sm-article .sm-timeline-content h3,.sm-article .sm-timeline-content h4{margin-top:0}
.sm-article .sm-timeline-content p:last-child{margin-bottom:0}

.sm-article .sm-icon-list,.sm-article .sm-mistake-list{display:grid;gap:12px;margin:25px 0;padding:0;list-style:none}
.sm-article .sm-icon-list li,.sm-article .sm-mistake-list li{position:relative;margin:0;padding:15px 48px 15px 17px;border-radius:14px}
.sm-article .sm-icon-list li{background:#fff;border:1px solid var(--sm-border)}
.sm-article .sm-mistake-list li{background:#fff7f7;border:1px solid #efd5d5}
.sm-article .sm-icon-list li::before,.sm-article .sm-mistake-list li::before{position:absolute;top:14px;right:15px;display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:7px;font-weight:900;line-height:1}
.sm-article .sm-icon-list li::before{content:"✓";color:var(--sm-blue);background:var(--sm-yellow)}
.sm-article .sm-mistake-list li::before{content:"×";color:#fff;background:#c74444}

.sm-article .sm-example{margin:30px 0;padding:26px 28px;background:linear-gradient(135deg,#fff 0%,#f7f9fc 100%);border:1px solid var(--sm-border);border-right:5px solid var(--sm-yellow);border-radius:18px}
.sm-article .sm-example__label{display:inline-flex;margin-bottom:10px;padding:6px 12px;color:var(--sm-blue);background:rgba(244,208,104,.3);border-radius:999px;font-size:.88rem;font-weight:900}
.sm-article .sm-example p:last-child{margin-bottom:0}

.sm-article .sm-conclusion{margin:42px 0 30px;padding:32px;background:radial-gradient(circle at left top,rgba(244,208,104,.2),transparent 34%),linear-gradient(135deg,#f7f9fc 0%,#fff 100%);border:1px solid var(--sm-border);border-top:5px solid var(--sm-blue);border-radius:21px}
.sm-article .sm-conclusion h2,.sm-article .sm-conclusion h3{margin-top:0}
.sm-article .sm-conclusion p:last-child{margin-bottom:0}

.sm-article code{padding:2px 7px;color:#7a2c00;background:#fff4e8;border:1px solid #f0ddc8;border-radius:7px;font-family:Consolas,Monaco,"Courier New",monospace;font-size:.92em;direction:ltr}
.sm-article pre{width:100%;margin:30px 0;padding:22px 24px;overflow-x:auto;color:#f5f7fa;background:#111827;border:1px solid #263244;border-radius:17px;direction:ltr;text-align:left;line-height:1.8;tab-size:4}
.sm-article pre code{padding:0;color:inherit;background:transparent;border:0;border-radius:0;font-size:.92rem}

.sm-article .sm-video{position:relative;width:100%;margin:38px 0;overflow:hidden;aspect-ratio:16/9;background:#0f172a;border:1px solid var(--sm-border);border-radius:20px;box-shadow:0 14px 40px rgba(1,47,123,.1)}
.sm-article .sm-video iframe,.sm-article .sm-video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.sm-article .sm-audio{margin:30px 0;padding:20px;background:var(--sm-light);border:1px solid var(--sm-border);border-radius:16px}
.sm-article .sm-audio audio{display:block;width:100%}

.sm-article .sm-article-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}
.sm-article .sm-article-btn{display:inline-flex!important;align-items:center;justify-content:center;min-height:46px;padding:9px 20px;color:#fff!important;background:var(--sm-blue);border:2px solid var(--sm-blue);border-radius:12px;font-weight:900;line-height:1.5;text-decoration:none!important}
.sm-article .sm-article-btn:hover{color:var(--sm-text)!important;background:var(--sm-yellow);border-color:var(--sm-yellow)}
.sm-article .sm-article-btn--secondary{color:var(--sm-blue)!important;background:#fff}

.sm-article .sm-sources{margin:38px 0;padding:28px 30px;background:var(--sm-light);border:1px solid var(--sm-border);border-radius:18px}
.sm-article .sm-sources h2,.sm-article .sm-sources h3{margin-top:0}
.sm-article .sm-sources ol,.sm-article .sm-sources ul{margin-bottom:0}
.sm-article .sm-sources li{font-size:.96rem;color:var(--sm-muted)}

.sm-article .sm-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0}
.sm-article .sm-meta-item{padding:18px;background:#fff;border:1px solid var(--sm-border);border-radius:15px}
.sm-article .sm-meta-item strong{display:block;margin-bottom:4px;color:var(--sm-blue)}
.sm-article .sm-meta-item span{color:var(--sm-muted);line-height:1.8}

.sm-article .sm-accordion{display:grid;gap:12px;margin:30px 0}
.sm-article .sm-accordion details{overflow:hidden;background:#fff;border:1px solid var(--sm-border);border-radius:15px}
.sm-article .sm-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;color:var(--sm-blue);cursor:pointer;list-style:none;font-weight:900}
.sm-article .sm-accordion summary::-webkit-details-marker{display:none}
.sm-article .sm-accordion summary::after{content:"+";margin-right:auto;color:var(--sm-blue);font-size:1.25rem}
.sm-article .sm-accordion details[open] summary::after{content:"−"}
.sm-article .sm-accordion-content{padding:0 20px 18px}
.sm-article .sm-accordion-content p:last-child{margin-bottom:0}

.sm-article .sm-small{color:var(--sm-muted);font-size:.9rem;line-height:1.85}
.sm-article .sm-highlight-text{color:var(--sm-blue);background:linear-gradient(transparent 58%,rgba(244,208,104,.52) 58%);font-weight:900}

@media (max-width:900px){
  .sm-article .sm-stats,.sm-article .sm-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:780px){
  .sm-article .sm-pros-cons,.sm-article .sm-compare,.sm-article .sm-stats,.sm-article .sm-meta-grid{grid-template-columns:1fr}
  .sm-article .sm-article-actions{flex-direction:column}
  .sm-article .sm-article-btn{width:100%}
}
@media (max-width:520px){
  .sm-article .sm-key-takeaways,.sm-article .sm-definition,.sm-article .sm-info,.sm-article .sm-danger,.sm-article .sm-example,.sm-article .sm-conclusion,.sm-article .sm-sources{padding:22px 19px}
  .sm-article .sm-pros,.sm-article .sm-cons,.sm-article .sm-compare-card{padding:22px 19px}
  .sm-article .sm-timeline-item{grid-template-columns:42px minmax(0,1fr);gap:13px}
  .sm-article .sm-timeline::before{right:20px}
  .sm-article .sm-timeline-number{width:42px;height:42px}
  .sm-article .sm-timeline-content{padding:18px}
  .sm-article pre{padding:18px;border-radius:14px}
}

/* ==================================================
   ARTICLE DESIGN SYSTEM — Alignment & Theme Conflict Fixes V10
   اصلاح تراز لیبل‌ها، شماره‌ها، تیتر کارت‌ها، چک‌لیست و هفته‌ها
   بر اساس خروجی واقعی مقاله در قالب Studiare
================================================== */

/* ---------- Hero label ---------- */

.sm-article .sm-article-label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 8px 16px 10px !important;
    line-height: 1.25 !important;
    text-align: center !important;
    vertical-align: middle !important;
}


/* ---------- Small card numbers ---------- */

.sm-article .sm-card-number {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    flex: 0 0 42px !important;

    margin: 0 0 16px !important;
    padding: 0 0 2px !important;

    line-height: 1 !important;
    text-align: center !important;
    vertical-align: middle !important;

    transform: none !important;
}


/* ---------- Large section card header ---------- */

.sm-article .sm-section-head {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    width: 100% !important;
}

.sm-article .sm-section-head > .sm-section-number {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    flex: 0 0 46px !important;

    margin: 0 !important;
    padding: 0 0 2px !important;

    line-height: 1 !important;
    text-align: center !important;
    vertical-align: middle !important;

    transform: none !important;
}

.sm-article .sm-section-head > h3 {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.75 !important;
}


/* ---------- Timeline number ---------- */

.sm-article .sm-timeline-number {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 0 2px !important;

    line-height: 1 !important;
    text-align: center !important;
    vertical-align: middle !important;
}


/* ---------- Checklist ---------- */

.sm-article .sm-checklist-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 13px !important;
}

.sm-article .sm-checklist .sm-checklist-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    flex: 0 0 30px !important;

    margin: 0 !important;
    padding: 0 0 2px !important;

    color: #111111 !important;
    background: var(--sm-yellow) !important;

    border-radius: 8px !important;

    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    vertical-align: middle !important;

    overflow: hidden !important;
    transform: none !important;
}

.sm-article .sm-checklist .sm-checklist-item > span:last-child {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #ffffff !important;
    line-height: 1.9 !important;
}


/* ---------- Week labels ---------- */

.sm-article .sm-step-label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 42px !important;
    margin: 0 0 13px !important;
    padding: 7px 15px 9px !important;

    line-height: 1.2 !important;
    text-align: center !important;
    vertical-align: middle !important;
}


/* ---------- Prevent theme pseudo-elements from affecting article badges ---------- */

.sm-article .sm-card-number::before,
.sm-article .sm-card-number::after,
.sm-article .sm-section-number::before,
.sm-article .sm-section-number::after,
.sm-article .sm-timeline-number::before,
.sm-article .sm-timeline-number::after,
.sm-article .sm-checklist-icon::before,
.sm-article .sm-checklist-icon::after,
.sm-article .sm-step-label::before,
.sm-article .sm-step-label::after,
.sm-article .sm-article-label::before,
.sm-article .sm-article-label::after {
    content: none !important;
    display: none !important;
}


/* ---------- Mobile refinements ---------- */

@media (max-width: 520px) {
    .sm-article .sm-section-head {
        flex-direction: row !important;
        align-items: center !important;
        gap: 12px !important;
    }

    .sm-article .sm-section-head > .sm-section-number {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        flex-basis: 42px !important;
    }

    .sm-article .sm-section-head > h3 {
        margin: 0 !important;
    }
}

/* ==================================================
   ARTICLE TOC — RTL Number Alignment Fix
   فقط فهرست مطالب داخل مقالات
================================================== */

.sm-article .sm-toc ol {
    list-style-position: inside !important;
    padding-right: 0 !important;
}

.sm-article .sm-toc li {
    display: list-item !important;
    margin-bottom: 10px !important;
    padding: 0 !important;
    line-height: 2 !important;
}

.sm-article .sm-toc li:last-child {
    margin-bottom: 0 !important;
}

.sm-article .sm-toc li::marker {
    color: var(--sm-blue) !important;
    font-weight: 900 !important;
}

.sm-article .sm-toc li > a {
    display: inline !important;
    margin-right: 6px !important;
}