/* =====================================================
   YASAN ERPNext Theme
   ===================================================== */

:root {
    --yasan-primary: #6b4f3a;
    --yasan-primary-dark: #4e3829;
    --yasan-secondary: #c49a6c;

    --yasan-background: #f7f5f2;
    --yasan-card: #ffffff;

    --yasan-border: #ded8d1;
    --yasan-text: #333333;
}


/* -----------------------------------------------------
   General
   ----------------------------------------------------- */

body {
    background-color: var(--yasan-background);
}


/* -----------------------------------------------------
   Navbar
   ----------------------------------------------------- */

.navbar {
    background-color: var(--yasan-primary) !important;
}

.navbar .navbar-brand,
.navbar .navbar-nav > li > a {
    color: #ffffff !important;
}


/* -----------------------------------------------------
   Buttons
   ----------------------------------------------------- */

.btn-primary {
    background-color: var(--yasan-primary) !important;
    border-color: var(--yasan-primary) !important;
}

.btn-primary:hover {
    background-color: var(--yasan-primary-dark) !important;
    border-color: var(--yasan-primary-dark) !important;
}


/* -----------------------------------------------------
   Cards
   ----------------------------------------------------- */

.frappe-card,
.widget {
    border-radius: 10px;
}


/* -----------------------------------------------------
   Form Controls
   ----------------------------------------------------- */

.form-control {
    border-radius: 6px;
    border-color: var(--yasan-border);
}


/* -----------------------------------------------------
   Page
   ----------------------------------------------------- */

.page-head {
    background-color: var(--yasan-card);
}
/* =========================
   Yasan Services Page
   ========================= */

.yasan-services-page {
    direction: rtl;
    background: #f7f5f2;
    min-height: 70vh;
}

.yasan-page-hero {
    padding: 70px 20px;
    text-align: center;
    background: #4e3829;
    color: #fff;
}

.yasan-page-hero h1 {
    margin: 0 0 15px;
    font-size: 42px;
    font-weight: 700;
}

.yasan-page-hero p {
    margin: 0;
    font-size: 18px;
    opacity: .9;
}

.yasan-services-list {
    padding: 60px 20px;
}

.yasan-services-list .container {
    max-width: 1200px;
    margin: 0 auto;
}

.yasan-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.yasan-service-card {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 5px 25px rgba(0,0,0,.08);
    transition: transform .2s ease, box-shadow .2s ease;
}

.yasan-service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 35px rgba(0,0,0,.12);
}

.yasan-service-image {
    height: 220px;
    overflow: hidden;
}

.yasan-service-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.yasan-service-content {
    padding: 25px;
}

.yasan-service-content h2 {
    margin-top: 0;
    margin-bottom: 15px;
    color: #4e3829;
    font-size: 23px;
}

.yasan-service-content p {
    color: #666;
    line-height: 1.9;
    min-height: 65px;
}

.yasan-service-content .btn {
    margin-top: 15px;
}

@media (max-width: 900px) {
    .yasan-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .yasan-services-grid {
        grid-template-columns: 1fr;
    }

    .yasan-page-hero h1 {
        font-size: 32px;
    }
}
body {
    direction: rtl !important;
}
/* =====================================================
   YASAN WEBSITE - RTL & PERSIAN
   ===================================================== */

html,
body {
    direction: rtl !important;
}

body,
body * {
    font-family: Tahoma, "Segoe UI", Arial, sans-serif;
}

.text-left {
    text-align: right !important;
}

.text-right {
    text-align: left !important;
}


/* =====================================================
   YASAN WEBSHOP
   ===================================================== */

.webshop-page,
.webshop,
.page-content {
    direction: rtl;
    text-align: right;
}


/* Product cards */

.product-card,
.product-item,
.item-card {
    direction: rtl;
    text-align: right;
}

.product-card img,
.product-item img {
    object-fit: contain;
}

