/*
Theme Name: Techfa Be Hero
Theme URI: https://example.com/
Author: Techfa
Author URI: https://example.com/
Description: قالب اختصاصی لندینگ، فروش دوره و محصولات فیزیکی با پشتیبانی WooCommerce.
Version: 1.0.6
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: techfa
*/

/* Auth pages */
.auth-container{display:flex;align-items:center;justify-content:center;padding:60px 15px}
.auth-card{max-width:540px;width:100%;background:#fff;border-radius:10px;box-shadow:0 12px 30px rgba(4,18,34,0.08);padding:28px}
.auth-brand img{max-height:60px}
.auth-title{margin:8px 0 18px;font-size:22px}
.auth-form .field{margin-bottom:14px}
.auth-input{width:100%;padding:12px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:15px}
.field-inline{display:flex;align-items:center;justify-content:space-between}
.forgot-link{font-size:13px;color:#666;text-decoration:none}
.auth-result{margin-top:10px}
.auth-footer{margin-top:18px;font-size:14px}
.btn-block{display:block;width:100%}

/* Simple product/course cards */
.box-container{background:#fff;border-radius:10px;overflow:hidden}
.box-image img{width:100%;display:block}
.product-card{background:#fff;border-radius:8px;padding:12px;text-align:center}
.product-card h4{margin:10px 0 6px}
.price{color:#d33;font-weight:700}


/* Basic layout */
.container{max-width:1100px;margin:0 auto;padding:20px}
.hero{background:#f7fbff;padding:60px 0}
.hero-inner{display:flex;gap:30px;align-items:center}
.hero-text h1{font-size:36px;margin:0 0 10px}
.hero-sub{color:#555;margin-bottom:18px}
.btn{display:inline-block;padding:10px 18px;border-radius:6px;text-decoration:none}
.btn.primary{background:#187fe7;color:#fff}
.btn.ghost{background:transparent;border:1px solid #187fe7;color:#187fe7}

.grid{display:grid;gap:20px}
.cols-2{grid-template-columns:repeat(2,1fr)}
.cols-3{grid-template-columns:repeat(3,1fr)}
.cols-4{grid-template-columns:repeat(4,1fr)}

.feature-item,.product-card,.post-card{background:#fff;padding:15px;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.05)}
.feature-item h3,.product-card h3,.post-card h3{margin:10px 0}
.price{color:#e85a4f;font-weight:700}

/* Auth pages */
.auth-container{max-width:420px;margin:50px auto;padding:28px;background:#fff;border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.06)}
.auth-container h2{text-align:center;margin-bottom:20px}
.auth-container label{display:block;margin-bottom:12px;font-size:14px}
.auth-container input[type="text"],.auth-container input[type="email"],.auth-container input[type="password"]{width:100%;padding:10px;border:1px solid #e6e6e6;border-radius:6px}
.auth-container button{width:100%;padding:12px;border-radius:8px;background:#187fe7;color:#fff;border:none;margin-top:10px}
.auth-container .success{color:green}
.auth-container .error{color:#e54d42}

/* Responsive tweaks */
@media (max-width:900px){.hero-inner{flex-direction:column}.cols-3{grid-template-columns:repeat(1,1fr)}.cols-4{grid-template-columns:repeat(2,1fr)}}

/* WooCommerce custom pages */
.woocommerce-cart-page,
.woocommerce-checkout-page {
    background: #f9fafb;
    padding: 30px 20px 40px;
    border-radius: 16px;
}
.woocommerce-cart-page .page-header,
.woocommerce-checkout-page .page-header {
    margin-bottom: 24px;
}
.woocommerce-cart-page .page-title,
.woocommerce-checkout-page .page-title {
    font-size: 30px;
    margin: 0;
}
.cart-table-wrapper {
    overflow-x: auto;
    margin-bottom: 24px;
}
.shop_table.cart {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
}
.shop_table.cart th,
.shop_table.cart td {
    padding: 16px 14px;
    border-bottom: 1px solid #f1f3f5;
    text-align: left;
    vertical-align: middle;
}
.shop_table.cart th {
    background: #f8fafc;
    font-weight: 700;
}
.shop_table.cart tr:last-child td {
    border-bottom: none;
}
.product-thumbnail img {
    max-width: 100px;
    border-radius: 10px;
}
.product-name a {
    color: #111;
    text-decoration: none;
}
.product-remove a {
    color: #d33;
    font-size: 22px;
    line-height: 1;
}
.cart-empty {
    background: #fff;
    padding: 24px;
    border-radius: 14px;
    text-align: center;
}
.cart-empty p {
    margin-bottom: 16px;
}
.coupon-block {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-bottom: 14px;
}
.coupon-block label {
    min-width: 100px;
    font-weight: 600;
}
.coupon-block input {
    padding: 12px 14px;
    border: 1px solid #dfe3e8;
    border-radius: 10px;
    width: 240px;
    max-width: 100%;
}
.cart-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
}
.checkout-details {
    gap: 24px;
}
.checkout-left,
.checkout-right {
    background: #fff;
    padding: 24px;
    border-radius: 16px;
}
.checkout-left {
    margin-bottom: 24px;
}
.checkout-block {
    margin-bottom: 24px;
}
.checkout-block h2 {
    margin-bottom: 18px;
    font-size: 24px;
}
.woocommerce-checkout .form-row {
    margin-bottom: 16px;
}
.checkout-order-review {
    background: #fff;
    padding: 24px;
    border-radius: 16px;
}
.woocommerce-checkout-page .button,
.woocommerce-cart-page .button,
.woocommerce-cart-page .btn,
.woocommerce-checkout-page .btn {
    border-radius: 10px;
    padding: 12px 22px;
}
.woocommerce-cart-page .actions {
    padding-top: 14px;
}
@media (max-width: 900px) {
    .checkout-details {
        display: block;
    }
    .checkout-left,
    .checkout-right {
        width: 100%;
    }
    .shop_table.cart thead,
    .shop_table.cart tbody,
    .shop_table.cart tr {
        display: block;
    }
    .shop_table.cart tr {
        margin-bottom: 16px;
        border-bottom: 1px solid #f1f3f5;
    }
    .shop_table.cart th,
    .shop_table.cart td {
        display: flex;
        justify-content: space-between;
        width: 100%;
        padding: 12px 10px;
        border: none;
    }
    .shop_table.cart th {
        background: transparent;
        font-weight: 600;
    }
    .shop_table.cart td[data-title]::before {
        content: attr(data-title) ": ";
        font-weight: 700;
        margin-right: 6px;
    }
    .shop_table.cart td {
        border-bottom: 1px solid #f1f3f5;
    }
    .shop_table.cart td:last-child {
        border-bottom: none;
    }
    .product-thumbnail img {
        max-width: 80px;
    }
}

/* WooCommerce custom pages */
.woocommerce-cart-page .page-header,
.woocommerce-checkout-page .page-header {
    margin-bottom: 24px;
}
.woocommerce-cart-page .page-title,
.woocommerce-checkout-page .page-title {
    font-size: 30px;
    margin: 0;
}
.cart-table-wrapper {
    overflow-x: auto;
    margin-bottom: 24px;
}
.shop_table.cart {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
}
.shop_table.cart th,
.shop_table.cart td {
    padding: 16px 14px;
    border-bottom: 1px solid #f1f3f5;
    text-align: left;
}
.shop_table.cart th {
    background: #f8fafc;
    font-weight: 700;
}
.shop_table.cart tr:last-child td {
    border-bottom: none;
}
.product-thumbnail img {
    max-width: 100px;
    border-radius: 10px;
}
.product-name a {
    color: #111;
    text-decoration: none;
}
.cart-empty {
    background: #fff;
    padding: 24px;
    border-radius: 14px;
    text-align: center;
}
.cart-empty p {
    margin-bottom: 16px;
}
.coupon-block {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-bottom: 14px;
}
.coupon-block label {
    min-width: 100px;
}
.coupon-block input {
    padding: 12px 14px;
    border: 1px solid #dfe3e8;
    border-radius: 10px;
    width: 240px;
    max-width: 100%;
}
.cart-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
}
.checkout-details {
    gap: 24px;
}
.checkout-left,
.checkout-right {
    background: #fff;
    padding: 24px;
    border-radius: 16px;
}
.checkout-left {
    margin-bottom: 24px;
}
.checkout-block {
    margin-bottom: 24px;
}
.checkout-block h2 {
    margin-bottom: 18px;
    font-size: 24px;
}
.woocommerce-checkout .form-row {
    margin-bottom: 16px;
}
.checkout-order-review {
    background: #fff;
    padding: 24px;
    border-radius: 16px;
}
.woocommerce-checkout-page .button,
.woocommerce-cart-page .button,
.woocommerce-cart-page .btn {
    border-radius: 10px;
    padding: 12px 22px;
}
@media (max-width: 900px) {
    .checkout-details {
        display: block;
    }
    .checkout-left,
    .checkout-right {
        width: 100%;
    }
}

/* Dashboard page styles */
.user-profile {
    max-width: 100%;
}

.simple-box {
    background: #fff;
    padding: 24px;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05);
}

.face-box {
    display: flex;
    align-items: center;
    gap: 16px;
}

.user-info {
    display: flex;
    align-items: center;
    gap: 16px;
}

.user-avatar {
    width: 68px;
    height: 68px;
    min-width: 68px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f3f4f6;
}

.user-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.user-name h4 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #1f2937;
}

.user-name p {
    margin: 4px 0 0;
    font-size: 14px;
    color: #6b7280;
}

.icon-link-list {
    display: block;
}

.icon-link-list .list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.icon-link-list .list li {
    margin: 0;
}

.icon-link {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 16px;
    border-radius: 12px;
    background: #f9fafb;
    text-decoration: none;
    color: #1f2937;
    transition: all 0.3s ease;
    font-size: 16px;
}

.icon-link:hover {
    background: #f3f4f6;
    transform: translateX(-4px);
}

.icon-link .icon {
    width: 24px;
    height: 24px;
    min-width: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon-link .icon svg {
    width: 24px;
    height: 24px;
}

.icon-link .link-text {
    flex: 1;
    font-weight: 500;
}

.icon-link .link-arrow {
    color: #9ca3af;
    font-size: 14px;
}

.orders-table {
    overflow-x: auto;
}

.orders-table .table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}

.orders-table .table thead {
    background: #f9fafb;
}

.orders-table .table th {
    padding: 12px 14px;
    text-align: right;
    font-weight: 600;
    font-size: 14px;
    color: #6b7280;
    border-bottom: 1px solid #e5e7eb;
}

.orders-table .table td {
    padding: 14px;
    border-bottom: 1px solid #e5e7eb;
    font-size: 15px;
}

.orders-table .table a {
    color: #187fe7;
    text-decoration: none;
    font-weight: 600;
}

.orders-table .table a:hover {
    text-decoration: underline;
}

.order-status {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
}

.order-status.status-pending {
    background: #fef3c7;
    color: #92400e;
}

.order-status.status-processing {
    background: #dbeafe;
    color: #0c4a6e;
}

.order-status.status-completed {
    background: #dcfce7;
    color: #166534;
}

.order-status.status-cancelled {
    background: #fee2e2;
    color: #991b1b;
}

.order-status.status-refunded {
    background: #e0e7ff;
    color: #3730a3;
}

/* Product card expand/collapse styles */
.box-container {
    overflow: hidden;
}

.box-container .box-body {
    padding: 16px;
    transition: all 0.3s ease;
}

.box-container .product-details {
    padding: 16px;
    transition: all 0.3s ease;
    min-height: auto;
}

.box-container .product-details[style*="display: none"] {
    display: none !important;
    visibility: hidden;
    opacity: 0;
    height: 0;
    padding: 0;
    overflow: hidden;
}

.box-container .product-details[style*="display: block"],
.box-container .product-details:not([style*="display: none"]) {
    display: block !important;
    visibility: visible;
    opacity: 1;
    height: auto;
    padding: 16px;
}

.product-description {
    line-height: 1.6;
    color: #4b5563;
}

.product-description p {
    margin-bottom: 12px;
}

.product-description p:last-child {
    margin-bottom: 0;
}

.inner-w-fixed {
    width: 100%;
    padding: 30px 20px;
}

/* Box content styling */
.box-content {
    display: flex;
    flex-direction: column;
}

.box-header {
    width: 100%;
}

.box-body {
    width: 100%;
    box-sizing: border-box;
}

.product-details {
    width: 100%;
    box-sizing: border-box;
}

/* WooCommerce Account Styling */
.woocommerce-MyAccount-content {
    background: #fff;
    padding: 24px;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05);
    margin-bottom: 24px;
}

.account-nav-tabs {
    margin-bottom: 24px;
}

.account-nav-tabs .icon-link-list {
    gap: 0;
}

.account-nav-tabs .icon-link {
    border-bottom: 1px solid #e5e7eb;
}

.account-nav-tabs .icon-link:last-child {
    border-bottom: none;
}

.woocommerce-MyAccount-navigation-link.is-active-dashboard a.icon-link,
.woocommerce-MyAccount-navigation-link.is-active-orders a.icon-link,
.woocommerce-MyAccount-navigation-link.is-active-edit-address a.icon-link,
.woocommerce-MyAccount-navigation-link.is-active-edit-account a.icon-link,
.woocommerce-MyAccount-navigation-link.is-active-customer-logout a.icon-link {
    background: #f0f7ff;
    border-right: 4px solid #187fe7;
}

/* Orders Table Styling */
.orders-table-wrapper {
    overflow-x: auto;
    margin-bottom: 24px;
}

.woocommerce-orders-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
}

.woocommerce-orders-table thead {
    background: #f9fafb;
}

.woocommerce-orders-table th {
    padding: 12px 14px;
    text-align: right;
    font-weight: 600;
    font-size: 14px;
    color: #6b7280;
    border-bottom: 1px solid #e5e7eb;
}

.woocommerce-orders-table td {
    padding: 14px;
    border-bottom: 1px solid #e5e7eb;
    font-size: 15px;
    color: #374151;
}

.woocommerce-orders-table tr:hover {
    background: #f9fafb;
}

.woocommerce-orders-table a {
    color: #187fe7;
    text-decoration: none;
    font-weight: 600;
}

.woocommerce-orders-table a:hover {
    text-decoration: underline;
}

.order-status {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    width: fit-content;
}

.order-status.status-pending {
    background: #fef3c7;
    color: #92400e;
}

.order-status.status-processing {
    background: #dbeafe;
    color: #0c4a6e;
}

.order-status.status-completed {
    background: #dcfce7;
    color: #166534;
}

.order-status.status-on-hold {
    background: #fed7aa;
    color: #9a3412;
}

.order-status.status-cancelled {
    background: #fee2e2;
    color: #991b1b;
}

.order-status.status-refunded {
    background: #e0e7ff;
    color: #3730a3;
}

.order-status.status-failed {
    background: #fee2e2;
    color: #991b1b;
}

/* WooCommerce Forms */
.woocommerce-form-row {
    margin-bottom: 16px;
}

.woocommerce-form-row.form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.woocommerce-form-row label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: #374151;
}

.woocommerce-form-row label span.required {
    color: #dc2626;
}

.woocommerce-Input,
.input-text {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: 15px;
    color: #374151;
    background: #fff;
    transition: all 0.3s ease;
}

.woocommerce-Input:focus,
.input-text:focus {
    outline: none;
    border-color: #187fe7;
    box-shadow: 0 0 0 3px rgba(24, 127, 231, 0.1);
}

.woocommerce-Input::placeholder {
    color: #9ca3af;
}

.woocommerce-form__label-for-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0;
    cursor: pointer;
}

.woocommerce-form__input-checkbox {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    min-width: 18px;
    cursor: pointer;
}

/* Select Fields */
select.woocommerce-Input {
    cursor: pointer;
}

/* Button Styling */
.woocommerce-button,
.woocommerce-form-register__submit,
.woocommerce-form-login__submit {
    padding: 12px 24px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    border: none !important;
    cursor: pointer;
    transition: all 0.3s ease;
}

.woocommerce-button.button {
    background: #187fe7;
    color: #fff;
}

.woocommerce-button.button:hover {
    background: #1570cc;
    text-decoration: none;
}

.woocommerce-button.button.alt {
    background: #187fe7;
}

.woocommerce-button.button.alt:hover {
    background: #1570cc;
}

/* Login/Register Forms */
.u-columns.col2-set {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    margin-bottom: 32px;
}

.u-column1,
.u-column2 {
    background: #fff;
    padding: 24px;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05);
}

.u-column1 h2,
.u-column2 h2 {
    margin: 0 0 24px;
    font-size: 22px;
    font-weight: 600;
    color: #1f2937;
}

.woocommerce-LostPassword {
    margin-top: 16px;
    text-align: center;
}

.woocommerce-LostPassword a {
    color: #187fe7;
    text-decoration: none;
    font-size: 14px;
}

.woocommerce-LostPassword a:hover {
    text-decoration: underline;
}

/* Edit Account Form */
.woocommerce-EditAccountForm {
    max-width: 600px;
}

.woocommerce-EditAccountForm fieldset {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e5e7eb;
}

.woocommerce-EditAccountForm fieldset:last-child {
    border-bottom: none;
}

.woocommerce-EditAccountForm legend {
    font-size: 18px;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 16px;
    display: block;
    width: 100%;
}

/* Address Forms */
.woocommerce-address-fields {
    background: #fff;
    padding: 24px;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05);
    margin-bottom: 24px;
}

.woocommerce-address-fields h3 {
    margin: 0 0 24px;
    font-size: 18px;
    font-weight: 600;
    color: #1f2937;
}

.woocommerce-address-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.woocommerce-address-fields__field-wrapper .form-row-first,
.woocommerce-address-fields__field-wrapper .form-row-last {
    grid-column: auto;
}

.woocommerce-address-fields__field-wrapper .form-row-full {
    grid-column: 1 / -1;
}

/* Messages */
.woocommerce-Message {
    padding: 16px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

.woocommerce-message {
    background: #dbeafe;
    color: #0c4a6e;
    border-left: 4px solid #187fe7;
}

.woocommerce-error {
    background: #fee2e2;
    color: #991b1b;
    border-left: 4px solid #dc2626;
}

.woocommerce-success {
    background: #dcfce7;
    color: #166534;
    border-left: 4px solid #16a34a;
}

/* Responsive */
@media (max-width: 768px) {
    .u-columns.col2-set {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .woocommerce-orders-table th,
    .woocommerce-orders-table td {
        padding: 10px 8px;
        font-size: 13px;
    }

    .woocommerce-address-fields__field-wrapper {
        grid-template-columns: 1fr;
    }

    .account-nav-tabs .icon-link .link-text {
        display: none;
    }

    .account-nav-tabs .icon-link {
        justify-content: center;
        padding: 12px;
    }
}

