﻿/* 
 * Acadia Layout CSS (Professional & RTL)
 */

:root {
    --acadia-primary: #0274be;
    --acadia-primary-hover: #0266a7;
    --acadia-secondary: #c354f6;
    --acadia-bg-light: #f5f8ff;
    /* Reverted to original light blue */
    --acadia-bg-soft: #fcfdfe;
    --acadia-text: #313131;
    --acadia-text-gray: #5F6160;
    --acadia-border: #e6e9f1;
    --acadia-white: #ffffff;
    --acadia-shadow: 0 10px 30px rgba(85, 109, 245, 0.08);
}

/* Eliminate Astra & Theme spacing for Flush Hero */
.single-product #content,
.single-product .site-content,
.single-product .ast-container,
.single-product .entry-header {
    padding-top: 0 !important;
    margin-top: 0 !important;
    padding-bottom: 0 !important;
}

.acadia-single-product {
    direction: rtl;
    text-align: right;
    font-family: inherit;
    background: #fff;
}

.acadia-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Specific widths for hero vs main content */
.acadia-hero-banner .acadia-container {
    max-width: 1250px;
}

.acadia-main-container .acadia-container {
    max-width: 1250px;
}

/* --- Hero Banner --- */
.acadia-hero-banner {
    background-color: var(--acadia-bg-light);
    background-image: radial-gradient(circle at 10% 20%, rgba(177, 118, 242, 0.05) 0%, rgba(85, 109, 245, 0.03) 90%);
    padding: 130px 0 40px;
    position: relative;
    overflow: hidden;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: -100px;
}

.acadia-breadcrumbs {
    font-size: 14px;
    color: var(--acadia-text-gray);
    margin-bottom: 80px;
    margin-top: -65px;
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: 0.8;
}

.acadia-icon-home {
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235F6160' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'%3E%3C/path%3E%3Cpolyline points='9 22 9 12 15 12 15 22'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    position: relative;
    top: 1px;
}

.acadia-breadcrumbs a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}

.acadia-breadcrumbs a:hover {
    color: var(--acadia-primary);
}

.acadia-category-badges {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}

.acadia-category-badges .badge {
    background: var(--acadia-secondary);
    color: #fff;
    padding: 2px 20px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 500;
}

.acadia-title {
    font-size: 42px;
    font-weight: 700;
    color: var(--acadia-text);
    margin: 0 0 30px;
    line-height: 1.3;
}

.acadia-hero-content {
    max-width: 65%;
}

.acadia-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    align-items: center;
}

.acadia-hero-meta .meta-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.acadia-hero-meta .meta-item.instructor .avatar img {
    border-radius: 50%;
    width: 48px;
    height: 48px;
}

.acadia-hero-meta .meta-item .info {
    display: flex;
    flex-direction: column;
}

.acadia-hero-meta .label {
    font-size: 12px;
    color: var(--acadia-text-gray);
    margin-bottom: 2px;
}

.acadia-hero-meta .val {
    font-weight: 600;
    font-size: 15px;
    color: var(--acadia-text);
}

.acadia-hero-meta .meta-item.rating .info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.acadia-hero-meta .review-count {
    color: var(--acadia-text-gray);
    font-size: 11px;
    font-weight: 500;
    line-height: 2;
}

.acadia-hero-meta .stars {
    line-height: 1;
}

.acadia-hero-meta .star-rating {
    font-size: 14px;
    width: 80px;
    height: 1em;
    font-family: Arial, sans-serif !important;
}

.acadia-hero-meta .star-rating::before {
    content: "â˜…â˜…â˜…â˜…â˜…" !important;
    color: #e0e0e0;
    display: block;
    letter-spacing: 2px;
}

.acadia-accordion-header a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.acadia-accordion-header a:hover {
    color: var(--acadia-primary);
}

.acadia-hero-meta .star-rating span {
    overflow: hidden;
    float: right;
    left: auto;
    right: 0;
    top: 0;
    position: absolute;
}

.acadia-hero-meta .star-rating span::before {
    content: "â˜…â˜…â˜…â˜…â˜…" !important;
    color: #f39c12;
    top: 0;
    position: absolute;
    right: 0;
    letter-spacing: 2px;
}

/* --- Content & Sidebar Grid --- */
.acadia-main-container {
    padding-bottom: 80px;
    position: relative;
    z-index: 10;
    background: #fff;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.acadia-grid {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 40px;
    align-items: start;
    min-width: 0;
}

[dir="rtl"] .acadia-grid {
    grid-template-columns: 1fr 400px;
}

/* --- Sidebar Column Position --- */
.acadia-sidebar-col {
    position: relative;
    margin-top: -260px;
    z-index: 20;
}

/* --- Content Column --- */
.acadia-content-col {
    background: #fff;
    border-radius: 8px;
    min-width: 0;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.acadia-tabs-nav {
    border: 1px solid var(--acadia-border);
    margin-bottom: 5px;
    background: #fdfdfd;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
    padding: 8px;
    margin-top: 25px;
}

.acadia-tabs-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 12px;
}

.acadia-tabs-nav li {
    padding: 4px 30px;
    font-weight: 550;
    color: var(--acadia-text-gray);
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.2s;
    font-size: 16px;
}

.acadia-tabs-nav li:hover {
    color: #fff !important;
    background: var(--acadia-primary) !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.acadia-tabs-nav li.active {
    color: #fff !important;
    background: var(--acadia-primary) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

.acadia-tab-panel {
    display: none;
    padding: 20px 0;
}

.acadia-tab-panel.active {
    display: block;
}

.acadia-prose {
    line-height: 1.8;
    color: var(--acadia-text);
    font-size: 16px;
}

/* --- Modern Metadata RELOCATED to Sidebar --- */
.acadia-modern-meta-grid-sidebar {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.acadia-modern-meta-grid-sidebar .meta-box {
    display: flex;
    align-items: center;
    gap: 10px;
}

.acadia-modern-meta-grid-sidebar .meta-icon {
    width: 32px;
    height: 32px;
    background-color: rgba(85, 109, 245, 0.06);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.acadia-modern-meta-grid-sidebar .meta-icon svg {
    width: 16px;
    height: 16px;
    stroke: var(--acadia-primary);
}

.acadia-modern-meta-grid-sidebar .meta-text {
    display: flex;
    flex-direction: column;
}

.acadia-modern-meta-grid-sidebar .meta-label {
    font-size: 10px;
    color: var(--acadia-text-gray);
    line-height: 1;
    margin-bottom: 3px;
}

.acadia-modern-meta-grid-sidebar .meta-value {
    font-size: 12px;
    font-weight: 600;
    color: var(--acadia-text);
    line-height: 1.2;
}

/* --- Syllabus / Curriculum Styling --- */
.acadia-tab-panel#tab-curriculum .ld-item-list-item {
    border-radius: 8px !important;
    margin-bottom: 10px !important;
    border: 1px solid var(--acadia-border) !important;
    transition: border-color 0.2s !important;
}

.acadia-tab-panel#tab-curriculum .ld-item-list-item:hover {
    border-color: var(--acadia-primary) !important;
}

/* --- Sidebar Style --- */
.acadia-sticky-sidebar {
    position: sticky;
    top: 100px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    z-index: 10;
}

.acadia-sidebar-preview img {
    width: 100%;
    display: block;
    aspect-ratio: 16/9;
    object-fit: cover;
}

.acadia-sidebar-buy {
    padding: 30px;
}

.acadia-sidebar-buy .price-box {
    text-align: center;
    margin-bottom: 20px;
}

.acadia-sidebar-buy .price-box .woocommerce-Price-amount,
.acadia-free-price {
    font-size: 26px;
    font-weight: 800;
    color: var(--acadia-text);
}

.acadia-sidebar-buy .button {
    display: block;
    width: 100% !important;
    background: var(--acadia-primary) !important;
    color: #fff !important;
    padding: 14px !important;
    border-radius: 6px !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    transition: filter 0.2s ease;
}

.acadia-sidebar-buy .button:hover {
    filter: brightness(0.9);
}

/* --- Quick Contact Section --- */
.acadia-quick-contact {
    margin-top: 15px;
    padding-bottom: 20px;
    margin-bottom: 0;
    border-bottom: 1px solid var(--acadia-border);
}

.acadia-quick-contact .contact-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--acadia-text-gray);
    margin: 0 0 15px 0;
    text-align: center;
}

.acadia-quick-contact .contact-buttons {
    display: flex;
    gap: 10px;
    justify-content: center;
}

.acadia-quick-contact .contact-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 1;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

.acadia-quick-contact .contact-btn svg {
    flex-shrink: 0;
}

.acadia-quick-contact .contact-btn.telegram {
    background: #e7f5fd;
    color: #0088cc;
    border-color: #c5e7f7;
}

.acadia-quick-contact .contact-btn.telegram:hover {
    background: #0088cc;
    color: #fff;
    border-color: #0088cc;
}

.acadia-quick-contact .contact-btn.whatsapp {
    background: #e8fdf0;
    color: #25d366;
    border-color: #c5f0d5;
}

.acadia-quick-contact .contact-btn.whatsapp:hover {
    background: #25d366;
    color: #fff;
    border-color: #25d366;
}

.acadia-quick-contact .contact-btn.phone {
    background: #f5f5f5;
    color: #555;
    border-color: #e0e0e0;
}

.acadia-quick-contact .contact-btn.phone:hover {
    background: #555;
    color: #fff;
    border-color: #555;
}


/* --- Sidebar Meta Section (New Design) --- */
.acadia-sidebar-meta {
    padding: 20px 25px 25px;
}

.acadia-sidebar-meta h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--acadia-text);
    margin: 0 0 10px 0;
}

.acadia-sidebar-meta .meta-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.acadia-sidebar-meta .meta-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--acadia-border);
}

.acadia-sidebar-meta .meta-item:last-child {
    border-bottom: none;
}

.acadia-sidebar-meta .meta-icon {
    flex-shrink: 0;
    color: var(--acadia-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

.acadia-sidebar-meta .meta-icon svg {
    width: 22px;
    height: 22px;
}

.acadia-sidebar-meta .meta-label {
    flex: 1;
    font-size: 14px;
    color: var(--acadia-text);
    font-weight: 500;
}

.acadia-sidebar-meta .meta-value {
    font-size: 14px;
    color: var(--acadia-text-gray);
    font-weight: 400;
    text-align: left;
    direction: rtl;
}


/* --- Registration Drawer --- */
.acadia-drawer-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9998;
    display: none;
    backdrop-filter: blur(4px);
    pointer-events: none;
}

.acadia-drawer-overlay.active {
    display: block;
    pointer-events: auto;
}

.acadia-drawer {
    position: fixed;
    top: 0;
    left: 0;
    width: 440px;
    max-width: 85vw;
    height: 100%;
    background: #fff;
    z-index: 9999;
    transform: translateX(-100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    box-shadow: 20px 0 50px rgba(0, 0, 0, 0.15);
    text-align: right;
    direction: rtl;
    visibility: hidden;
    border-radius: 12px 12px 0 0;
}

.acadia-drawer.open {
    transform: translateX(0);
    visibility: visible;
}

/* --- Drawer Header --- */
.acadia-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border-bottom: 1px solid #e2e8f0;
    flex-shrink: 0;
}

.acadia-drawer-header h3 {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: #1e293b;
}

/* Hide X close button */
.acadia-drawer-close {
    display: none !important;
}

/* --- Drawer Content --- */
.acadia-drawer-content {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}

.acadia-drawer-content::-webkit-scrollbar {
    width: 6px;
}

.acadia-drawer-content::-webkit-scrollbar-track {
    background: transparent;
}

.acadia-drawer-content::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}

/* --- Product Info in Drawer --- */
.acadia-drawer-product-info {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    background: #f8fafc;
    border-radius: 12px;
    margin-bottom: 20px;
    border: 1px solid #e2e8f0;
}

.acadia-drawer-product-info img {
    width: 70px;
    height: 70px;
    object-fit: cover;
    border-radius: 10px;
    flex-shrink: 0;
}

.acadia-drawer-product-info h4 {
    margin: 0 0 6px 0;
    font-size: 15px;
    font-weight: 600;
    color: #1e293b;
    line-height: 1.4;
}

.acadia-drawer-product-info .stock {
    font-size: 12px;
    color: #16a34a;
    font-weight: 500;
}

/* --- EPO Form Container --- */
.acadia-drawer .tc-extra-product-options {
    margin-bottom: 20px;
}

/* --- EPO Section Styling (Accordion-like) --- */
.acadia-drawer .cpf-section {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    margin-bottom: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.acadia-drawer .cpf-section:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

/* Section Header/Label */
.acadia-drawer .tm-section-label,
.acadia-drawer .cpf-section>h5 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 18px;
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: #1e293b;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border-bottom: 1px solid #e2e8f0;
    cursor: default;
}

.acadia-drawer .tm-section-label .tm-epo-required,
.acadia-drawer .cpf-section h5 .tm-epo-required {
    color: #ef4444;
    margin-right: 4px;
}

/* Section Description */
.acadia-drawer .tm-description {
    padding: 12px 18px;
    background: #fffbeb;
    border-bottom: 1px solid #fef3c7;
    font-size: 13px;
    color: #92400e;
    line-height: 1.6;
}

/* --- Radio Button Options (Card Style) --- */
.acadia-drawer .cpf-type-radio .tmcp-field-wrap,
.acadia-drawer .cpf-element.cpf-type-radio li.tmcp-field-wrap {
    list-style: none;
    margin: 0;
    padding: 0;
}

.acadia-drawer .cpf-type-radio .tmcp-field-wrap label {
    display: block;
    position: relative;
    padding: 16px 18px 16px 50px;
    margin: 0;
    cursor: pointer;
    border-bottom: 1px solid #f1f5f9;
    transition: all 0.2s ease;
    background: #fff;
}

.acadia-drawer .cpf-type-radio .tmcp-field-wrap:last-child label {
    border-bottom: none;
}

.acadia-drawer .cpf-type-radio .tmcp-field-wrap label:hover {
    background: #f8fafc;
}

/* Custom Radio Button */
.acadia-drawer .cpf-type-radio .tmcp-field-wrap input[type="radio"] {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    margin: 0;
    cursor: pointer;
    accent-color: var(--acadia-primary, #0274be);
}

/* Selected State */
.acadia-drawer .cpf-type-radio .tmcp-field-wrap input[type="radio"]:checked+label,
.acadia-drawer .cpf-type-radio .tmcp-field-wrap label:has(input[type="radio"]:checked) {
    background: #eff6ff;
    border-right: 3px solid var(--acadia-primary, #0274be);
}

/* Option Title and Price Row */
.acadia-drawer .tm-label-wrap,
.acadia-drawer .tc-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.acadia-drawer .tc-label-text {
    font-size: 14px;
    font-weight: 600;
    color: #334155;
}

/* Price Display */
.acadia-drawer .tc-price-wrap,
.acadia-drawer .tc-price {
    font-size: 13px;
    font-weight: 700;
    color: #059669;
    direction: ltr;
    text-align: left;
}

/* --- Video Play Overlay --- */
.acadia-video-trigger {
    display: block;
    position: relative;
    cursor: pointer;
}

.acadia-video-trigger::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    transition: background 0.3s;
}

.acadia-video-trigger:hover::after {
    background: rgba(0, 0, 0, 0.4);
}

.video-play-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    z-index: 2;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.3));
}

.acadia-video-trigger:hover .video-play-overlay {
    transform: translate(-50%, -50%) scale(1.1);
}

/* --- Instructor List Improvements --- */
.instructor-divider {
    border: 0;
    border-top: 1px solid #eee;
    margin: 20px 0;
}

/* Fix Hero Meta stacking for multiple instructors */
.acadia-hero-meta .meta-item.instructor {
    margin-left: 15px;
    /* Add spacing between multiple instructors */
}