.product-card .product-title,
.product-item .product-title {
    color: var(--yasan-primary-dark);
    font-weight: 600;
}


/* Product price */

.product-card .price,
.product-item .price {
    color: var(--yasan-primary);
    font-weight: 700;
}


/* Buttons */

.webshop-page .btn-primary,
.webshop .btn-primary {
    background-color: var(--yasan-primary) !important;
    border-color: var(--yasan-primary) !important;
}

.webshop-page .btn-primary:hover,
.webshop .btn-primary:hover {
    background-color: var(--yasan-primary-dark) !important;
    border-color: var(--yasan-primary-dark) !important;
}


/* Links */

.webshop-page a,
.webshop a {
    color: var(--yasan-primary);
}

.webshop-page a:hover,
.webshop a:hover {
    color: var(--yasan-primary-dark);
}


/* Product detail */

.product-detail,
.item-detail {
    direction: rtl;
    text-align: right;
}

.product-detail h1,
.item-detail h1 {
    color: var(--yasan-primary-dark);
    font-weight: 700;
}


/* Description */

.product-description,
.web-long-description {
    line-height: 2;
    color: var(--yasan-text);
}


/* Specifications */

.product-specifications,
.website-specifications {
    direction: rtl;
    text-align: right;
}

.product-specifications table,
.website-specifications table {
    direction: rtl;
}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 768px) {

    .product-card,
    .product-item {
        text-align: right;
    }

}


/* =====================================================
   YASAN WEBSHOP - RTL
   ===================================================== */

body.product-page {
    direction: rtl !important;
    text-align: right !important;
}

/* Main webshop page */

body.product-page #page-index {
    direction: rtl;
    text-align: right;
}

/* Breadcrumb */

body.product-page .breadcrumb {
    direction: rtl;
    justify-content: flex-start;
    text-align: right;
}

body.product-page .breadcrumb-item {
    direction: rtl;
}

/* Main product area */

body.product-page #product-listing {
    direction: rtl;
    text-align: right;
}

body.product-page .item-card-group-section {
    direction: rtl;
    text-align: right;
}

/* Filters */

body.product-page #product-filters,
body.product-page .filters-section {
    direction: rtl;
    text-align: right;
}

body.product-page .filters-title {
    text-align: right;
    color: var(--yasan-primary-dark);
    font-weight: 700;
}

body.product-page .clear-filters {
    text-align: left;
}

/* Product listing */

body.product-page .item-card-group {
    direction: rtl;
}

body.product-page .item-card {
    direction: rtl;
    text-align: right;
}

/* Product text */

body.product-page .item-card .item-title,
body.product-page .item-card .item-name,
body.product-page .item-card .product-title {
    direction: rtl;
    text-align: right;
    color: var(--yasan-primary-dark);
}

/* Price */

body.product-page .item-card .price,
body.product-page .item-card .item-price {
    direction: rtl;
    text-align: right;
    color: var(--yasan-primary);
    font-weight: 700;
}

/* Description */

body.product-page .item-card .item-description,
body.product-page .item-card .description {
    direction: rtl;
    text-align: right;
    line-height: 1.9;
}

/* Buttons */

body.product-page .item-card .btn,
body.product-page .item-card button {
    direction: rtl;
}

/* Images */

body.product-page .item-card img {
    object-fit: contain;
}

/* Generic Persian content inside webshop */

body.product-page .text-left {
    text-align: right !important;
}

body.product-page .text-right {
    text-align: left !important;
}


/* =====================================================
   YASAN WEBSHOP - RTL BASE
   ===================================================== */

body.product-page {
    direction: rtl !important;
    text-align: right !important;
}

body.product-page #page-index {
    direction: rtl !important;
    text-align: right !important;
}

body.product-page #product-listing {
    direction: rtl !important;
    text-align: right !important;
}

body.product-page .item-card-group-section {
    direction: rtl !important;
    text-align: right !important;
}

body.product-page #product-filters,
body.product-page .filters-section {
    direction: rtl !important;
    text-align: right !important;
}

body.product-page .filters-title {
    text-align: right !important;
}

body.product-page .breadcrumb {
    direction: rtl !important;
    text-align: right !important;
}
/* =====================================================
   YASAN WEBSHOP - PRODUCT CONTENT RTL
   ===================================================== */

body.product-page {
    direction: rtl !important;
    text-align: right !important;
}

/* Product listing container */

body.product-page #product-listing {
    direction: rtl !important;
    text-align: right !important;
}

/* Product description generated by Webshop */

body.product-page #product-listing .mt-2 {
    direction: rtl !important;
    text-align: right !important;
    line-height: 1.9 !important;
    font-size: 14px !important;
    color: var(--yasan-text) !important;
}

/* Product cards - generic Bootstrap/Webshop containers */

body.product-page #product-listing .card,
body.product-page #product-listing [class*="card"] {
    direction: rtl;
    text-align: right;
}

/* Product images */

body.product-page #product-listing img {
    object-fit: contain;
}

/* Buttons inside product listing */

body.product-page #product-listing .btn {
    direction: rtl;
}

/* Breadcrumb */

body.product-page .breadcrumb {
    direction: rtl !important;
    text-align: right !important;
}

/* Filters */

body.product-page #product-filters {
    direction: rtl !important;
    text-align: right !important;
}

body.product-page .filters-title {
    text-align: right !important;
}

body.product-page .clear-filters {
    text-align: left !important;
}
/* =====================================================
   YASAN WEBSHOP - PRODUCT CARD RTL
   ===================================================== */

body.product-page #product-listing {
    direction: rtl !important;
    text-align: right !important;
}

/* Product card content */

body.product-page #product-listing .col-10.text-left {
    direction: rtl !important;
    text-align: right !important;
}

/* Override Webshop text-left */

body.product-page #product-listing .text-left {
    text-align: right !important;
}

/* Product title */

body.product-page #product-listing .col-8 {
    direction: rtl;
    text-align: right !important;
}

body.product-page #product-listing .col-8 > a {
    display: block;
    direction: rtl;
    text-align: right !important;
    color: var(--yasan-primary-dark) !important;
    font-weight: 600 !important;
    line-height: 1.8;
}

/* Product code */

body.product-page #product-listing .product-code {
    direction: rtl;
    text-align: right !important;
    margin-top: 8px;
    color: #777;
    font-size: 12px;
}

/* Product description */

body.product-page #product-listing .mt-2 {
    direction: rtl !important;
    text-align: right !important;
    line-height: 2 !important;
    font-size: 14px !important;
    color: var(--yasan-text) !important;
}

/* Product price */

body.product-page #product-listing .product-price {
    direction: rtl;
    text-align: right !important;
    margin-top: 12px;
    color: var(--yasan-primary) !important;
    font-size: 16px;
    font-weight: 700;
}

/* Stock status */

body.product-page #product-listing .out-of-stock {
    direction: rtl;
    text-align: right !important;
    display: inline-block;
    color: #888;
    font-size: 12px;
}

/* Cart / Quote button */

body.product-page #product-listing .cart-action-container {
    direction: rtl;
    text-align: left !important;
}

body.product-page #product-listing .btn-add-to-cart-list {
    direction: rtl;
    float: left !important;
    background-color: var(--yasan-primary) !important;
    border-color: var(--yasan-primary) !important;
    border-radius: 6px;
    font-size: 13px;
}

body.product-page #product-listing .btn-add-to-cart-list:hover {
    background-color: var(--yasan-primary-dark) !important;
    border-color: var(--yasan-primary-dark) !important;
}

/* Breadcrumb */

body.product-page .breadcrumb {
    direction: rtl !important;
    text-align: right !important;
}

/* Filters */

body.product-page #product-filters,
body.product-page .filters-section {
    direction: rtl !important;
    text-align: right !important;
}

body.product-page .filters-title {
    text-align: right !important;
}