.acadia-hero-meta .meta-item.instructor:last-child {
    margin-left: 0;
}


/* Inline Description (Below option) */
.acadia-drawer .tc-inline-description {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    color: #64748b;
    line-height: 1.6;
}

/* --- Checkbox Options (Ø§Ù…Ú©Ø§Ù†Ø§Øª Ø¬Ø§Ù†Ø¨ÛŒ) --- */
.acadia-drawer .cpf-type-checkbox .tmcp-field-wrap,
.acadia-drawer .cpf-element.cpf-type-checkbox li.tmcp-field-wrap {
    list-style: none;
    margin: 0;
    padding: 0;
}

.acadia-drawer .cpf-type-checkbox .tmcp-field-wrap label {
    display: block;
    position: relative;
    padding: 14px 18px 14px 48px;
    margin: 0;
    cursor: pointer;
    border-bottom: 1px solid #f1f5f9;
    transition: all 0.2s ease;
    background: #fff;
}

.acadia-drawer .cpf-type-checkbox .tmcp-field-wrap:last-child label {
    border-bottom: none;
}

.acadia-drawer .cpf-type-checkbox .tmcp-field-wrap label:hover {
    background: #f8fafc;
}

/* Custom Checkbox - REMOVED (conflicts with unified styles below)
.acadia-drawer .cpf-type-checkbox .tmcp-field-wrap input[type="checkbox"] {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    margin: 0;
    cursor: pointer;
    accent-color: var(--acadia-primary, #0274be);
}

.acadia-drawer .cpf-type-checkbox .tmcp-field-wrap input[type="checkbox"]:checked+label,
.acadia-drawer .cpf-type-checkbox .tmcp-field-wrap label:has(input[type="checkbox"]:checked) {
    background: #f0fdf4;
    border-right: 3px solid #16a34a;
}
*/

/* --- Negative/Discount Price Styling --- */
/* JavaScript adds .negative-price class to prices containing minus sign */
.acadia-drawer .tc-price.negative-price,
.acadia-drawer .tc-price-wrap.negative-price {
    color: #ea580c !important;
    font-weight: 700;
}

.acadia-drawer .tc-price.negative-price::before {
    content: "ðŸ”» ";
    font-size: 10px;
}

.acadia-drawer .price del,
.acadia-drawer .tc-price del {
    color: #94a3b8;
    font-weight: 400;
    font-size: 11px;
    margin-left: 6px;
}

.acadia-drawer .tc-price ins {
    color: #ea580c;
    font-weight: 700;
    text-decoration: none;
}

/* Payment plan discount/surcharge styling - DISABLED, replaced by badge system
.acadia-drawer .wc-deposits-payment-plan-name.has-discount {
    color: #16a34a !important;
}

.acadia-drawer .wc-deposits-payment-plan-name.has-surcharge {
    color: #ea580c !important;
}
*/

/* --- Payment Plans Section (Ù¾Ø±Ø¯Ø§Ø®Øª Ù†Ù‚Ø¯/Ø§Ù‚Ø³Ø§Ø·) --- */
.acadia-drawer .wc-deposits-wrapper {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 2px solid #e2e8f0;
}

.acadia-drawer .wc-deposits-wrapper>label,
.acadia-drawer .wc-deposits-wrapper>p {
    font-size: 15px;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 12px;
    display: block;
}

.acadia-drawer .wc-deposits-payment-plans {
    list-style: none;
    padding: 0;
    margin: 0;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
}

.acadia-drawer .wc-deposits-payment-plans li {
    padding: 0;
    margin: 0;
    border-bottom: 1px solid #f1f5f9;
}

.acadia-drawer .wc-deposits-payment-plans li:last-child {
    border-bottom: none;
}

.acadia-drawer .wc-deposits-payment-plans label {
    display: block;
    padding: 14px 18px 14px 48px;
    position: relative;
    cursor: pointer;
    transition: all 0.2s ease;
}

.acadia-drawer .wc-deposits-payment-plans label:hover {
    background: #f8fafc;
}