body.product-page .clear-filters {
    text-align: left !important;
}
/* =====================================================
   YASAN WEBSHOP - FINAL PRODUCT LIST STYLE
   ===================================================== */

body.product-page {
    direction: rtl !important;
    text-align: right !important;
    background-color: var(--yasan-background);
}

/* Main content */

body.product-page #page-index {
    direction: rtl !important;
}

body.product-page #product-listing {
    direction: rtl !important;
    text-align: right !important;
}

/* -----------------------------------------------------
   Breadcrumb
   ----------------------------------------------------- */

body.product-page .breadcrumb {
    direction: rtl !important;
    text-align: right !important;
}

body.product-page .breadcrumb-item {
    direction: rtl;
}

/* -----------------------------------------------------
   Filters
   ----------------------------------------------------- */

body.product-page #product-filters {
    direction: rtl !important;
    text-align: right !important;
}

body.product-page .filters-section {
    direction: rtl !important;
    text-align: right !important;
}

body.product-page .filters-title {
    direction: rtl;
    text-align: right !important;
    color: var(--yasan-primary-dark);
    font-weight: 700;
}

body.product-page .clear-filters {
    text-align: left !important;
    color: var(--yasan-primary) !important;
}

/* -----------------------------------------------------
   Product information
   ----------------------------------------------------- */

body.product-page #product-listing .text-left {
    text-align: right !important;
}

body.product-page #product-listing .col-10 {
    direction: rtl;
    text-align: right !important;
}

/* Product title */

body.product-page #product-listing .col-8 {
    direction: rtl;
    text-align: right !important;
}

body.product-page #product-listing .col-8 a {
    display: block;
    direction: rtl;
    text-align: right !important;

    color: var(--yasan-primary-dark) !important;
    font-size: 16px;
    font-weight: 600 !important;
    line-height: 1.8;

    text-decoration: none;
}

body.product-page #product-listing .col-8 a:hover {
    color: var(--yasan-secondary) !important;
}

/* Product code */

body.product-page #product-listing .product-code {
    direction: rtl;
    text-align: right !important;

    margin-top: 8px;
    margin-bottom: 5px;

    color: #777;
    font-size: 12px;
}

/* Description */

body.product-page #product-listing .mt-2 {
    direction: rtl !important;
    text-align: right !important;

    line-height: 2 !important;
    font-size: 14px !important;

    color: var(--yasan-text) !important;

    margin-top: 8px !important;
}

/* Price */

body.product-page #product-listing .product-price {
    direction: rtl !important;
    text-align: right !important;

    margin-top: 12px;

    color: var(--yasan-primary) !important;

    font-size: 16px;
    font-weight: 700;
}

/* Stock */

body.product-page #product-listing .out-of-stock {
    display: inline-block;

    direction: rtl;
    text-align: right !important;

    color: #888 !important;
    font-size: 12px;
}

/* -----------------------------------------------------
   Cart / Quote
   ----------------------------------------------------- */

body.product-page #product-listing .cart-action-container {
    direction: rtl;
}

body.product-page #product-listing .btn-add-to-cart-list {
    direction: rtl;

    background-color: var(--yasan-primary) !important;
    border-color: var(--yasan-primary) !important;

    border-radius: 6px;

    font-size: 13px;
    font-weight: 500;

    min-width: 135px;
}

body.product-page #product-listing .btn-add-to-cart-list:hover {
    background-color: var(--yasan-primary-dark) !important;
    border-color: var(--yasan-primary-dark) !important;
}

/* -----------------------------------------------------
   Product images
   ----------------------------------------------------- */

body.product-page #product-listing img {
    object-fit: contain;
}

/* -----------------------------------------------------
   General links
   ----------------------------------------------------- */

body.product-page #product-listing a {
    text-decoration: none;
}

/* -----------------------------------------------------
   Mobile
   ----------------------------------------------------- */

@media (max-width: 768px) {

    body.product-page #product-listing .col-10 {
        width: 100%;
    }

    body.product-page #product-listing .col-8 {
        width: 100%;
    }

    body.product-page #product-listing .cart-action-container {
        width: 100%;
        margin-top: 10px;
    }

    body.product-page #product-listing .btn-add-to-cart-list {
        float: none !important;
        width: 100%;
    }

}

/* =====================================================
   YASAN WEBSITE HEADER
   ===================================================== */

.navbar {
    direction: rtl !important;

    background-color: var(--yasan-primary) !important;

    min-height: 64px;

    border: none !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.08);
}

/* Navbar container */

.navbar .container,
.navbar .container-fluid {
    direction: rtl;
}

/* Logo */

.navbar .navbar-brand {
    color: #ffffff !important;
    font-weight: 700;

    margin-left: 30px;
    margin-right: 0;
}

/* Navigation */

.navbar .navbar-nav {
    direction: rtl;
}

.navbar .navbar-nav .nav-item {
    direction: rtl;
}

.navbar .navbar-nav .nav-link {
    direction: rtl;

    color: #ffffff !important;

    padding: 20px 16px;

    font-size: 14px;
    font-weight: 500;

    transition:
        background-color .2s ease,
        color .2s ease;
}

/* Hover */

.navbar .navbar-nav .nav-link:hover {
    color: #ffffff !important;

    background-color: var(--yasan-primary-dark) !important;
}

/* Active */

.navbar .navbar-nav .active > .nav-link,
.navbar .navbar-nav .nav-link.active {
    color: #ffffff !important;
    background-color: var(--yasan-primary-dark) !important;
}

/* Navbar buttons */

.navbar .btn {
    direction: rtl;
}

/* Mobile navbar */

@media (max-width: 768px) {

    .navbar .navbar-nav .nav-link {
        padding: 12px 15px;
    }

}

/* =========================================================
   YASAN - Webshop Product Detail
   ========================================================= */

body:has(.product-description) {
    direction: rtl !important;
    text-align: right !important;
    background-color: var(--yasan-background);
}

.product-description {
    direction: rtl !important;
}

/* Breadcrumb */
.product-description .page-breadcrumbs,
.product-description .breadcrumb-container,
.product-description .breadcrumb {
    direction: rtl !important;
    text-align: right !important;
}

.product-description .breadcrumb {
    margin-bottom: 25px;
}

.product-description .breadcrumb-item a {
    color: var(--yasan-primary) !important;
    text-decoration: none;
}

.product-description .breadcrumb-item a:hover {
    color: var(--yasan-secondary) !important;
}


/* =========================================================
   Product Image
   ========================================================= */

.product-description .website-image {
    width: 100% !important;
    height: auto !important;
    max-height: 520px;
    object-fit: contain !important;
    border-radius: 10px;
}

.product-description .website-image:hover {
    cursor: zoom-in;
}


/* =========================================================
   Product Information
   ========================================================= */

.product-description h2 {
    direction: rtl !important;
    text-align: right !important;
    color: var(--yasan-primary-dark) !important;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.8;
    margin-bottom: 15px;
}

.product-description .product-code {
    direction: rtl !important;
    text-align: right !important;
    color: #777 !important;
    font-size: 13px;
    margin-bottom: 20px;
}


/* =========================================================
   Product Description
   ========================================================= */

.product-description p {
    direction: rtl !important;
    text-align: right !important;
    line-height: 2.1;
    color: var(--yasan-text);
    font-size: 14px;
}

.product-description h2 + p {
    font-size: 15px;
}


/* =========================================================
   Product Actions
   ========================================================= */

.product-description .btn-add-to-cart,
.product-description .btn-view-in-cart,
.product-description .btn-inquiry {
    direction: rtl !important;
    border-radius: 7px !important;
    min-height: 42px;
    font-size: 14px;
    font-weight: 600;
    padding: 8px 18px;
    margin-top: 10px;
}