.acadia-drawer .wc-deposits-payment-plans input[type="radio"] {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    accent-color: var(--acadia-primary, #0274be);
}

.acadia-drawer .wc-deposits-payment-plans input[type="radio"]:checked+label,
.acadia-drawer .wc-deposits-payment-plans label:has(input[type="radio"]:checked) {
    background: #eff6ff;
    border-right: 3px solid var(--acadia-primary, #0274be);
}

.acadia-drawer .wc-deposits-payment-plan-name {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 4px;
}

.acadia-drawer .wc-deposits-payment-plan-description {
    display: block;
    font-size: 12px;
    color: #64748b;
    line-height: 1.5;
}

/* Discount Badge in Payment Plan Name */
.acadia-drawer .wc-deposits-payment-plan-name:has([class*="discount"]),
.acadia-drawer .wc-deposits-payment-plans strong:contains("ØªØ®ÙÛŒÙ") {
    color: #16a34a;
}

/* Surcharge/Increase Badge */
.acadia-drawer .wc-deposits-payment-plan-name:contains("Ø§ÙØ²Ø§ÛŒØ´") {
    color: #ea580c;
}

/* --- Total Price Section --- */
.acadia-drawer .tm-final-totals,
.acadia-drawer .tm-totals-form-main {
    margin-top: 20px;
    padding: 16px 18px;
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    border-radius: 12px;
    border: 1px solid #bae6fd;
}

.acadia-drawer .tm-final-totals .amount,
.acadia-drawer .tm-totals-form-main .price {
    font-size: 20px;
    font-weight: 800;
    color: #0369a1;
}

/* --- Add to Cart Button in Drawer --- */
.acadia-drawer .single_add_to_cart_button,
.acadia-drawer button[name="add-to-cart"] {
    width: 100%;
    padding: 16px 24px;
    margin-top: 16px;
    background: linear-gradient(135deg, var(--acadia-primary, #0274be) 0%, #0284c7 100%);
    color: #fff;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: filter 0.2s ease !important;
    box-shadow: none !important;
    transform: none !important;
}

.acadia-drawer .single_add_to_cart_button:hover,
.acadia-drawer button[name="add-to-cart"]:hover {
    filter: brightness(0.9) !important;
    box-shadow: none !important;
    transform: none !important;
    background: linear-gradient(135deg, var(--acadia-primary, #0274be) 0%, #0284c7 100%) !important;
}

/* --- Quantity Input in Drawer --- */
.acadia-drawer .quantity {
    display: none;
    /* Hide quantity for courses */
}

/* === HIDE UNWANTED ELEMENTS IN DRAWER === */

/* Hide features/courses sections at bottom of sidebar */
.acadia-drawer .product-features-wrapper,
.acadia-drawer .product-courses-wrapper,
.acadia-drawer .woocommerce-variation-add-to-cart .woocommerce-variation-price {
    display: none !important;
}

/* Hide form titles like "ÙØ±Ù… Ø«Ø¨ØªÙ†Ø§Ù… Ú©ÙˆØ±Ø³" */
.acadia-drawer .cpf-section>h5.tm-section-label:first-child,
.acadia-drawer h5.tm-section-label {
    display: none !important;
}

/* === STICKY FOOTER FOR PRICE & CART BUTTON === */
.acadia-drawer {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.acadia-drawer-content {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    padding-bottom: 10px;
    min-height: 0;
    /* Important for flex scroll */
}

/* Dedicated sticky footer container */
.acadia-drawer-footer {
    flex-shrink: 0;
    background: #fff;
    padding: 16px 20px;
    border-top: 2px solid #e2e8f0;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.1);
    z-index: 10;
}

.acadia-drawer-footer:empty {
    display: none;
}

/* Style totals inside footer - REMOVE outer border to prevent double frame */
.acadia-drawer-footer .tc-totals-form,
.acadia-drawer-footer #tm-epo-totals {
    margin: 0;
    padding: 0;
    border: none !important;
    background: none !important;
}

/* === TOTALS - SINGLE LINE LAYOUT === */
/* Target the dl container */
.acadia-drawer dl.tm-extra-product-options-totals,
.acadia-drawer .tm-custom-price-totals,
.acadia-drawer-footer dl.tm-extra-product-options-totals,
.acadia-sidebar-sheet-footer dl.tm-extra-product-options-totals,
.acadia-sidebar-sheet-footer .tm-custom-price-totals {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 20px !important;
    /* Horizontal padding only, height handled by min-height */
    margin: 0 0 12px 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 10px;
    min-height: 54px;
    /* Fixed height to match button */
}

/* Style dt (Ø¬Ù…Ø¹ Ú©Ù„ label) */
.acadia-drawer dl.tm-extra-product-options-totals dt.tm-final-totals,
.acadia-drawer-footer dt.tm-final-totals,
.acadia-sidebar-sheet-footer dt.tm-final-totals {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 16px;
    font-weight: 600;
    color: #334155;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
}

/* Style dd (price amount) */
.acadia-drawer dl.tm-extra-product-options-totals dd.tm-final-totals,
.acadia-drawer-footer dd.tm-final-totals,
.acadia-sidebar-sheet-footer dd.tm-final-totals {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
}

.acadia-drawer .tm-final-totals .amount,
.acadia-drawer .tm-totals-form-main .price,
.acadia-drawer .tc-totals-form-main .amount {
    font-size: 16px;
    font-weight: 800;
    color: #0369a1;
}

/* === ADD TO CART BUTTON FIX === */
.acadia-drawer .single_add_to_cart_button,
.acadia-drawer button[name="add-to-cart"],
.acadia-drawer-footer .single_add_to_cart_button,
.acadia-sidebar-sheet-footer .single_add_to_cart_button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    padding: 0 20px !important;
    /* Horizontal padding only */
    margin: 0 !important;
    background: linear-gradient(135deg, var(--acadia-primary, #0274be) 0%, #0284c7 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    min-height: 54px;
    /* Fixed height to match totals box */
    font-size: 15px !important;
    font-weight: 500 !important;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 14px rgba(2, 116, 190, 0.3);
    visibility: visible !important;
    opacity: 1 !important;
}

.acadia-drawer .single_add_to_cart_button:hover,
.acadia-drawer-footer .single_add_to_cart_button:hover,
.acadia-sidebar-sheet-footer .single_add_to_cart_button:hover {
    background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(2, 116, 190, 0.4);
}

/* === HIDE UNWANTED ELEMENTS === */

/* Hide features section, form titles, payment description */
.acadia-drawer .product-features-wrapper,
.acadia-drawer .product-courses-wrapper,
.acadia-drawer h5.tm-section-label,
.acadia-drawer .cpf-section>h5.tm-section-label:first-child,
.acadia-drawer .wc-deposits-wrapper>p:not(:first-child),
.acadia-drawer .woocommerce-variation-add-to-cart .woocommerce-variation-price,
.acadia-drawer .epo-tooltip-icon,
.acadia-drawer .epo-tooltip-content {
    display: none !important;
}

/* Hide "Ù…ÙˆØ¬ÙˆØ¯ÛŒ:" label (astra theme element) */
.acadia-drawer .ast-stock-avail,
.acadia-drawer span.ast-stock-avail {
    display: none !important;
}

/* Hide duplicate add-to-cart button in content area (keep only footer one) */
.acadia-drawer-content .single_add_to_cart_button,
.acadia-drawer .acadia-drawer-form-wrapper .single_add_to_cart_button {
    display: none !important;
}

/* === PRODUCT INFO IN PRODUCT CARD === */
.acadia-drawer-product-info {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 14px;
    padding: 16px;
    background: #f8fafc;
    border-radius: 12px;
    margin-bottom: 32px;
    border: 1px solid #e2e8f0;
}

.acadia-drawer-product-info img {
    width: 70px;
    height: 70px;
    object-fit: cover;
    border-radius: 10px;
    flex-shrink: 0;
    order: 1;
}

/* Product info text container - MUST be column layout */
.acadia-drawer-product-info>.product-text-wrapper,
.acadia-drawer-product-info>div:not(.drawer-stock-info):not(img),
.acadia-drawer-product-info>.product-info-text {
    flex: 1;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start;
    gap: 6px;
    order: 0;
}

/* Product title */
.acadia-drawer-product-info h4 {
    margin: 0;
    font-size: 19px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.4;
    width: 100%;
}

/* Stock info MUST be on new line below title */
.acadia-drawer-product-info .drawer-stock-info,
.acadia-drawer-product-info .stock {
    display: block !important;
    width: 100%;
    font-size: 15px;
    color: #16a34a;
    font-weight: 500;
    margin-top: 0;
    order: 2;
}

.acadia-drawer-product-info .out-of-stock {
    color: #dc2626;
}

/* Hide original stock element outside product card */
.acadia-drawer .stock:not(.drawer-stock-info):not(.acadia-drawer-product-info .stock) {
    display: none !important;
}

/* === SECTION TITLES (Ø±ÙˆØ´ Ø¨Ø±Ú¯Ø²Ø§Ø±ÛŒØŒ Ø§Ù…Ú©Ø§Ù†Ø§Øª Ø¬Ø§Ù†Ø¨ÛŒ) === */
/* Section container - no border on outer container, border on inner options */
.acadia-drawer .cpf-section {
    background: transparent;
    border: none;
    border-radius: 0;
    margin-bottom: 24px;
    overflow: visible;
}

/* Remove double border from nested containers */
.acadia-drawer .tc-extra-product-options,
.acadia-drawer .cpf-section .tm-extra-product-options-fields {
    border: none !important;
    border-radius: 0 !important;
}

/* Section header title - ABOVE the box, not inside */
.acadia-drawer .cpf-element>.tm-element-label,
.acadia-drawer .cpf-section .cpf-element>h5:not(.tm-section-label),
.acadia-drawer .cpf-element h5.tm-epo-element-label {
    display: block !important;
    padding: 0 0 12px 0;
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #1e293b;
    background: none;
    border: none;
    text-align: center;
}

/* Description text inside the section (before options) */
.acadia-drawer .cpf-section .tm-description,
.acadia-drawer .cpf-element>.tm-description {
    display: block !important;
    padding: 14px 16px;
    margin: 0 0 0 0;
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
    border: 1px solid #fcd34d;
    border-radius: 10px 10px 0 0;
    font-size: 13px;
    color: #92400e;
    line-height: 1.6;
    text-align: center;
}

/* Container for options */
.acadia-drawer .cpf-element {
    padding: 0;
}

/* === OPTION LAYOUT (RADIO / CHECKBOX) === */

/* List reset - remove extra border since section already has one */
.acadia-drawer .cpf-type-radio ul,
.acadia-drawer .cpf-type-checkbox ul,
.acadia-drawer .tm-extra-product-options-fields {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none;
    border-radius: 0;
    overflow: visible;
}

/* Options list container - with border */
.acadia-drawer li.tmcp-field-wrap,
.acadia-drawer .tm-extra-product-options-field {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #e2e8f0;
    background: #fff;
}

.acadia-drawer li.tmcp-field-wrap:first-child {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.acadia-drawer li.tmcp-field-wrap:last-child,
.acadia-drawer .tm-extra-product-options-field:last-child {
    border-bottom: none;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

/* Outer border for options container */
.acadia-drawer .cpf-type-radio ul,
.acadia-drawer .cpf-type-checkbox ul {
    border: 1px solid #e2e8f0;
    border-radius: 0 0 10px 10px;
    overflow: hidden;
}

/* Option row layout - INCREASED GAP for checkbox/radio spacing */
.acadia-drawer .tmcp-field-wrap>label,
.acadia-drawer .tm-extra-product-options-field>label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 24px !important;
    padding: 14px 16px !important;
    margin: 0 !important;
    cursor: pointer;
    transition: all 0.2s ease;
    background: #fff;
}

.acadia-drawer .tmcp-field-wrap>label:hover,
.acadia-drawer .tm-extra-product-options-field>label:hover {
    background: #f8fafc;
}

/* Input (radio/checkbox) - HIDDEN, selection shown by row highlight */
.acadia-drawer .tmcp-field-wrap input[type="radio"],
.acadia-drawer .tmcp-field-wrap input[type="checkbox"],
.acadia-drawer .tm-extra-product-options-field input[type="radio"],
.acadia-drawer .tm-extra-product-options-field input[type="checkbox"] {
    display: none !important;
}

/* Hide tc-input-wrap issues */
.acadia-drawer .tc-input-wrap {
    display: contents;
}

/* Label content wrapper - column layout for title + description */
.acadia-drawer .tc-label,
.acadia-drawer .tm-label-wrap {
    display: flex !important;
    flex: 1;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 4px;
    order: 1;
}

/* Title text */
.acadia-drawer .tc-label-text,
.acadia-drawer .tm-epo-element-label {
    font-size: 14px;
    font-weight: 600;
    color: #334155;
    flex: 1;
    min-width: 120px;
}

/* Description text - show as small text below title */
.acadia-drawer .tc-inline-description,
.acadia-drawer .tm-description {
    display: block !important;
    width: 100%;
    margin-top: 4px;
    font-size: 12px;
    color: #64748b;
    line-height: 1.5;
    font-weight: 400;
    order: 3;
}

/* Price on the right */
.acadia-drawer .tc-price-wrap,
.acadia-drawer .tc-price {
    font-size: 13px;
    font-weight: 700;
    color: #059669;
    direction: ltr;
    text-align: left;
    white-space: nowrap;
    order: 2;
}

/* Negative prices */
.acadia-drawer .tc-price.negative-price {
    color: #ea580c !important;
}

/* Selected state */
.acadia-drawer .tmcp-field-wrap:has(input:checked)>label,
.acadia-drawer .tm-extra-product-options-field:has(input:checked)>label {
    background: #eff6ff;
    border-right: 3px solid var(--acadia-primary, #0274be);
}

.acadia-drawer .cpf-type-checkbox .tmcp-field-wrap:has(input:checked)>label {
    background: #f0fdf4;
    border-right: 3px solid #16a34a;
}

/* === PAYMENT PLANS SECTION === */
/* Remove outer container styling to match class selection section */
.acadia-drawer .wc-deposits-wrapper {
    margin-top: 24px;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
}

/* Payment section title added by JS - right-aligned */
.acadia-drawer .payment-section-title {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 12px 0;
    padding: 0;
    text-align: right;
}

/* Hide original label */
.acadia-drawer .wc-deposits-wrapper>label:first-child {
    display: none;
}

/* Payment plans list - styled like class selection */
/* Payment plans list - styled like class selection */
/* Payment plans list - styled like class selection */
/* --- UNIFIED MINIMAL BOX DESIGN (Payment, Radios, Checkboxes) --- */

/* Base Container Styling */
.acadia-drawer .wc-deposits-payment-plans,
.acadia-drawer .tmcp-ul-wrap,
.acadia-drawer .tm-extra-product-options-checkbox,
.acadia-drawer .tm-extra-product-options-radio {
    list-style: none;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0;
    overflow: visible;
    background: transparent;
    display: flex;
    flex-direction: column;
    gap: 12px;
    /* Gap between boxes */
    flex-wrap: nowrap !important;
    /* FIX: Prevent items from wrapping to invisible columns */
    height: auto !important;
    /* FIX: Allow container to grow vertically */
}

/* Base Item Styling */
.acadia-drawer .wc-deposits-payment-plans li,
.acadia-drawer .tmcp-field-wrap {
    display: block !important;
    width: 100% !important;
    /* Ensure full width */
    padding: 0;
    margin: 0;
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    background: #fff;
    position: relative;
    overflow: hidden;
    float: none !important;
    /* Omnipresent clear fix for EPO */
}

.acadia-drawer .wc-deposits-payment-plans li:last-child,
.acadia-drawer .tmcp-field-wrap:last-child {
    border-bottom: 1.5px solid #e2e8f0;
}

.acadia-drawer .wc-deposits-payment-plans li:hover,
.acadia-drawer .tmcp-field-wrap:hover {
    border-color: #94a3b8;
}

/* Selected State */
.acadia-drawer .wc-deposits-payment-plans li:has(input:checked),
.acadia-drawer .tmcp-field-wrap.tc-active {
    background: rgba(0, 142, 250, 0.04);
    border: 1.5px solid #008EFA;
    margin-right: 0;
}

/* --- INDICATORS (Radio Circle & Checkbox Square) --- */

/* Base Indicator Shape */
.acadia-drawer .wc-deposits-payment-plans label::before,
.acadia-drawer .tm-epo-field-label::before {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border: 1.5px solid #cbd5e1;
    background: #fff;
    transition: all 0.2s ease;
    z-index: 10;
}

/* Radio Shape (Circle) */
.acadia-drawer .wc-deposits-payment-plans label::before,
.acadia-drawer .tm-extra-product-options-radio .tm-epo-field-label::before {
    border-radius: 50%;
}

/* Checkbox Shape (Square) - rounded corners for modern look */
.acadia-drawer .tm-extra-product-options-checkbox .tm-epo-field-label::before {
    border-radius: 4px;
}

/* Selected Indicator State */
.acadia-drawer .wc-deposits-payment-plans li:has(input:checked) label::before,
.acadia-drawer .tmcp-field-wrap.tc-active .tm-epo-field-label::before {
    border-color: #008EFA;
    border-width: 5px;
    /* Dot effect for Radio */
    background: #fff;
}

/* Selected Checkbox specific (Full fill or checkmark?) 
   User asked for "Square instead of Circle", usually implies filled square or checkmark.
   Let's do a filled square style matching the radio 'dot' logic initially.
*/
.acadia-drawer .tm-extra-product-options-checkbox .tmcp-field-wrap.tc-active .tm-epo-field-label::before {
    background: #008EFA;
    /* Solid fill for checkbox */
    border-width: 0;
    /* No inner dot, just fill */
    /* Optional: Add a checkmark icon if needed, but solid fill is minimal */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white' width='16px' height='16px'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
}


/* --- LABEL LAYOUT & SPACING --- */

.acadia-drawer .wc-deposits-payment-plans label,
.acadia-drawer .tm-epo-field-label {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100% !important;
    gap: 4px;
    /* Reduced vertical padding (10px) as requested */
    padding: 10px 50px 10px 16px !important;
    cursor: pointer;
    border-right: none !important;
    transition: all 0.2s ease;
}

/* Hide original inputs */
.acadia-drawer .wc-deposits-payment-plans input[type="radio"],
.acadia-drawer .tmcp-field-wrap input {
    display: none !important;
}

/* Remove old dividers globally */
.acadia-drawer .wc-deposits-payment-plans li,
.acadia-drawer .tmcp-field-wrap {
    border-bottom: 1.5px solid #e2e8f0;
    /* Default bottom border is actually the full border now */
}

/* Remove separator lines between sections */
.acadia-drawer .tc-section-inner-wrap,
.acadia-drawer .tm-extra-product-options-field {
    border-bottom: none !important;
}

.acadia-drawer hr {
    display: none !important;
}

/* Force remove inner border from label */
.acadia-drawer .wc-deposits-payment-plans li:has(input:checked) label,
.acadia-drawer .tmcp-field-wrap.tc-active label {
    border-right: none !important;
}

/* Payment plan name */
.acadia-drawer .wc-deposits-payment-plans .wc-deposits-payment-plan-name {
    font-size: 14px;
    font-weight: 600;
    color: #1e293b;
    margin: 0;
    padding: 0;
    text-align: right;
}

/* DISABLED - replaced by badge system
.acadia-drawer .wc-deposits-payment-plan-name.has-discount {
    color: #16a34a;
}

.acadia-drawer .wc-deposits-payment-plan-name.has-surcharge {
    color: #ea580c;
}
*/

/* Show payment description INSIDE the option */
.acadia-drawer .wc-deposits-payment-plans .wc-deposits-payment-plan-description {
    display: block !important;
    width: 100%;
    font-size: 12px;
    color: #64748b;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    text-align: right;
}

/* Hide payment description OUTSIDE the options list */
.acadia-drawer .wc-deposits-wrapper>p,
.acadia-drawer .wc-deposits-wrapper>.wc-deposits-payment-description,
.acadia-drawer .wc-deposits-payment-plans+p {
    display: none !important;
}

/* === DRAWER MOBILE RESPONSIVE === */
@media (max-width: 480px) {
    .acadia-drawer {
        width: 100%;
        max-width: 100%;
        border-radius: 0;
    }

    .acadia-drawer-content {
        padding: 16px;
    }

    .acadia-drawer .tc-label,
    .acadia-drawer .tm-label-wrap {
        flex-direction: column;
        align-items: flex-start;
    }

    .acadia-drawer .tc-price-wrap,
    .acadia-drawer .tc-price {
        order: 2;
        margin-top: 4px;
    }

    .acadia-drawer .tc-inline-description {
        font-size: 11px;
    }
}

/* Responsive - Removed 1024px breakpoint as it conflicts with desktop layout */

@media (max-width: 768px) {
    .acadia-hero-banner {
        margin-top: 0;
        padding-top: 40px;
    }
}

/* Custom Group Course Accordion */
.acadia-course-accordion {
    margin-top: 24px;
}

.acadia-accordion-item {
    border: 1px solid #e3e5eb;
    border-radius: 8px;
    margin-bottom: 15px;
    overflow: hidden;
    background: #fff;
    transition: all 0.3s ease;
}

.acadia-accordion-header {
    padding: 18px 25px;
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    background: #f8f9fc;
    color: #212327;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.3s ease;
}

.acadia-accordion-header::after {
    content: '';
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    margin-right: 15px;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.acadia-accordion-item .acadia-accordion-header.is-active {
    background-color: #f8f9fc !important;
    color: #212327 !important;
}

.acadia-accordion-item .acadia-accordion-header.is-active::after {
    transform: rotate(-135deg);
    margin-top: 5px;
}

.acadia-accordion-body {
    padding: 0;
    display: none;
    border-top: 1px solid #f1f3f9;
}

.acadia-accordion-body-content {
    padding: 20px 25px;
    color: #5b616f;
    line-height: 1.8;
}

.acadia-accordion-body-content p:last-child {
    margin-bottom: 0;
}

/* --- Dayche Curriculum UI Styles --- */
.dayche-curriculum {
    margin-top: 20px;
    direction: rtl;
}

/* Week Header - Subtle Inline Badge */
.curriculum-week-header {
    padding: 16px 0 8px 0;
    margin-top: 20px;
    margin-bottom: 8px;
    text-align: right;
}

.curriculum-week-header:first-child {
    margin-top: 0;
}

.curriculum-week-header .week-title {
    display: inline-block;
    padding: 4px 20px;
    font-size: 13px;
    font-weight: 600;
    color: #4a5568;
    background: #e2e8f0;
    border-radius: 4px;
}

/* Lesson Item */
.curriculum-lesson {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    margin-bottom: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.curriculum-lesson:hover {
    background: #f3f4f6;
    border-color: #d1d5db;
}

.curriculum-lesson.active {
    background: #f3f4f6;
    border-color: var(--acadia-primary);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/* Lesson Header */
.lesson-header {
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: default;
    transition: background 0.2s;
}

.curriculum-lesson.has-topics .lesson-header {
    cursor: pointer;
}

.curriculum-lesson.has-topics .lesson-header:hover {
    background: #f8fafc;
}

.lesson-main {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-grow: 1;
}

.lesson-icon {
    width: 20px;
    height: 20px;
    color: var(--acadia-primary);
    flex-shrink: 0;
}

.lesson-icon.online {
    color: #10b981;
}

.lesson-icon.calendar {
    color: #8b5cf6;
}

.lesson-icon.documents {
    color: #f59e0b;
}

.lesson-title {
    font-size: 15px;
    font-weight: 600;
    color: #1f2937;
    margin: 0;
    line-height: 1.5;
}

.lesson-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.lesson-duration {
    font-size: 13px;
    color: #6b7280;
    font-family: 'Vazirmatn', sans-serif;
    direction: ltr;
}

.lesson-lock {
    color: #9ca3af;
    display: flex;
    align-items: center;
}

.lesson-arrow {
    color: var(--acadia-text);
    display: flex;
    align-items: center;
    transition: transform 0.3s ease;
}

.curriculum-lesson.active .lesson-arrow {
    transform: rotate(180deg);
}

/* Topics Container */
.lesson-topics {
    display: none;
    padding: 0;
    background: #fff;
}

.curriculum-lesson.active .lesson-topics {
    display: block;
}

/* Topic Item - Flat Design */
.curriculum-topic {
    padding: 10px 20px;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: background 0.15s;
    border-bottom: 1px solid #f3f4f6;
}

.curriculum-topic:last-child {
    border-bottom: none;
}

.curriculum-topic:hover {
    background: #f9fafb;
}

.topic-main {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-grow: 1;
}

.topic-icon {
    width: 16px;
    height: 16px;
    color: var(--acadia-primary);
    flex-shrink: 0;
}

.topic-icon.audio {
    color: #8b5cf6;
}

.topic-icon.reading {
    color: #10b981;
}

.topic-title {
    font-size: 14px;
    font-weight: 500;
    color: #374151;
}

.topic-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.topic-duration {
    font-size: 12px;
    color: #6b7280;
    font-family: 'Vazirmatn', sans-serif;
    direction: ltr;
}

.topic-lock {
    color: #9ca3af;
    display: flex;
    align-items: center;
}

/* Skyroom Badge - Compact Design */
.skyroom-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
    margin-left: 8px;
}

.skyroom-badge .badge-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4px 10px;
    background: var(--acadia-primary);
    color: #fff;
    border-radius: 8px;
    line-height: 1.1;
    min-width: 36px;
}

.skyroom-badge .badge-group .group-label {
    font-size: 9px;
    font-weight: 400;
    opacity: 0.9;
}

.skyroom-badge .badge-group .group-number {
    font-size: 14px;
    font-weight: 700;
}

.skyroom-badge .badge-time {
    display: flex;
    align-items: center;
    padding: 4px 10px;
    background: #ef9b35;
    color: #fff;
    font-size: 10px;
    white-space: nowrap;
    border-radius: 14px;
}

.skyroom-badge.is-active .badge-time {
    background: #ef4444;
    animation: pulse-badge 2s infinite;
}

.skyroom-badge.is-upcoming .badge-time {
    background: #ef9b35;
}

/* If no group number, single badge style */
.skyroom-badge:not(:has(.badge-group)) .badge-time {
    border-radius: 14px;
}

@keyframes pulse-badge {

    0%,
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4);
    }

    50% {
        transform: scale(1.02);
        box-shadow: 0 0 0 8px rgba(239, 68, 68, 0);
    }
}

/* Online Session Lesson Styling - Blue */
.curriculum-lesson.online-session {
    border-right: 3px solid var(--acadia-primary);
}

.curriculum-lesson.online-session .lesson-title {
    color: var(--acadia-primary);
}

.curriculum-lesson.online-session .lesson-icon {
    color: var(--acadia-primary);
}

/* Lesson with Skyroom Badge - Light Blue Background */
.curriculum-lesson.has-skyroom {
    background: #e8f4fc;
    border-color: #d0e8f7;
}

.curriculum-lesson.has-skyroom:hover {
    background: #ddeef9;
}

/* Calendar Lesson Styling */
.curriculum-lesson.calendar {
    border-right: 3px solid #8b5cf6;
}

/* Documents Lesson Styling */
.curriculum-lesson.documents {
    border-right: 3px solid #f59e0b;
}

/* RTL Adjustments */
body.rtl .lesson-arrow {
    transform: scaleX(-1);
}

body.rtl .curriculum-lesson.active .lesson-arrow {
    transform: scaleX(-1) rotate(180deg);
}

/* Responsive */
@media (max-width: 768px) {
    .lesson-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .lesson-meta {
        width: 100%;
        justify-content: flex-end;
    }

    .lesson-title {
        font-size: 14px;
    }

    .curriculum-topic {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .topic-meta {
        width: 100%;
        justify-content: flex-end;
    }
}

/* Legacy class support */
.acadia-curriculum-modern {
    display: none;
}

/* Playable Topic Styling */
.curriculum-topic.is-playable {
    cursor: pointer;
}

.curriculum-topic.is-playable:hover {
    background: #f1f5f9;
}

.topic-play-badge {
    display: inline-block;
    padding: 2px 8px;
    font-size: 10px;
    font-weight: 600;
    color: #fff;
    background: #10b981;
    border-radius: 10px;
    margin-right: 8px;
}

/* Video Popup Modal */
.dayche-video-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.video-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
}

.video-modal-content {
    position: relative;
    width: 90%;
    max-width: 900px;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
    animation: modalFadeIn 0.3s ease;
}

@keyframes modalFadeIn {
    from {
        opacity: 0;
        transform: scale(0.9) translateY(20px);
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.video-modal-close {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 36px;
    height: 36px;
    border: none;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    font-size: 24px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.video-modal-close:hover {
    background: rgba(0, 0, 0, 0.8);
    transform: scale(1.1);
}

.video-modal-title {
    padding: 16px 20px;
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #1a202c;
    background: #f7fafc;
    border-bottom: 1px solid #e2e8f0;
    text-align: right;
    direction: rtl;
}

.video-modal-player {
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 aspect ratio */
    height: 0;
    background: #000;
}

.video-modal-player iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Modal Mobile Adjustments */
@media (max-width: 768px) {
    .video-modal-content {
        width: 95%;
        max-width: none;
        border-radius: 12px;
    }

    .video-modal-title {
        padding: 12px 16px;
        font-size: 14px;
    }
}

/* Instructor Cards */
.acadia-instructor-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.acadia-instructor-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: all 0.3s ease;
}

.acadia-instructor-card:hover {
    border-color: var(--acadia-primary, #2563eb);
    transform: translateY(-2px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.acadia-instructor-card .avatar {
    margin-bottom: 16px;
}

.acadia-instructor-card .avatar img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #f8fafc;
}

.acadia-instructor-card .name {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 8px;
    text-decoration: none;
}

.acadia-instructor-card .bio {
    font-size: 0.9rem;
    color: #64748b;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* --- Instructor Horizontal Card --- */
.acadia-instructor-card-horizontal {
    display: flex;
    flex-direction: row;
    gap: 20px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 24px;
    align-items: flex-start;
    transition: all 0.3s ease;
}

.acadia-instructor-card-horizontal:hover {
    border-color: var(--acadia-primary, #2563eb);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.acadia-instructor-card-horizontal .avatar-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    min-width: 120px;
}

.acadia-instructor-card-horizontal .avatar-col img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #f1f5f9;
}

.acadia-instructor-card-horizontal .details-col {
    flex: 1;
}

.acadia-instructor-card-horizontal .instructor-name {
    font-size: 1.25rem;
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 10px;
    font-family: inherit;
    /* Use theme font */
}

.acadia-instructor-card-horizontal .bio {
    font-size: 0.95rem;
    color: #64748b;
    line-height: 1.7;
}

/* Social Icons */
.social-row {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    /* Left aligned in RTL */
    width: 100%;
}

.soc-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    /* Larger */
    height: 32px;
    /* Larger */
    border-radius: 6px;
    background: #f1f5f9;
    color: #94a3b8;
    text-decoration: none;
    transition: all 0.2s;
    font-size: 14px;
    font-weight: bold;
}

/* Active Colors */
.soc-icon.linkedin:hover {
    background: #0077b5;
    color: #fff;
}

.soc-icon.github:hover {
    background: #333;
    color: #fff;
}

.soc-icon.kaggle:hover {
    background: #20beff;
    color: #fff;
}

.soc-icon.inactive {
    opacity: 0.4;
    cursor: default;
}

/* --- Hero Typography Improvements --- */
.acadia-hero-meta a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.acadia-hero-meta a:hover {
    color: var(--acadia-primary, #2563eb);
}

.acadia-hero-meta .meta-item .info .label,
.acadia-hero-meta .meta-item .info .review-count {
    font-size: 0.95rem !important;
    /* Larger label & Review count */
    opacity: 0.8;
}

.acadia-hero-meta .meta-item .info .val {
    font-size: 0.95rem !important;
    /* Revert to smaller/medium size (match label roughly or slightly bold) */
    font-weight: 700;
}

/* Star Rating Size */
.acadia-hero-meta .star-rating {
    font-size: 1.2rem;
    /* Even bigger stars */
    width: 6.2em;
    position: relative;
    top: 2px;
    /* Visual alignment */
}

/* Instructor Link in Hero */
a.acadia-hero-link {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s;
}

a.acadia-hero-link:hover {
    color: var(--acadia-primary, #2563eb);
}

/* Price adjustment */
.acadia-hero-action .price-box {
    font-size: 1.5rem;
}

/* =========================================
   Final Refinements & Layout Restoration
   ========================================= */

/* 1. Hero Links: Inherit color/Blue Hover */
.acadia-hero-meta a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.acadia-hero-meta a:hover {
    color: var(--acadia-primary, #2563eb);
}

/* 2. Instructor Grid: 1 Column */
.acadia-instructor-grid {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 24px;
}

/* 3. Social Icons: Base Styles */
.social-row {
    display: flex;
    gap: 12px;
    width: 100%;
    margin-top: 5px;
}

.soc-icon {
    width: 36px !important;
    height: 36px !important;
    font-size: 18px !important;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.soc-icon svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

/* =========================================
   Social Icons: Colorful by Default
   ========================================= */
.soc-icon.linkedin {
    background: #0077b5 !important;
    color: #fff !important;
}

.soc-icon.linkedin:hover {
    background: #006097 !important;
    transform: translateY(-3px);
    box-shadow: 0 4px 6px rgba(0, 119, 181, 0.3);
}

.soc-icon.github {
    background: #333 !important;
    color: #fff !important;
}

.soc-icon.github:hover {
    background: #000 !important;
    transform: translateY(-3px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
}

.soc-icon.kaggle {
    background: #20beff !important;
    color: #fff !important;
}

.soc-icon.kaggle:hover {
    background: #00a2e3 !important;
    transform: translateY(-3px);
    box-shadow: 0 4px 6px rgba(32, 190, 255, 0.3);
}

.soc-icon.inactive {
    background: #e2e8f0 !important;
    color: #94a3b8 !important;
    opacity: 0.7 !important;
}

/* =========================================
   New Instructor Card Layout (Right Profile / Left Socials)
   ========================================= */
.acadia-instructor-card-horizontal {
    display: flex;
    /* Ensure flex behavior */
    justify-content: space-between !important;
    align-items: center !important;
    padding: 24px 30px !important;
    background-color: #f9fafb !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px;
}

/* Right Side Group (Avatar + Details) */
.inst-profile-right {
    display: flex;
    align-items: center;
    gap: 24px;
    text-align: right;
}

/* Avatar Wrapper */
.inst-avatar-wrap img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #f1f5f9;
}

/* Details Wrapper */
.inst-details-wrap {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.inst-details-wrap .instructor-name {
    font-size: 1.3rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 4px;
}

.inst-details-wrap .bio {
    font-size: 0.95rem;
    color: #64748b;
    line-height: 1.6;
    margin: 0;
}

.inst-details-wrap .bio p {
    margin: 0 0 4px 0;
}

/* Left Side Group (Socials) */
.inst-socials-left {
    display: flex;
    align-items: center;
}

.acadia-instructor-card-horizontal .social-row {
    justify-content: flex-end;
    /* Left in RTL */
    margin-top: 0;
    gap: 12px;
}

/* Increase Star Rating Size */
.acadia-hero-meta .star-rating {
    font-size: 1.5rem !important;
    /* Even bigger than 1.2rem */
    width: 6.8em !important;
    /* Adjusted width for bigger stars */
}


/* Fix Star Rating Appearance (State A) */
.acadia-hero-meta .star-rating {
    font-family: 'star' !important;
    /* Force correct font */
    font-weight: 400 !important;
    /* Normal weight */
    font-size: 1.5rem !important;
    width: 5.5em !important;
    /* Standard width in em */
    letter-spacing: 0 !important;
    /* No gaps */
}

.acadia-hero-meta .star-rating::before {
    content: '\53\53\53\53\53' !important;
    /* Ensure content is correct */
    color: #ffd700 !important;
    /* Gold */
    opacity: 0.25 !important;
    /* Background opacity */
}

.acadia-hero-meta .star-rating span::before {
    content: '\53\53\53\53\53' !important;
    /* Ensure content is correct */
    color: #ffd700 !important;
    /* Gold */
}


/* Resize Stars to Match Bottom (Step 566) */
.acadia-hero-meta .star-rating {
    font-size: 1em !important;
    /* Standard size */
    width: 5.4em !important;
    /* Standard width */
}


/* Hide text inside Star Rating (Fix Loading Glitch) */
.acadia-hero-meta .star-rating {
    overflow: hidden !important;
    white-space: nowrap !important;
    color: transparent !important;
    /* Hides text */
}

/* Ensure stars remain visible */
.acadia-hero-meta .star-rating::before,
.acadia-hero-meta .star-rating span::before {
    color: #ffd700 !important;
    /* Gold */
    opacity: 1 !important;
    /* Reset opacity logic if needed or handle separately */
}

/* Re-apply background opacity for empty stars if needed, or rely on previous rule */
.acadia-hero-meta .star-rating::before {
    opacity: 0.25 !important;
}


/* Darker Empty Stars in Hero (Step 587) */
.acadia-hero-meta .star-rating::before {
    color: #cbd5e1 !important;
    /* Slate 300 - Visible gray */
    opacity: 1 !important;
    /* Full opacity for visibility */
}

/* Ensure filled stars are still Gold */
.acadia-hero-meta .star-rating span::before {
    color: #ffd700 !important;
    opacity: 1 !important;
}


/* =========================================
   Typography Refinements (Step 674 Restart)
   ========================================= */

/* 1. Reduce Review Form Title Size */
#reply-title,
.comment-reply-title {
    font-size: 1.1rem !important;
    /* Reduced */
    font-weight: 700 !important;
    margin-bottom: 20px !important;
}

/* 2. Reduce Review Labels Size & Weight */
.comment-form-rating label,
.comment-form-comment label {
    font-size: 0.9rem !important;
    /* Smaller (14-15px) */
    font-weight: 400 !important;
    /* Not Bold */
    color: #475569 !important;
    /* Soft Slate */
}


/* Increase Syllabus/Curriculum Font Size (Course Mode) */
#tab-curriculum,
#tab-curriculum .ld-item-list-item-preview .ld-item-name,
#tab-curriculum .ld-item-list-item-preview .ld-status-icon,
#tab-curriculum .ld-lesson-item-preview-heading {
    font-size: 1rem !important;
    /* Match Overview Tab */
    line-height: 1.8 !important;
}

/* Ensure LearnDash inner text is also resized */
#tab-curriculum .ld-item-list-item-preview {
    font-size: 1rem !important;
}

/* Adjust icons if needed */
#tab-curriculum .ld-status-icon {
    transform: scale(1.1);
}


/* =========================================
   DRAWER OPTIONS - CLEAN CONSOLIDATED CSS
   (Cleaned up on 2024-12-29)
   ========================================= */

/* --- CONTAINER RESET --- */
.acadia-drawer .wc-deposits-payment-plans,
.acadia-drawer .tm-extra-product-options-container,
.acadia-drawer .cpf-element {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

/* --- CHECKBOX ITEMS (امکانات جانبی) --- */
.acadia-drawer .tmcp-field-wrap {
    display: flex !important;
    align-items: flex-start !important;
    gap: 16px !important;
    padding: 12px !important;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    cursor: pointer;
    transition: all 0.2s ease;
    width: 100% !important;
    box-sizing: border-box !important;
}

.acadia-drawer .tmcp-field-wrap:hover {
    border-color: #94a3b8 !important;
}

/* Checkbox Selected */
.acadia-drawer .tmcp-field-wrap:has(input:checked) {
    border: 1.5px solid #16a34a !important;
    background-color: rgba(22, 163, 74, 0.04) !important;
}

/* Checkbox Input - Native Styled */
.acadia-drawer .tmcp-field-wrap input[type='checkbox'] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    border-radius: 4px !important;
    border: 1px solid #cbd5e1 !important;
    background: #fff !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    position: relative !important;
    margin: 2px 0 0 0 !important;
}

.acadia-drawer .tmcp-field-wrap input[type='checkbox']:checked {
    background: #16a34a !important;
    border-color: #16a34a !important;
}

.acadia-drawer .tmcp-field-wrap input[type='checkbox']:checked::after {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 2px !important;
    left: 5px !important;
    width: 5px !important;
    height: 10px !important;
    border: solid #fff !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
}

/* Checkbox Label Content */
.acadia-drawer .tmcp-field-wrap label {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    cursor: pointer !important;
}

/* --- PAYMENT ITEMS (روش پرداخت) --- */
.acadia-drawer .wc-deposits-payment-plans li.wc-deposits-payment-plan {
    display: flex !important;
    align-items: flex-start !important;
    gap: 16px !important;
    padding: 12px !important;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    cursor: pointer;
    transition: all 0.2s ease;
    margin: 0 !important;
}

.acadia-drawer .wc-deposits-payment-plans li.wc-deposits-payment-plan:hover {
    border-color: #94a3b8 !important;
}

/* Radio Selected */
.acadia-drawer .wc-deposits-payment-plans li:has(input:checked) {
    border: 1.5px solid #008EFA !important;
    background-color: rgba(0, 142, 250, 0.04) !important;
}

/* Radio Input - Native Styled */
.acadia-drawer .wc-deposits-payment-plans input[type='radio'] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    border-radius: 50% !important;
    border: 1px solid #cbd5e1 !important;
    background: #fff !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    margin: 2px 0 0 0 !important;
}

.acadia-drawer .wc-deposits-payment-plans input[type='radio']:checked {
    border: 5px solid #008EFA !important;
    background: #fff !important;
}

/* Payment Label */
.acadia-drawer .wc-deposits-payment-plans label {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    cursor: pointer !important;
    text-align: right !important;
}

/* Payment Title */
.acadia-drawer .wc-deposits-payment-plan-name {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1e293b !important;
    display: block !important;
}

/* Payment Description */
.acadia-drawer .wc-deposits-payment-plan-description {
    font-size: 12px !important;
    color: #64748b !important;
    line-height: 1.5 !important;
    display: block !important;
}

/* --- SECTION TITLES --- */
/* Hide Registration Form Title */
.acadia-drawer .tc-section-label-text,
.acadia-drawer .tc-section-label {
    display: none !important;
}

/* Options Section Title */
.acadia-drawer .tc-epo-element-label-text {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    display: block !important;
    margin-bottom: 12px !important;
}

/* Payment Section Title */
.acadia-drawer .wc-deposits-wrapper>label:first-child {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin-bottom: 12px !important;
    display: block !important;
}


/* =========================================
   FIX: Checkbox Items Spacing (margin-top instead of gap)
   ========================================= */

/* Reset parent container to allow expansion */
.acadia-drawer .cpf-element,
.acadia-drawer .tm-extra-product-options-container,
.acadia-drawer .tc-element-inner-wrap,
.acadia-drawer .tmcp-ul-wrap {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

/* Use margin-top for spacing (not gap) */
.acadia-drawer .tmcp-field-wrap:not(:first-child) {
    margin-top: 12px !important;
}

/* Remove any flex gap that might cause issues */
.acadia-drawer .tm-extra-product-options-container,
.acadia-drawer .cpf-element {
    gap: 0 !important;
}

/* FIX: Ensure proper stacking and no overlap */
.acadia-drawer .cpf-element,
.acadia-drawer .tm-extra-product-options-container,
.acadia-drawer .tc-section-inner-wrap,
.acadia-drawer .tmcp-ul-wrap {
    position: relative !important;
    display: block !important;
}

/* Ensure EPO section takes proper space */
.acadia-drawer .tm-extra-product-options {
    position: relative !important;
    height: auto !important;
    min-height: unset !important;
    overflow: visible !important;
}

/* Separate sections with proper margin */
.acadia-drawer .wc-deposits-wrapper {
    margin-top: 24px !important;
}

/* =========================================
   FIX: Payment Items Hover (Full Card)
   ========================================= */

/* Hover on LI (full card) */
.acadia-drawer .wc-deposits-payment-plans li.wc-deposits-payment-plan:hover {
    background-color: #f1f5f9 !important;
    border-color: #94a3b8 !important;
}

/* Remove any hover effect from label */
.acadia-drawer .wc-deposits-payment-plans label:hover,
.acadia-drawer .wc-deposits-payment-plans label {
    background: transparent !important;
}

/* =========================================
   UNIFIED STYLES - Hover & Selected (FINAL)
   ========================================= */

/* Default State */
.acadia-drawer .tmcp-field-wrap,
.acadia-drawer .wc-deposits-payment-plans li.wc-deposits-payment-plan {
    border: 1px solid #e2e8f0 !important;
    background: #fff !important;
}

/* Hover State */
.acadia-drawer .tmcp-field-wrap:hover,
.acadia-drawer .wc-deposits-payment-plans li.wc-deposits-payment-plan:hover {
    background-color: #f1f5f9 !important;
    border-color: #94a3b8 !important;
}

/* Selected State (Same as Hover) */
.acadia-drawer .tmcp-field-wrap:has(input:checked),
.acadia-drawer .wc-deposits-payment-plans li:has(input:checked) {
    background-color: #f1f5f9 !important;
    border-color: #94a3b8 !important;
}

/* Checkbox Button */
.acadia-drawer input[type='checkbox']:checked {
    background: #16a34a !important;
    border-color: #16a34a !important;
}

/* Radio Button */
.acadia-drawer .wc-deposits-payment-plans input[type='radio']:checked {
    border: 5px solid #16a34a !important;
}

/* =========================================
   HIDE MOBILE-ONLY ELEMENTS ON DESKTOP
   ========================================= */

.acadia-mobile-cta-bar,
.acadia-sidebar-sheet,
.acadia-sidebar-sheet-overlay {
    display: none !important;
}

/* =========================================
   RESPONSIVE STYLES - Mobile (< 768px)
   ========================================= */

@media screen and (max-width: 991px) {

    /* Tablet adjustments */
    .acadia-grid {
        grid-template-columns: 1fr 340px;
        gap: 30px;
    }

    .acadia-sidebar-col {
        margin-top: -200px;
    }

    .acadia-title {
        font-size: 30px;
    }
}

@media screen and (max-width: 768px) {

    /* ===== HERO BANNER - Mobile ===== */
    .acadia-hero-banner {
        padding: 90px 0 20px;
        margin-top: -80px;
    }

    .acadia-container {
        padding: 0 10px;
    }

    /* Hide breadcrumbs on mobile */
    .acadia-breadcrumbs {
        display: none;
    }

    /* Category badges - move up */
    .acadia-category-badges {
        overflow-x: auto;
        white-space: nowrap;
        margin-bottom: 10px;
        margin-top: -30px;
        -webkit-overflow-scrolling: touch;
    }

    .acadia-category-badges .badge {
        font-size: 10px;
        padding: 3px 8px;
    }

    /* Title - LARGER on mobile */
    .acadia-title {
        font-size: 26px;
        line-height: 1.3;
        margin-bottom: 12px;
    }

    /* Hero content - full width on mobile */
    .acadia-hero-content {
        max-width: 100%;
    }

    /* Hero meta - 2x2 grid, auto-sized columns, aligned boxes */
    .acadia-hero-meta {
        display: grid;
        grid-template-columns: auto auto;
        justify-content: start;
        gap: 6px;
        align-items: stretch;
        margin-top: 20px;
        width: 100%;
    }

    .acadia-hero-meta .meta-item {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        text-align: right;
        gap: 6px;
        padding: 6px 10px;
        background: rgba(255, 255, 255, 0.95);
        border-radius: 8px;
        border: 1px solid rgba(0, 0, 0, 0.08);
        min-height: 42px;
    }

    .acadia-hero-meta .meta-item .info {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        flex: 1;
        min-width: 0;
    }

    .acadia-hero-meta .meta-item.instructor .avatar {
        margin-bottom: 0;
        flex-shrink: 0;
    }

    .acadia-hero-meta .meta-item.instructor .avatar img {
        width: 36px;
        height: 36px;
    }

    .acadia-hero-meta .label {
        font-size: 10px;
        margin-bottom: 2px;
        color: var(--acadia-text-gray);
    }

    .acadia-hero-meta .val {
        font-size: 12px;
        font-weight: 600;
        line-height: 1.3;
    }

    .acadia-hero-meta .val a {
        color: inherit;
    }

    .acadia-hero-meta .review-count {
        font-size: 10px;
    }

    .acadia-hero-meta .star-rating {
        font-size: 12px;
        width: 70px;
    }

    /* ===== MAIN GRID - Single Column ===== */
    .acadia-grid {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .acadia-content-col {
        order: 1;
        width: 100%;
    }

    /* Hide sidebar column on mobile - will use bottom-sheet instead */
    .acadia-sidebar-col {
        display: none;
    }

    /* ===== STICKY BOTTOM CTA BAR ===== */
    .acadia-mobile-cta-bar {
        position: fixed;
        bottom: 70px;
        /* Above mobile nav */
        left: 0;
        right: 0;
        background: #fff;
        padding: 10px 15px;
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.12);
        z-index: 999;
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 10px;
    }

    .acadia-mobile-cta-bar .cta-buttons {
        display: flex;
        gap: 10px;
        width: 100%;
        justify-content: center;
        align-items: center;
    }

    .acadia-mobile-cta-bar .btn-buy {
        background: var(--acadia-primary);
        color: #fff;
        padding: 12px 24px;
        border-radius: 8px;
        font-size: 14px;
        font-weight: 500;
        border: none;
        cursor: pointer;
        white-space: nowrap;
    }

    .acadia-mobile-cta-bar .btn-contact {
        background: #f5f5f5;
        color: var(--acadia-text);
        padding: 12px 16px;
        border-radius: 8px;
        font-size: 14px;
        font-weight: 500;
        border: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .acadia-mobile-cta-bar .btn-contact svg {
        width: 20px;
        height: 20px;
    }

    /* ===== SIDEBAR AS BOTTOM SHEET ===== */
    .acadia-sidebar-sheet {
        position: fixed;
        bottom: 70px;
        left: 0;
        right: 0;
        top: auto;
        width: 100%;
        max-width: 100%;
        height: calc(75vh - 70px);
        background: #fff;
        border-radius: 20px 20px 0 0;
        box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.2);
        z-index: 9999;
        transform: translateY(100%);
        transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1);
        overflow: hidden;
        display: flex !important;
        flex-direction: column;
    }

    .acadia-sidebar-sheet.active {
        transform: translateY(0);
    }

    /* Header styling */
    .acadia-sidebar-sheet-header {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 12px 16px;
        border-bottom: 1px solid #eee;
        flex-shrink: 0;
    }

    .acadia-sidebar-sheet-header h3 {
        margin: 0;
        font-size: 16px;
        font-weight: 600;
    }

    /* Content area scrollable */
    .acadia-sidebar-sheet-content {
        flex: 1;
        overflow-y: auto;
        padding: 16px;
        -webkit-overflow-scrolling: touch;
    }

    /* Footer sticky at bottom */
    .acadia-sidebar-sheet-footer {
        flex-shrink: 0;
        padding: 12px 16px;
        border-top: 2px solid #e2e8f0;
        background: #fff;
        box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.1);
    }

    .acadia-sidebar-sheet-footer:empty {
        display: none;
    }

    .acadia-sidebar-sheet-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 15px 20px;
        border-bottom: 1px solid #eee;
        flex-shrink: 0;
    }

    .acadia-sidebar-sheet-header h4 {
        margin: 0;
        font-size: 16px;
        font-weight: 600;
    }

    .acadia-sidebar-sheet-close {
        background: #f5f5f5;
        border: none;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        font-size: 20px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .acadia-sidebar-sheet-content {
        flex: 1;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 20px;
    }

    /* Bottom sheet inherits drawer styling */
    .acadia-sidebar-sheet-content .acadia-drawer-product-info {
        display: flex;
        align-items: center;
        gap: 15px;
        padding-bottom: 15px;
        border-bottom: 1px solid #eee;
        margin-bottom: 20px;
    }

    .acadia-sidebar-sheet-content .acadia-drawer-product-info img {
        width: 80px;
        height: 80px;
        object-fit: cover;
        border-radius: 8px;
    }

    .acadia-sidebar-sheet-content .acadia-drawer-product-info h4 {
        margin: 0;
        font-size: 16px;
        font-weight: 600;
        line-height: 1.4;
    }

    /* ===== BOTTOM SHEET INHERITS DRAWER STYLING ===== */

    /* Make WooCommerce form match drawer style */
    .acadia-sidebar-sheet-content .acadia-drawer-form-wrapper {
        direction: rtl;
    }

    /* === VARIATION RADIOS (روش برگزاری کلاس) === */
    .acadia-sidebar-sheet .variations,
    .acadia-sidebar-sheet .cpf-type-radio {
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        overflow: hidden;
        margin-bottom: 15px;
    }

    .acadia-sidebar-sheet .variations tr,
    .acadia-sidebar-sheet .cpf-type-radio .tmcp-field-wrap {
        display: block;
        border-bottom: 1px solid #f1f5f9;
    }

    .acadia-sidebar-sheet .variations tr:last-child,
    .acadia-sidebar-sheet .cpf-type-radio .tmcp-field-wrap:last-child {
        border-bottom: none;
    }

    .acadia-sidebar-sheet .variations label,
    .acadia-sidebar-sheet .cpf-type-radio label {
        display: block;
        padding: 12px 16px 12px 40px;
        position: relative;
        cursor: pointer;
        font-size: 13px;
        transition: all 0.2s ease;
    }

    .acadia-sidebar-sheet .variations label:hover,
    .acadia-sidebar-sheet .cpf-type-radio label:hover {
        background: #f8fafc;
    }

    .acadia-sidebar-sheet .variations input[type="radio"],
    .acadia-sidebar-sheet .cpf-type-radio input[type="radio"] {
        position: absolute;
        right: auto;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        width: 16px;
        height: 16px;
        accent-color: var(--acadia-primary, #0274be);
    }

    .acadia-sidebar-sheet .variations input[type="radio"]:checked+label,
    .acadia-sidebar-sheet .cpf-type-radio input[type="radio"]:checked+label {
        background: #eff6ff;
        border-right: 3px solid var(--acadia-primary, #0274be);
    }

    /* === DEPOSITS / PAYMENT PLANS === */
    .acadia-sidebar-sheet .wc-deposits-wrapper {
        margin-top: 15px;
        padding-top: 15px;
        border-top: 1px solid #e2e8f0;
    }

    .acadia-sidebar-sheet .wc-deposits-wrapper>label,
    .acadia-sidebar-sheet .wc-deposits-wrapper>p {
        font-size: 14px;
        font-weight: 600;
        color: #1e293b;
        margin-bottom: 10px;
        display: block;
    }

    .acadia-sidebar-sheet .wc-deposits-payment-plans {
        list-style: none;
        padding: 0;
        margin: 0;
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        overflow: hidden;
    }

    .acadia-sidebar-sheet .wc-deposits-payment-plans li {
        padding: 0;
        margin: 0;
        border-bottom: 1px solid #f1f5f9;
    }

    .acadia-sidebar-sheet .wc-deposits-payment-plans li:last-child {
        border-bottom: none;
    }

    .acadia-sidebar-sheet .wc-deposits-payment-plans label {
        display: block;
        padding: 12px 16px 12px 40px;
        position: relative;
        cursor: pointer;
        transition: all 0.2s ease;
    }

    .acadia-sidebar-sheet .wc-deposits-payment-plans input[type="radio"] {
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        width: 16px;
        height: 16px;
        accent-color: var(--acadia-primary, #0274be);
    }

    .acadia-sidebar-sheet .wc-deposits-payment-plan-name {
        display: block;
        font-size: 13px;
        font-weight: 600;
        color: #1e293b;
        margin-bottom: 3px;
    }

    .acadia-sidebar-sheet .wc-deposits-payment-plan-description {
        display: block;
        font-size: 11px;
        color: #64748b !important;
        line-height: 1.4;
    }

    /* === TOTALS SECTION === */
    .acadia-sidebar-sheet .tm-final-totals,
    .acadia-sidebar-sheet .tm-totals-form-main {
        margin-top: 15px;
        padding: 12px 14px;
        background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
        border-radius: 10px;
        border: 1px solid #bae6fd;
    }

    .acadia-sidebar-sheet .tm-final-totals .amount,
    .acadia-sidebar-sheet .tm-totals-form-main .price {
        font-size: 16px;
        font-weight: 800;
        color: #0369a1;
    }

    /* === ADD TO CART BUTTON === */
    .acadia-sidebar-sheet .single_add_to_cart_button,
    .acadia-sidebar-sheet button[name="add-to-cart"] {
        display: block !important;
        width: 100% !important;
        padding: 14px 20px !important;
        margin-top: 15px !important;
        background: linear-gradient(135deg, var(--acadia-primary, #0274be) 0%, #0284c7 100%) !important;
        color: #fff !important;
        border: none !important;
        border-radius: 10px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        cursor: pointer;
        box-shadow: 0 4px 14px rgba(2, 116, 190, 0.3);
    }

    /* Force hide the original button in the content area (since JS clone is in footer) */
    .acadia-sidebar-sheet .acadia-sidebar-sheet-content .single_add_to_cart_button,
    #sidebar-sheet>div.acadia-sidebar-sheet-content>div.acadia-drawer-form-wrapper form>button {
        display: none !important;
    }

    /* === HIDE UNWANTED ELEMENTS === */
    .acadia-sidebar-sheet .quantity,
    .acadia-sidebar-sheet .product-features-wrapper,
    .acadia-sidebar-sheet .product-courses-wrapper,
    .acadia-sidebar-sheet h5.tm-section-label,
    .acadia-sidebar-sheet .cpf-section>h5.tm-section-label:first-child {
        display: none !important;
    }

    /* === STICKY FOOTER === */
    .acadia-sidebar-sheet-footer {
        flex-shrink: 0;
        background: #fff;
        padding: 12px 16px;
        border-top: 2px solid #e2e8f0;
        box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.1);
        z-index: 10;
    }

    .acadia-sidebar-sheet-footer:empty {
        display: none;
    }

    /* New wrapper for totals in footer */
    .acadia-sidebar-sheet-footer .sheet-footer-totals {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 10px 14px !important;
        margin: 0 0 10px 0 !important;
        background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
        border-radius: 8px;
        border: 1px solid #bae6fd;
    }

    .acadia-sidebar-sheet-footer .sheet-footer-totals dt,
    .acadia-sidebar-sheet-footer .sheet-footer-totals .tm-final-totals-label {
        display: inline-block !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 13px;
        font-weight: 600;
        color: #334155;
        background: none !important;
        border: none !important;
    }

    .acadia-sidebar-sheet-footer .sheet-footer-totals dd,
    .acadia-sidebar-sheet-footer .sheet-footer-totals .tm-final-totals-value {
        display: inline-block !important;
        margin: 0 !important;
        padding: 0 !important;
        background: none !important;
        border: none !important;
    }

    .acadia-sidebar-sheet-footer .sheet-footer-totals .amount {
        font-size: 15px;
        font-weight: 800;
        color: #0369a1;
    }

    /* Styling for entire tc-totals-form when moved to footer */
    .acadia-sidebar-sheet-footer .tc-totals-form,
    .acadia-sidebar-sheet-footer #tm-epo-totals {
        margin: 0 0 10px 0 !important;
        padding: 0 !important;
        background: none !important;
        border: none !important;
    }

    /* Hide non-essential rows - show only final total */
    .acadia-sidebar-sheet-footer .tc-totals-form dt:not(.tm-final-totals),
    .acadia-sidebar-sheet-footer .tc-totals-form dd:not(.tm-final-totals),
    .acadia-sidebar-sheet-footer #tm-epo-totals dt:not(.tm-final-totals),
    .acadia-sidebar-sheet-footer #tm-epo-totals dd:not(.tm-final-totals) {
        display: none !important;
    }

    /* Style the final totals row */
    .acadia-sidebar-sheet-footer dl.tm-extra-product-options-totals {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 10px 14px !important;
        margin: 0 !important;
        background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
        border-radius: 8px;
        border: 1px solid #bae6fd;
    }

    .acadia-sidebar-sheet-footer dt.tm-final-totals {
        display: inline-block !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 13px;
        font-weight: 600;
        color: #334155;
        background: none !important;
        border: none !important;
    }

    .acadia-sidebar-sheet-footer dd.tm-final-totals {
        display: inline-block !important;
        margin: 0 !important;
        padding: 0 !important;
        background: none !important;
        border: none !important;
    }

    .acadia-sidebar-sheet-footer .amount {
        font-size: 15px;
        font-weight: 800;
        color: #0369a1;
    }

    .acadia-sidebar-sheet-footer .single_add_to_cart_button,
    .acadia-sidebar-sheet-footer .single_add_to_cart_button.in-footer {
        display: block !important;
        width: 100% !important;
        padding: 14px 18px !important;
        background: linear-gradient(135deg, var(--acadia-primary, #0274be) 0%, #0284c7 100%) !important;
        color: #fff !important;
        border: none !important;
        border-radius: 10px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        cursor: pointer;
        box-shadow: none;
        margin: 0 !important;
        transition: filter 0.2s ease;
    }

    .acadia-sidebar-sheet-footer .single_add_to_cart_button:hover {
        filter: brightness(0.9);
    }

    /* === UNIFIED OPTION BOX STYLING === */
    /* All sections: variations, deposits, EPO radios, EPO checkboxes */
    .acadia-sidebar-sheet .cpf-section,
    .acadia-sidebar-sheet .tm-extra-product-options-container {
        margin-bottom: 16px;
    }

    /* Section labels */
    .acadia-sidebar-sheet .tm-section-label,
    .acadia-sidebar-sheet .cpf-section>h5 {
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #334155 !important;
        margin-bottom: 12px !important;
        padding: 0 !important;
        background: none !important;
    }

    /* Remove container styling - each item is its own card */
    .acadia-sidebar-sheet .cpf-type-radio,
    .acadia-sidebar-sheet .cpf-type-checkbox,
    .acadia-sidebar-sheet .wc-deposits-wrapper,
    .acadia-sidebar-sheet .wc-deposits-payment-plans {
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        overflow: visible !important;
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    /* Each option item - SEPARATE CARD */
    .acadia-sidebar-sheet .tmcp-field-wrap,
    .acadia-sidebar-sheet .wc-deposits-payment-plans li {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 1.5px solid #e9ecef !important;
        border-radius: 10px !important;
        list-style: none !important;
        background: #fff !important;
        transition: all 0.2s ease !important;
    }

    /* Hover state for cards */
    .acadia-sidebar-sheet .tmcp-field-wrap:hover,
    .acadia-sidebar-sheet .wc-deposits-payment-plans li:hover {
        border-color: #9ca3af !important;
    }

    /* Selected card - thick gray border + light background */
    .acadia-sidebar-sheet .tmcp-field-wrap:has(input:checked),
    .acadia-sidebar-sheet .wc-deposits-payment-plans li:has(input:checked) {
        border-color: #6b7280 !important;
        border-width: 1.5px !important;
        background: rgba(107, 114, 128, 0.04) !important;
    }

    /* Labels - main container for each option */
    .acadia-sidebar-sheet .tmcp-field-wrap label,
    .acadia-sidebar-sheet .wc-deposits-payment-plans label {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        padding: 12px 16px !important;
        margin: 0 !important;
        cursor: pointer;
        gap: 16px;
        background: transparent !important;
    }

    /* Custom Radio Circle */
    .acadia-sidebar-sheet .tmcp-field-wrap input[type="radio"],
    .acadia-sidebar-sheet .wc-deposits-payment-plans input[type="radio"] {
        appearance: none !important;
        -webkit-appearance: none !important;
        width: 16px !important;
        height: 16px !important;
        min-width: 16px !important;
        border: 1px solid #9ca3af !important;
        border-radius: 50% !important;
        background: #fff !important;
        flex-shrink: 0 !important;
        position: relative !important;
        margin: 0 !important;
        cursor: pointer;
        transition: all 0.2s ease;
    }

    /* Selected Radio - thick border fills the circle */
    .acadia-sidebar-sheet .tmcp-field-wrap input[type="radio"]:checked,
    .acadia-sidebar-sheet .wc-deposits-payment-plans input[type="radio"]:checked {
        border-width: 5px !important;
        border-color: #6b7280 !important;
        background: #fff !important;
    }

    /* Custom Checkbox */
    .acadia-sidebar-sheet .tmcp-field-wrap input[type="checkbox"] {
        appearance: none !important;
        -webkit-appearance: none !important;
        width: 16px !important;
        height: 16px !important;
        min-width: 16px !important;
        border: 1px solid #9ca3af !important;
        border-radius: 4px !important;
        background: #fff !important;
        flex-shrink: 0 !important;
        position: relative !important;
        margin: 0 !important;
        cursor: pointer;
        transition: all 0.2s ease;
    }

    /* Selected Checkbox */
    .acadia-sidebar-sheet .tmcp-field-wrap input[type="checkbox"]:checked {
        border-color: #6b7280 !important;
        background: #6b7280 !important;
    }

    .acadia-sidebar-sheet .tmcp-field-wrap input[type="checkbox"]:checked::after {
        content: '✓' !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        color: #fff !important;
        font-size: 10px !important;
        font-weight: bold !important;
        line-height: 1 !important;
    }

    /* Text content wrapper */
    .acadia-sidebar-sheet .tm-label-wrap,
    .acadia-sidebar-sheet .tc-label {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 4px;
        text-align: right;
    }

    /* Option title */
    .acadia-sidebar-sheet .tc-label-text,
    .acadia-sidebar-sheet .tm-label-text {
        font-size: 14px !important;
        font-weight: 500 !important;
        color: #1e293b !important;
        margin: 0 !important;
    }

    /* Option description */
    .acadia-sidebar-sheet .tc-inline-description,
    .acadia-sidebar-sheet .tm-description {
        font-size: 12px !important;
        color: #6b7280 !important;
        line-height: 1.5 !important;
        margin: 0 !important;
    }

    /* Price display */
    .acadia-sidebar-sheet .tc-price,
    .acadia-sidebar-sheet .tc-price-wrap {
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #0369a1 !important;
        margin-top: 2px;
    }

    /* Deposits specific styling - MATCHING REFERENCE */

    /* Main wrapper */
    .acadia-sidebar-sheet .wc-deposits-wrapper {
        display: block !important;
        margin-bottom: 24px !important;
        position: relative !important;
        padding-top: 30px !important;
        /* Make room for pseudo-title */
    }

    /* Force Title "انتخاب روش پرداخت" via pseudo-element */
    .acadia-sidebar-sheet .wc-deposits-wrapper::before {
        content: "انتخاب روش پرداخت" !important;
        display: block !important;
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #334155 !important;
    }

    /* Hide existing potentially broken labels */
    .acadia-sidebar-sheet .wc-deposits-container>label,
    .acadia-sidebar-sheet .wc-deposits-wrapper>label,
    .acadia-sidebar-sheet .wc-deposits-wrapper>h3,
    .acadia-sidebar-sheet .wc-deposits-wrapper>.wcdp-deposit-mode-label,
    .acadia-sidebar-sheet .wc-deposits-payment-plans-heading {
        display: none !important;
        display: block !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #334155 !important;
        margin-bottom: 12px !important;
        padding: 0 !important;
        background: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        width: 100% !important;
        text-align: right !important;
    }

    /* Payment plans & Deposit Options Lists */
    .acadia-sidebar-sheet .wc-deposits-payment-plans,
    .acadia-sidebar-sheet .wc-deposits-deposit-options {
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        list-style: none !important;
    }

    /* Each item - card style */
    .acadia-sidebar-sheet .wc-deposits-payment-plans .wc-deposits-payment-plan,
    .acadia-sidebar-sheet .wc-deposits-deposit-options li,
    .acadia-sidebar-sheet .tmcp-field-wrap {
        display: flex !important;
        flex-direction: column !important;
        /* Label fills it */
        justify-content: center !important;
        padding: 0 !important;
        /* Padding moved to label */
        margin: 0 !important;
        border: 1.5px solid #e9ecef !important;
        border-radius: 10px !important;
        background: #fff !important;
        list-style: none !important;
        transition: all 0.2s ease !important;
        cursor: pointer !important;
        overflow: hidden !important;
        gap: 0 !important;
        position: relative !important;
        min-height: 70px !important;
        /* Ensure minimum height */
    }

    /* Hover state */
    .acadia-sidebar-sheet .wc-deposits-payment-plans .wc-deposits-payment-plan:hover,
    .acadia-sidebar-sheet .wc-deposits-deposit-options li:hover,
    .acadia-sidebar-sheet .tmcp-field-wrap:hover {
        border-color: #9ca3af !important;
    }

    /* Selected state */
    /* Selected state */
    .acadia-sidebar-sheet .wc-deposits-payment-plans .wc-deposits-payment-plan:has(input:checked),
    .acadia-sidebar-sheet .wc-deposits-deposit-options li:has(input:checked),
    .acadia-sidebar-sheet .tmcp-field-wrap:has(input:checked) {
        border-color: #64748b !important;
        /* Darker Grey Border */
        background: #f8fafc !important;
        /* Light Grey Background */
    }

    /* Fallback for selected state (sibling selector) */
    /* Fallback for selected state (sibling selector) - ENSURE TRANSPARENT */
    /* Fallback for selected state (sibling selector) - ENSURE TRANSPARENT */
    .acadia-sidebar-sheet .wc-deposits-payment-plans .wc-deposits-payment-plan input:checked+label,
    .acadia-sidebar-sheet .tmcp-field-wrap input:checked+label {
        background: transparent !important;
    }

    /* Label covers entire card for full clickability using Padding Strategy */
    /* Label styling - Text Container - pointer-events NONE so input catches clicks */
    .acadia-sidebar-sheet .wc-deposits-payment-plans .wc-deposits-payment-plan label,
    .acadia-sidebar-sheet .wc-deposits-deposit-options li label,
    .acadia-sidebar-sheet .tmcp-field-wrap label {
        display: flex !important;
        flex-direction: column !important;
        /* Stack text */
        justify-content: center !important;
        align-items: flex-start !important;
        padding: 16px 50px 16px 16px !important;
        /* Right padding for fake radio */
        margin: 0 !important;
        cursor: pointer !important;
        gap: 4px !important;
        background: transparent !important;
        width: 100% !important;
        height: 100% !important;
        box-sizing: border-box !important;
        pointer-events: none !important;
        /* CRITICAL: Let giant input catch click */
        position: relative !important;
        z-index: 20 !important;
        /* Above giant input but transparent */
    }

    /* FAKE RADIO BUTTON (Visual Only) */
    /* FAKE RADIO BUTTON (Visual Only) */
    .acadia-sidebar-sheet .wc-deposits-payment-plans .wc-deposits-payment-plan label::before,
    .acadia-sidebar-sheet .wc-deposits-deposit-options li label::before,
    .acadia-sidebar-sheet .tmcp-field-wrap label::before {
        content: '' !important;
        position: absolute !important;
        top: 50% !important;
        right: 16px !important;
        transform: translateY(-50%) !important;
        width: 20px !important;
        height: 20px !important;
        border-radius: 50% !important;
        border: 2px solid #cbd5e1 !important;
        background: #fff !important;
        z-index: 25 !important;
        display: block !important;
        transition: all 0.2s ease !important;
    }

    /* Input CHECKED -> Style Fake Radio (label::before) - Using :has for nesting support */
    .acadia-sidebar-sheet .wc-deposits-payment-plans .wc-deposits-payment-plan:has(input:checked) label::before,
    .acadia-sidebar-sheet .wc-deposits-deposit-options li:has(input:checked) label::before,
    .acadia-sidebar-sheet .tmcp-field-wrap:has(input:checked) label::before {
        border-width: 6px !important;
        border-color: var(--acadia-primary, #0274be) !important;
        background: #fff !important;
    }

    /* Remove Pseudo overlay as we use full label coverage now */
    .acadia-sidebar-sheet .wc-deposits-payment-plans .wc-deposits-payment-plan label::after,
    .acadia-sidebar-sheet .wc-deposits-deposit-options li label::after {
        display: none !important;
    }

    /* REAL INPUT - GIANT & INVISIBLE */
    .acadia-sidebar-sheet .wc-deposits-payment-plans input[type="radio"],
    .acadia-sidebar-sheet .wc-deposits-deposit-options input[type="radio"],
    .acadia-sidebar-sheet .tmcp-field-wrap input[type="radio"],
    .acadia-sidebar-sheet .tmcp-field-wrap input[type="checkbox"] {
        appearance: none !important;
        -webkit-appearance: none !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 0 !important;
        z-index: 100 !important;
        /* Topmost to catch all clicks */
        cursor: pointer !important;
        pointer-events: auto !important;
        /* CRITICAL: Override parent pointer-events: none */
    }

    /* --- Stock Status Relocation --- */
    /* Hide original stock in form wrapper - AGGRESSIVE & SPECIFIC */
    .acadia-drawer-form-wrapper .stock,
    .acadia-sidebar-sheet-content .acadia-drawer-form-wrapper .stock,
    .acadia-drawer-form-wrapper p.stock,
    .acadia-drawer-form-wrapper .availability,
    .acadia-drawer-form-wrapper .woocommerce-variation-availability,
    .acadia-drawer-form-wrapper .stock-status,
    .acadia-drawer-form-wrapper label:has(+ .stock),
    .acadia-sidebar-sheet .stock,
    .acadia-sidebar-sheet .availability,
    .acadia-drawer-form-wrapper .ast-stock-detail,
    .acadia-sidebar-sheet-content .acadia-drawer-form-wrapper .ast-stock-detail {
        display: none !important;
    }

    /* Style new stock in Product Info header */
    .acadia-drawer-product-info .ast-stock-detail,
    .acadia-drawer-product-info .stock,
    .acadia-sidebar-sheet-content .acadia-drawer-product-info .stock,
    .acadia-drawer-product-info .in-stock {
        font-size: 13px !important;
        font-weight: 500 !important;
        margin: 4px 0 0 0 !important;
        display: block !important;
    }

    /* Hide the "Availability:" label specifically in the new location too if PHP didn't catch it */
    .acadia-drawer-product-info .ast-stock-avail,
    .acadia-sidebar-sheet-content .acadia-drawer-product-info .ast-stock-avail {
        display: none !important;
    }

    /* --- Section Spacing & Typography Adjustments --- */
    /* Margin & Size for Class Options Label (EPO) */
    .acadia-sidebar-sheet .tc-epo-label,
    .acadia-sidebar-sheet .tm-epo-element-label {
        margin-top: 24px !important;
        margin-bottom: 12px !important;
        display: block !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #1e293b !important;
    }

    /* Margin & Size for Payment Method Title/Section */
    .acadia-sidebar-sheet .payment-section-title,
    .acadia-sidebar-sheet .wc-deposits-wrapper h5,
    .acadia-sidebar-sheet .wc-deposits-wrapper {
        margin-top: 24px !important;
        margin-bottom: 12px !important;
        display: block !important;
        /* If wrapper, don't set font size on wrapper directly if it affects children globally, but helpful for text nodes */
        font-size: 15px !important;
    }

    .acadia-sidebar-sheet .wc-deposits-wrapper h5,
    .acadia-sidebar-sheet .payment-section-title {
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #1e293b !important;
    }



    /* Text content styling */
    .acadia-sidebar-sheet .wc-deposits-payment-plans .wcdp-payment-plan-name,
    .acadia-sidebar-sheet .wc-deposits-payment-plans strong,
    .acadia-sidebar-sheet .wc-deposits-deposit-options strong {
        display: block !important;
        font-weight: 600 !important;
        font-size: 14px !important;
        color: #1e293b !important;
        margin-bottom: 4px !important;
        line-height: normal !important;
    }

    .acadia-sidebar-sheet .wc-deposits-payment-plans .wcdp-payment-plan-description,
    .acadia-sidebar-sheet .wc-deposits-payment-plans span:not(.wcdp-payment-plan-name),
    .acadia-sidebar-sheet .wc-deposits-deposit-options span {
        display: block !important;
        font-size: 12px !important;
        color: #64748b !important;
        line-height: 1.6 !important;
    }

    /* Text content */
    .acadia-sidebar-sheet .wc-deposits-payment-plans .wcdp-payment-plan-name,
    .acadia-sidebar-sheet .wc-deposits-payment-plans strong {
        display: block !important;
        font-weight: 500 !important;
        font-size: 14px !important;
        color: #1e293b !important;
        margin: 0 !important;
    }

    .acadia-sidebar-sheet .wc-deposits-payment-plans .wcdp-payment-plan-description,
    .acadia-sidebar-sheet .wc-deposits-payment-plans span:not(.wcdp-payment-plan-name):not(.acadia-plan-badge) {
        display: block !important;
        font-size: 12px !important;
        color: #6b7280 !important;
        margin-top: 4px !important;
        line-height: 1.5 !important;
    }

    /* Override for Badge Spans - Must Come After to Win */
    .acadia-sidebar-sheet .wc-deposits-payment-plans span.acadia-plan-badge {
        display: inline-block !important;
        font-size: 11px !important;
        color: #ffffff !important;
        margin-top: 0 !important;
        line-height: normal !important;
        white-space: nowrap !important;
    }

    .acadia-sidebar-sheet-overlay {
        display: block !important;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 9998;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s, visibility 0.3s;
    }

    .acadia-sidebar-sheet-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    /* Space for sticky CTA bar */
    .acadia-main-container {
        padding-bottom: 140px;
    }


    /* ===== TABS - Mobile ===== */
    .acadia-tabs-nav {
        margin-bottom: 15px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .acadia-tabs-nav ul {
        display: flex;
        flex-wrap: nowrap;
        gap: 5px;
        padding-bottom: 5px;
    }

    .acadia-tabs-nav li {
        flex-shrink: 0;
        padding: 10px 15px;
        font-size: 13px;
        white-space: nowrap;
    }

    .acadia-tab-panel {
        padding: 15px 0;
    }

    /* ===== PROSE - Mobile ===== */
    .acadia-prose {
        font-size: 15px;
        line-height: 1.7;
    }

    .acadia-prose h2 {
        font-size: 18px;
    }

    .acadia-prose h3 {
        font-size: 16px;
    }

    /* ===== META GRID - Single Column ===== */
    .acadia-modern-meta-grid-sidebar {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    /* ===== SIDEBAR META - Mobile ===== */
    .acadia-sidebar-meta h3 {
        font-size: 14px;
        margin-bottom: 12px;
    }

    /* --- Fix Mobile Spacing (User Request) --- */
    @media (max-width: 768px) {
        .acadia-container {
            padding-left: 20px !important;
            padding-right: 20px !important;
            width: auto !important;
        }

        .acadia-grid {
            width: 100% !important;
            margin: 0 !important;
            gap: 20px !important;
            display: flex !important;
            flex-direction: column !important;
        }

        .acadia-content-col,
        .acadia-sidebar-col {
            width: 100% !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            border-radius: 12px !important;
            /* Restore radius if lost */
        }

        /* Reset Sidebar overlap on mobile if needed */
        .acadia-sidebar-col {
            margin-top: 20px !important;
        }

        /* --- Simplifed Hero Meta (User Request) --- */
        .acadia-hero-meta .meta-item.category,
        .acadia-hero-meta .meta-item.updated-date {
            display: none !important;
        }

        .acadia-hero-meta {
            display: flex !important;
            flex-direction: row !important;
            flex-wrap: nowrap !important;
            gap: 2px !important;
            margin-bottom: 1px !important;
            align-items: center !important;
            overflow-x: auto !important;
            padding-bottom: 5px !important;
        }

        .acadia-hero-meta .meta-item {
            flex-shrink: 0 !important;
            background: transparent !important;
            border: none !important;
            box-shadow: none !important;
        }

        /* Typography adjustments */
        .acadia-title {
            font-size: 36px !important;
            line-height: 1.8 !important;
            margin-bottom: 12px !important;
        }

        /* Hide Buy & Contact in Sidebar on Mobile */
        .acadia-sidebar-buy,
        .acadia-quick-contact {
            display: none !important;
        }

        /* Ensure Sidebar Meta is Visible & Flows Correctly */
        .acadia-sidebar-meta {
            display: block !important;
            padding-top: 10px !important;
        }

        /* Reset sticky sidebar behavior for mobile so it flows normally */
        .acadia-sticky-sidebar {
            position: static !important;
            box-shadow: none !important;
            border-radius: 0 !important;
            background: transparent !important;
        }

        /* Essential: Unhide the sidebar column AND Fix Order! */
        .acadia-sidebar-col {
            display: block !important;
            margin-top: 30px !important;
            order: 2 !important;
            /* Force to bottom (after content-col which is order 1) */
        }
    }

    .acadia-sidebar-meta .meta-list {
        gap: 10px;
    }

    .acadia-sidebar-meta .meta-item {
        font-size: 13px;
        padding: 8px 0;
    }

    /* ===== INSTRUCTORS - Mobile ===== */
    .acadia-instructor-cards {
        flex-direction: column;
    }

    .acadia-instructor-card {
        flex-direction: column;
        text-align: center;
        padding: 20px;
    }

    .acadia-instructor-card .avatar {
        margin: 0 auto 15px;
    }

    /* ===== ACCORDION/SYLLABUS - Mobile ===== */
    .acadia-accordion-header {
        padding: 12px 15px;
        font-size: 14px;
    }

    .acadia-accordion-content {
        padding: 10px 15px;
    }

    .acadia-accordion .lesson-item {
        padding: 10px 0;
        font-size: 13px;
    }

    /* ===== DRAWER - Mobile ===== */
    .acadia-drawer {
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 20px 20px 0 0 !important;
    }

    .acadia-drawer-content {
        padding: 15px;
    }

    .acadia-drawer-footer {
        padding: 15px;
    }

    /* ===== BUTTONS - Mobile ===== */
    .acadia-btn,
    .acadia-sidebar-buy .button,
    .single_add_to_cart_button {
        width: 100%;
        padding: 14px 20px;
        font-size: 15px;
    }

    /* ===== CALENDAR - Mobile ===== */
    #tab-calendar .calendar-container {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* ===== REVIEWS - Mobile ===== */
    .acadia-tab-panel#tab-reviews {
        padding: 15px 0;
    }

    #comments .comment-list .comment {
        padding: 15px;
    }

    /* ===== MAIN CONTAINER - Mobile ===== */
    .acadia-main-container {
        padding-bottom: 100px;
        /* Space for sticky footer if needed */
    }

    /* ===== GROUP/PATH COURSE CARDS - Mobile ===== */
    .acadia-path-courses-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .acadia-path-course-card {
        padding: 15px;
    }
}

/* Extra Small Devices (< 480px) */
@media screen and (max-width: 480px) {
    .acadia-hero-banner {
        padding: 90px 0 25px;
    }

    .acadia-title {
        font-size: 20px;
    }

    .acadia-tabs-nav li {
        padding: 8px 12px;
        font-size: 12px;
    }

    .acadia-prose {
        font-size: 14px;
    }

    .acadia-sidebar-buy {
        padding: 15px;
    }


}

/* === USER REQUEST: Increase Mobile Sheet Height === */
@media (max-width: 768px) {
    .acadia-sidebar-sheet {
        height: auto !important;
        max-height: 70vh !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .acadia-sidebar-sheet-content {
        flex: 1 !important;
        overflow-y: auto !important;
        max-height: none !important;
        padding-bottom: 20px !important;
    }

    .acadia-sidebar-sheet-footer dt.tm-final-totals {
        display: inline-block !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 15px;
        font-weight: 550;
        color: #334155;
        background: none !important;
        border: none !important;
    }

    /* Mobile Instructor Card - Grid Layout (Avatar Right, Text+Icons Left) */
    .acadia-instructor-card-horizontal {
        display: grid !important;
        grid-template-columns: auto 1fr !important;
        grid-template-rows: auto auto !important;
        gap: 10px 15px !important;
        padding: 15px !important;
        align-items: start !important;
    }

    /* Unwrap the wrapper to let children participate in grid */
    .acadia-instructor-card-horizontal .inst-profile-right {
        display: contents !important;
    }

    /* Avatar: Column 1 (Right in RTL), Span 2 Rows */
    .acadia-instructor-card-horizontal .inst-avatar-wrap {
        grid-column: 1 / 2 !important;
        grid-row: 1 / 3 !important;
        margin: 0 !important;
        align-self: center !important;
        /* Center vertically relative to text+icons */
    }

    /* Text: Column 2 (Left in RTL), Row 1 */
    .acadia-instructor-card-horizontal .inst-details-wrap {
        grid-column: 2 / 3 !important;
        grid-row: 1 / 2 !important;
        width: 100% !important;
        text-align: right !important;
    }

    /* Icons Container: Column 2 (Left in RTL), Row 2 */
    .acadia-instructor-card-horizontal .inst-socials-left {
        grid-column: 2 / 3 !important;
        grid-row: 2 / 3 !important;
        width: 100% !important;
        margin: 0 !important;
        justify-content: flex-start !important;
        /* Align icons to start of text */
    }

    /* Inner Social Row: Horizontal & Smaller */
    .acadia-instructor-card-horizontal .inst-socials-left .social-row {
        display: flex !important;
        flex-direction: row !important;
        gap: 8px !important;
        justify-content: flex-start !important;
    }

    /* Smaller Icons */
    .acadia-instructor-card-horizontal .inst-socials-left a,
    .acadia-instructor-card-horizontal .inst-socials-left span.soc-icon {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 32px !important;
        height: 32px !important;
        margin: 0 !important;
        background: #f1f5f9 !important;
        border-radius: 6px !important;
    }

    .acadia-instructor-card-horizontal .inst-socials-left a svg,
    .acadia-instructor-card-horizontal .inst-socials-left span.soc-icon svg {
        width: 16px !important;
        height: 16px !important;
    }
}


/* ===== PAYMENT PLAN BADGES ===== */
.acadia-plan-badge {
    display: inline-block;
    padding: 3px 10px;
    font-size: 13px !important;
    font-weight: 500 !important;
    border-radius: 12px;
    margin-right: 8px;
    /* Space between text and badge */
    vertical-align: middle;
    line-height: normal;
    white-space: nowrap;
    /* Prevent wrapping */
    color: #ffffff !important;
    /* Force white text */
}

/* Force standard text color for payment plan names */
.wc-deposits-payment-plan-name {
    color: #334155 !important;
    display: inline-block !important;
    /* Forces box behavior to respect nowrap */
    width: auto !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
    /* CRITICAL: Forces badge to stay on same line */
}

/* Mobile specific overrides with High Specificity */
body .acadia-plan-badge,
.acadia-sidebar-sheet .acadia-plan-badge,
.acadia-plan-badge {
    color: #ffffff !important;
    white-space: nowrap !important;
    font-size: 11px !important;
    padding: 2px 8px !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

.acadia-plan-badge.badge-green {
    background-color: #059669 !important;
    /* Solid Green */
    color: #ffffff;
    border: none;
}

.acadia-plan-badge.badge-orange {
    background-color: #ea580c;
    /* Solid Orange */
    color: #ffffff;
    border: none;
}

.acadia-plan-badge.badge-gray {
    background-color: #64748b;
    /* Solid Slate */
    color: #ffffff;
    border: none;
}


/* CTA Button Font Weight Override */
.acadia-btn-register,
.btn-contact,
#acadia-registration-trigger {
    font-weight: 500 !important;
}

/* ===== STICKY MOBILE CTA (Optional Enhancement) ===== */
@media screen and (max-width: 768px) {
    /* If you want a sticky CTA bar at bottom, uncomment this:
    .acadia-mobile-sticky-cta {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: #fff;
        padding: 15px;
        box-shadow: 0 -4px 20px rgba(0,0,0,0.1);
        z-index: 9999;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 15px;
    }
    
    .acadia-mobile-sticky-cta .price {
        font-size: 18px;
        font-weight: 700;
        color: var(--acadia-primary);
    }
    
    .acadia-mobile-sticky-cta .button {
        flex: 1;
        max-width: 200px;
    }
    */
}

/* ===== SPECIAL CAMPAIGN PRODUCTS (طرح ویژه) ===== */

/* Hide original EPO totals from content area (synced copy is in footer) */
.acadia-drawer .dayche-original-totals,
.acadia-sidebar-sheet .dayche-original-totals {
    display: none !important;
}

/* Synced footer totals styling */
.acadia-drawer-footer .dayche-footer-totals-sync,
.acadia-sidebar-sheet-footer .dayche-footer-totals-sync {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 20px !important;
    margin: 0 0 12px 0 !important;
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    border: 1px solid #bae6fd;
    border-radius: 10px;
    min-height: auto;
}

/* Hide non-final totals rows in synced footer */
.dayche-footer-totals-sync dt:not(.tm-final-totals),
.dayche-footer-totals-sync dd:not(.tm-final-totals) {
    display: none !important;
}

/* Style final totals in synced footer */
.dayche-footer-totals-sync dt.tm-final-totals {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px;
    font-weight: 600;
    color: #334155;
    background: none !important;
    border: none !important;
}

.dayche-footer-totals-sync dd.tm-final-totals {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
}

.dayche-footer-totals-sync dd.tm-final-totals .amount {
    font-size: 18px;
    font-weight: 800;
    color: #0369a1;
}

/* === EPO RADIO BUTTONS FOR CAMPAIGN PRODUCTS === */

/* Section container styling */
.acadia-drawer .cpf-section.cpf-type-radio,
.acadia-sidebar-sheet .cpf-section.cpf-type-radio {
    margin-bottom: 20px;
}

/* Section title (above options) */
.acadia-drawer .cpf-section.cpf-type-radio .tm-epo-element-label,
.acadia-sidebar-sheet .cpf-section.cpf-type-radio .tm-epo-element-label {
    display: block !important;
    font-size: 15px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 12px;
    padding: 0;
    text-align: center;
}

/* Options list container */
.acadia-drawer .cpf-section.cpf-type-radio ul.tmcp-ul-wrap,
.acadia-sidebar-sheet .cpf-section.cpf-type-radio ul.tmcp-ul-wrap {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    border: none !important;
    background: transparent !important;
}

/* Individual option card */
.acadia-drawer .cpf-section.cpf-type-radio li.tmcp-field-wrap,
.acadia-sidebar-sheet .cpf-section.cpf-type-radio li.tmcp-field-wrap {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 10px !important;
    background: #fff !important;
    overflow: hidden;
    transition: all 0.2s ease;
    position: relative;
}

.acadia-drawer .cpf-section.cpf-type-radio li.tmcp-field-wrap:hover,
.acadia-sidebar-sheet .cpf-section.cpf-type-radio li.tmcp-field-wrap:hover {
    border-color: #94a3b8 !important;
}

/* Selected state */
.acadia-drawer .cpf-section.cpf-type-radio li.tmcp-field-wrap:has(input:checked),
.acadia-drawer .cpf-section.cpf-type-radio li.tmcp-field-wrap.tc-active,
.acadia-sidebar-sheet .cpf-section.cpf-type-radio li.tmcp-field-wrap:has(input:checked),
.acadia-sidebar-sheet .cpf-section.cpf-type-radio li.tmcp-field-wrap.tc-active,
.acadia-drawer .tc-epo-element-product-radio.tc-active,
.acadia-drawer .tc-epo-element-product-radio:has(input:checked),
.acadia-sidebar-sheet .tc-epo-element-product-radio.tc-active,
.acadia-sidebar-sheet .tc-epo-element-product-radio:has(input:checked) {
    border-color: var(--acadia-primary, #0274be) !important;
    background: rgba(2, 116, 190, 0.04) !important;
}

/* ===== MOBILE: Compact EPO Product Radio Buttons ===== */
@media screen and (max-width: 768px) {

    /* Main container - reduce vertical padding */
    .acadia-sidebar-sheet .tc-epo-element-product-radio .tmcp-field-wrap-inner {
        padding: 10px 14px !important;
        flex-wrap: nowrap !important;
    }

    /* Override tc-col to not take full width */
    .acadia-sidebar-sheet .tc-epo-element-product-radio .tc-col {
        flex: none !important;
        width: auto !important;
    }

    /* Field label wrap - FORCE single row */
    .acadia-sidebar-sheet .tc-epo-element-product-radio .tc-field-label-wrap {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        width: 100% !important;
    }

    /* Label element - flex grow to push price to side */
    .acadia-sidebar-sheet .tc-epo-element-product-radio .tm-epo-field-label {
        padding: 0 !important;
        margin: 0 !important;
        flex: 1 !important;
    }

    /* Label inner - single row */
    .acadia-sidebar-sheet .tc-epo-element-product-radio .tc-label-wrap {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 8px !important;
    }

    /* Label text */
    .acadia-sidebar-sheet .tc-epo-element-product-radio .tc-label-text {
        font-size: 13px !important;
        white-space: nowrap !important;
    }

    /* Price wrapper - stay on side */
    .acadia-sidebar-sheet .tc-epo-element-product-radio .tc-price-wrap,
    .acadia-sidebar-sheet .tc-epo-element-product-radio .tc-col-auto {
        flex: none !important;
        width: auto !important;
        flex-shrink: 0 !important;
    }

    /* Price text */
    .acadia-sidebar-sheet .tc-epo-element-product-radio .tc-price {
        font-size: 12px !important;
    }

    /* Hide quantity input */
    .acadia-sidebar-sheet .tc-epo-element-product-radio .tm-quantity {
        display: none !important;
    }

    /* Card margin */
    .acadia-sidebar-sheet .tc-epo-element-product-radio {
        margin-bottom: 6px !important;
    }
}



/* Inner wrapper */
.acadia-drawer .tc-epo-element-product-radio .tmcp-field-wrap-inner,
.acadia-sidebar-sheet .tc-epo-element-product-radio .tmcp-field-wrap-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    padding: 14px 20px !important;
    gap: 16px !important;
}

/* Label container */
.acadia-drawer .tc-epo-element-product-radio .tc-field-label-wrap,
.acadia-sidebar-sheet .tc-epo-element-product-radio .tc-field-label-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 12px !important;
}

/* Label */
.acadia-drawer .tc-epo-element-product-radio .tm-epo-field-label,
.acadia-sidebar-sheet .tc-epo-element-product-radio .tm-epo-field-label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    flex: 1 !important;
    cursor: pointer !important;
    position: relative !important;
    padding-right: 36px !important;
    /* Space for custom radio */
}

/* Custom radio indicator (visual only) */
.acadia-drawer .tc-epo-element-product-radio .tm-epo-field-label::before,
.acadia-sidebar-sheet .tc-epo-element-product-radio .tm-epo-field-label::before {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    transform: translateY(-50%) !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    border: 2px solid #cbd5e1 !important;
    background: #fff !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
}

/* Checked state for custom radio */
.acadia-drawer .tc-epo-element-product-radio.tc-active .tm-epo-field-label::before,
.acadia-drawer .tc-epo-element-product-radio:has(input:checked) .tm-epo-field-label::before,
.acadia-sidebar-sheet .tc-epo-element-product-radio.tc-active .tm-epo-field-label::before,
.acadia-sidebar-sheet .tc-epo-element-product-radio:has(input:checked) .tm-epo-field-label::before {
    border-width: 6px !important;
    border-color: var(--acadia-primary, #0274be) !important;
    background: #fff !important;
}

/* Hide actual radio input */
.acadia-drawer .tc-epo-element-product-radio input[type="radio"],
.acadia-sidebar-sheet .tc-epo-element-product-radio input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none !important;
}

/* Make entire card clickable */
.acadia-drawer .tc-epo-element-product-radio .tc-label-wrap,
.acadia-sidebar-sheet .tc-epo-element-product-radio .tc-label-wrap {
    cursor: pointer !important;
}

/* Text label */
.acadia-drawer .tc-epo-element-product-radio .tc-label-text,
.acadia-sidebar-sheet .tc-epo-element-product-radio .tc-label-text {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
}

/* Price wrapper */
.acadia-drawer .tc-epo-element-product-radio .tc-price-wrap,
.acadia-sidebar-sheet .tc-epo-element-product-radio .tc-price-wrap {
    flex-shrink: 0 !important;
    text-align: left !important;
    direction: ltr !important;
}

/* Price styling */
.acadia-drawer .tc-epo-element-product-radio .tc-price,
.acadia-sidebar-sheet .tc-epo-element-product-radio .tc-price {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #0369a1 !important;
}

.acadia-drawer .tc-epo-element-product-radio .tc-price del,
.acadia-sidebar-sheet .tc-epo-element-product-radio .tc-price del {
    color: #94a3b8 !important;
    font-weight: 400 !important;
    font-size: 11px !important;
    display: block !important;
}

.acadia-drawer .tc-epo-element-product-radio .tc-price ins,
.acadia-sidebar-sheet .tc-epo-element-product-radio .tc-price ins {
    color: #0369a1 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Hide quantity input */
.acadia-drawer .tc-epo-element-product-radio .tm-quantity,
.acadia-sidebar-sheet .tc-epo-element-product-radio .tm-quantity {
    display: none !important;
}

/* Hide reset button (X) */
.acadia-drawer .tc-epo-element-product-radio .tm-epo-reset-radio,
.acadia-sidebar-sheet .tc-epo-element-product-radio .tm-epo-reset-radio {
    display: none !important;
}

/* Hide EPO option descriptions (dynamic text that changes with selection) */
.acadia-drawer .tc-epo-element-product-container-wrap .tc-epo-element-product-container-description,
.acadia-drawer .cpf-section .tc-epo-element-description,
.acadia-drawer .tm-epo-description,
.acadia-drawer .tc-epo-element-product-container .tc-description,
.acadia-sidebar-sheet .tc-epo-element-product-container-wrap .tc-epo-element-product-container-description,
.acadia-sidebar-sheet .cpf-section .tc-epo-element-description,
.acadia-sidebar-sheet .tm-epo-description,
.acadia-sidebar-sheet .tc-epo-element-product-container .tc-description {
    display: none !important;
}

/* Hide contact/communication box inside drawer (ارتباط با دایکه) */
.acadia-drawer .acadia-quick-contact,
.acadia-drawer .contact-buttons,
.acadia-drawer .acadia-drawer-form-wrapper .acadia-quick-contact,
.acadia-sidebar-sheet .acadia-quick-contact,
.acadia-sidebar-sheet .contact-buttons {
    display: none !important;
}

/* Hide EPO inline-styled contact box (comes from EPO description in database) */
.acadia-drawer .tc-epo-element-product-container-description div[style*="flex"],
.acadia-drawer .tc-epo-element-product-container-description>div,
.acadia-drawer .acadia-drawer-form-wrapper div[style*="justify-content: flex-end"],
.acadia-drawer .acadia-drawer-form-wrapper div[style*="border-radius: 12px"][style*="background: #f9f9f9"],
.acadia-drawer form.cart>div[style*="flex"],
.acadia-drawer form.cart>div[style*="justify-content"],
.acadia-sidebar-sheet .tc-epo-element-product-container-description div[style*="flex"],
.acadia-sidebar-sheet .tc-epo-element-product-container-description>div,
.acadia-sidebar-sheet form.cart>div[style*="flex"],
.acadia-sidebar-sheet form.cart>div[style*="justify-content"] {
    display: none !important;
}

/* Hide quantity-alt input (the number input below cards) */
.acadia-drawer .tm-quantity-alt,
.acadia-sidebar-sheet .tm-quantity-alt,
.acadia-drawer .tc-epo-element-product-radio .tm-quantity-alt,
.acadia-sidebar-sheet .tc-epo-element-product-radio .tm-quantity-alt {
    display: none !important;
}

/* Remove any visual artifacts on hover (no shadow, border change, background) */
.acadia-drawer .tc-epo-element-product-radio,
.acadia-sidebar-sheet .tc-epo-element-product-radio {
    box-shadow: none !important;
}

.acadia-drawer .tc-epo-element-product-radio:hover,
.acadia-sidebar-sheet .tc-epo-element-product-radio:hover {
    box-shadow: none !important;
    border-color: #e2e8f0 !important;
    /* Keep same border color on hover */
}

/* Only selected item should have different border */
.acadia-drawer .tc-epo-element-product-radio.tc-active,
.acadia-drawer .tc-epo-element-product-radio:has(input:checked),
.acadia-sidebar-sheet .tc-epo-element-product-radio.tc-active,
.acadia-sidebar-sheet .tc-epo-element-product-radio:has(input:checked) {
    border-color: var(--acadia-primary, #0274be) !important;
}

/* ===== EPO TOTALS BOX STYLING ===== */
/* Hide the totals ONLY in content area - show in footer */
.acadia-drawer-content .tc-totals-form.tm-totals-form-main,
.acadia-drawer-form-wrapper .tc-totals-form.tm-totals-form-main,
.acadia-sidebar-sheet-content .tc-totals-form.tm-totals-form-main {
    display: none !important;
}

/* Ensure totals are visible in footer */
.acadia-drawer-footer .tc-totals-form,
.acadia-drawer-footer .tm-extra-product-options-totals,
.acadia-sidebar-sheet-footer .tc-totals-form,
.acadia-sidebar-sheet-footer .tm-extra-product-options-totals {
    display: block !important;
}

/* Footer totals styling */
.acadia-drawer-footer .tm-extra-product-options-totals,
.acadia-sidebar-sheet-footer .tm-extra-product-options-totals {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 14px 20px !important;
    margin: 0 0 12px 0 !important;
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%) !important;
    border: 1px solid #bae6fd !important;
    border-radius: 10px !important;
}

/* Hide non-final rows */
.acadia-drawer-footer .tm-extra-product-options-totals dt:not(.tm-final-totals),
.acadia-drawer-footer .tm-extra-product-options-totals dd:not(.tm-final-totals),
.acadia-sidebar-sheet-footer .tm-extra-product-options-totals dt:not(.tm-final-totals),
.acadia-sidebar-sheet-footer .tm-extra-product-options-totals dd:not(.tm-final-totals) {
    display: none !important;
}

/* Final totals label */
.acadia-drawer-footer dt.tm-final-totals,
.acadia-sidebar-sheet-footer dt.tm-final-totals {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #334155 !important;
    background: none !important;
    border: none !important;
}

/* Final totals value */
.acadia-drawer-footer dd.tm-final-totals,
.acadia-sidebar-sheet-footer dd.tm-final-totals {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
}

.acadia-drawer-footer dd.tm-final-totals .amount,
.acadia-drawer-footer dd.tm-final-totals .price,
.acadia-sidebar-sheet-footer dd.tm-final-totals .amount,
.acadia-sidebar-sheet-footer dd.tm-final-totals .price {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #0369a1 !important;
}

/* ===== Mobile CTA Bar Right Alignment ===== */
.acadia-mobile-cta-bar .cta-buttons {
    display: flex !important;
    gap: 10px !important;
    width: 100% !important;
    justify-content: right !important;
    align-items: center !important;
}

/* ===== Instructor Social Icons ===== */
/* Base icon style */
.social-row .soc-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 6px !important;
    background: #f1f5f9 !important;
    text-decoration: none !important;
    transition: none !important;
    transform: none !important;
    margin: 0 4px !important;
    font-size: 14px !important;
    color: #94a3b8 !important;
    /* Default icon color */
}

/* Active icons - have brand background and white content */
.social-row a.soc-icon {
    color: #fff !important;
    opacity: 1 !important;
    cursor: pointer !important;
}

/* Active Brand Backgrounds */
.social-row a.soc-icon.linkedin {
    background-color: #0077b5 !important;
}

.social-row a.soc-icon.kaggle {
    background-color: #20beff !important;
    font-weight: 700 !important;
    font-family: sans-serif !important;
}

.social-row a.soc-icon.github {
    background-color: #333 !important;
}

.social-row a.soc-icon.twitter,
.social-row a.soc-icon.x {
    background-color: #000 !important;
}

.social-row a.soc-icon.instagram {
    background-color: #e4405f !important;
}

.social-row a.soc-icon.facebook {
    background-color: #1877f2 !important;
}

.social-row a.soc-icon.website {
    background-color: #0274be !important;
}

/* Inactive icons - very light gray */
.social-row .soc-icon.inactive,
.social-row span.soc-icon {
    color: #cbd5e1 !important;
    background: #eef4fa !important;
    cursor: default !important;
    opacity: 0.6 !important;
}

/* REMOVE ALL HOVER EFFECTS - NO MOVEMENT */
.social-row .soc-icon:hover,
.social-row a.soc-icon:hover {
    transform: none !important;
    transition: none !important;
    margin-top: 0 !important;
    top: 0 !important;
    box-shadow: none !important;
    opacity: 0.9 !important;
    /* Slight opacity change instead of movement */
}

/* SVG sizing */
/* .social-row .soc-icon svg {
    width: 16px !important;
    height: 16px !important;
    fill: currentColor !important;
} */

/* Mobile Sizing for Social Icons */
@media screen and (max-width: 768px) {
    .social-row .soc-icon {
        width: 22px !important;
        height: 22px !important;
        margin: 0 2px !important;
        border-radius: 4px !important;
        /* Slightly sharper corners for small size */
    }

    .social-row .soc-icon svg {
        width: 15px !important;
        height: 15px !important;
    }

    .social-row a.soc-icon.kaggle {
        font-size: 13px !important;
    }
}