/* Add to Quote */

.product-description .btn-add-to-cart {
    background-color: var(--yasan-primary) !important;
    border-color: var(--yasan-primary) !important;
    color: #fff !important;
}

.product-description .btn-add-to-cart:hover {
    background-color: var(--yasan-primary-dark) !important;
    border-color: var(--yasan-primary-dark) !important;
}


/* View in Quote */

.product-description .btn-view-in-cart {
    background-color: #fff !important;
    border-color: var(--yasan-primary) !important;
    color: var(--yasan-primary) !important;
}

.product-description .btn-view-in-cart:hover {
    background-color: var(--yasan-primary) !important;
    color: #fff !important;
}


/* Contact */

.product-description .btn-inquiry {
    background-color: var(--yasan-secondary) !important;
    border-color: var(--yasan-secondary) !important;
    color: #fff !important;
}

.product-description .btn-inquiry:hover {
    background-color: var(--yasan-primary-dark) !important;
    border-color: var(--yasan-primary-dark) !important;
}


/* =========================================================
   Product Content Card
   ========================================================= */

.product-description .page-content {
    background-color: var(--yasan-card);
    border-radius: 12px;
}

.product-description .page-content-wrapper {
    direction: rtl !important;
}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 768px) {

    .product-description h2 {
        font-size: 22px;
        margin-top: 20px;
    }

    .product-description .website-image {
        max-height: 350px;
    }

    .product-description .btn-add-to-cart,
    .product-description .btn-view-in-cart,
    .product-description .btn-inquiry {
        width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        margin-bottom: 8px;
    }
}
/* =========================================================
   YASAN - ALL WEBSHOP PRODUCT DESCRIPTIONS - RTL
   ========================================================= */

body.product-page .product-description {
    direction: rtl !important;
    text-align: right !important;
    width: 100%;
}

body.product-page .product-description .ql-editor {
    direction: rtl !important;
    text-align: right !important;
    unicode-bidi: plaintext;
    line-height: 2.1 !important;
    font-size: 15px !important;
    color: var(--yasan-text) !important;
}

/* Headings */
body.product-page .product-description .ql-editor h1,
body.product-page .product-description .ql-editor h2,
body.product-page .product-description .ql-editor h3,
body.product-page .product-description .ql-editor h4 {
    direction: rtl !important;
    text-align: right !important;
}

body.product-page .product-description .ql-editor h2 {
    color: var(--yasan-primary-dark) !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.8 !important;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
}

body.product-page .product-description .ql-editor h3 {
    color: var(--yasan-primary) !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    margin-top: 25px !important;
    margin-bottom: 12px !important;
}

/* Paragraphs */
body.product-page .product-description .ql-editor p {
    direction: rtl !important;
    text-align: right !important;
    line-height: 2.15 !important;
    margin-bottom: 14px !important;
}

/* Lists */
body.product-page .product-description .ql-editor ol,
body.product-page .product-description .ql-editor ul {
    direction: rtl !important;
    text-align: right !important;
    padding-right: 28px !important;
    padding-left: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

body.product-page .product-description .ql-editor li {
    direction: rtl !important;
    text-align: right !important;
    line-height: 2 !important;
    padding-right: 5px !important;
    padding-left: 0 !important;
    margin-bottom: 5px !important;
}

/* Bold */
body.product-page .product-description .ql-editor strong {
    color: var(--yasan-primary-dark) !important;
    font-weight: 700 !important;
}

/* Override inline alignment from Quill */
body.product-page .product-description .ql-editor
p[style*="text-align"] {
    text-align: right !important;
}

/* Mobile */
@media (max-width: 768px) {
    body.product-page .product-description .ql-editor {
        font-size: 14px !important;
        line-height: 2 !important;
    }

    body.product-page .product-description .ql-editor h2 {
        font-size: 21px !important;
    }

    body.product-page .product-description .ql-editor h3 {
        font-size: 18px !important;
    }
}