/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://tomusborne.com
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 3.5.1.1750429806
Updated: 2025-06-20 14:30:06
*/

/* === Global Page Container === */
.tools-page-container {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
}

/* === Section Title (Category Name) === */
.section-title {
    text-align: center;
    margin-top: 40px;
    margin-bottom: 25px;
    font-size: 24px;
    color: #333333;
    font-weight: 600;
    clear: both;
}

/* === Responsive Grid Layout for Tools === */
.tools-grid {
    display: grid;
    gap: 18px;
    margin-top: 20px;
    grid-template-columns: 1fr; /* মোবাইল ডিফল্ট */
}

@media (min-width: 601px) { /* ছোট ট্যাবলেট */
    .tools-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 768px) { /* মাঝারি ট্যাবলেট */
    .tools-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 992px) { /* বড় ট্যাবলেট ও ডেস্কটপ */
    .tools-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* --- Tool Card Styling (কমন স্টাইল) --- */
.tool-card {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    position: relative; /* স্টারের জন্য */
}

.tool-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
}

/* --- Favourite Star Styling (কমন স্টাইল) --- */
.favorite-star {
    position: absolute;
    cursor: pointer;
    z-index: 10;
}

.favorite-star svg {
    display: block;
    transition: fill 0.2s ease, stroke 0.2s ease;
    fill: none;
    stroke-width: 1.5;
}

.favorite-star.is-favorite svg {
    fill: #FFD700;
    stroke: #FFD700;
}

/* --- Styling for Desktop and Tablet (601px and above) --- */
/* এই মিডিয়া কোয়েরির বাইরের স্টাইলগুলোও ডেস্কটপ/ট্যাবলেটে প্রযোজ্য হবে, যদি না এখানে ওভাররাইড করা হয় */
.tool-card { /* ডেস্কটপ ও ট্যাবলেটের জন্য ডিফল্ট */
    background-color: #333d47;
    display: flex;
    flex-direction: row; /* আইকন এলাকা ও কনটেন্ট এলাকা পাশাপাশি */
    min-height: 135px;
    align-items: stretch; /* উল্লম্ব গ্যাপ দূর করার জন্য */
}

.tool-card-icon-area {
    background-color: #34A853; /* সবুজ ব্যাকগ্রাউন্ড */
    padding: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-basis: 90px; /* আইকন এলাকার প্রস্থ */
    flex-shrink: 0;
}

.tool-icon {
    max-width: 100%;
    max-height: 60px;
    height: auto;
    object-fit: contain;
    border-radius: 4px;
}

.tool-card-content {
    padding: 15px 18px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #ffffff;
    position: relative; /* স্টারকে এই কন্টেইনারের ভেতরে রাখার জন্য */
}

.tool-card-title {
    margin: 0 0 7px 0;
    font-size: 1.02em;
    color: #ffffff !important;
    font-weight: 600;
    line-height: 1.35;
    padding-right: 25px; /* স্টারের জন্য জায়গা */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tool-card-description {
    font-size: 0.8em;
    line-height: 1.5;
    color: #cccccc !important;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: calc(0.8em * 1.5 * 3);
}

.favorite-star { /* ডেস্কটপ/ট্যাবলেটে স্টার .tool-card-content এর কোণায় */
    top: 10px;
    right: 10px;
}

.favorite-star svg {
    width: 18px;
    height: 18px;
    stroke: white; /* ডেস্কটপে সাদা বর্ডার */
}


/* === Mobile Responsiveness (600px এর নিচের স্ক্রিনের জন্য) === */
@media (max-width: 600px) {
    .tools-grid {
        gap: 12px; /* কার্ডের মধ্যে গ্যাপ */
    }

    .tool-card {
        display: flex !important;       /* <<<<< ফ্লেক্স কন্টেইনার (জোর করে) */
        flex-direction: row !important; /* <<<<< আইকন এলাকা ও কনটেন্ট এলাকা পাশাপাশি (জোর করে) */
        align-items: stretch !important;/* <<<<< উভয় অংশকে পুরো উচ্চতা জুড়ে প্রসারিত করবে (জোর করে) */
        min-height: auto;
        padding: 0; /* মূল কার্ডের প্যাডিং ০ */
        background-color: transparent; /* মূল কার্ডের ব্যাকগ্রাউন্ড স্বচ্ছ */
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 2px 5px rgba(0,0,0,0.12); /* হালকা শ্যাডো */
        position: relative; /* স্টারের জন্য */
    }

    .tool-card-icon-area { /* মোবাইলে আইকন এলাকা (বামে) */
        background-color: #34A853 !important; /* সবুজ ব্যাকগ্রাউন্ড (জোর করে) */
        padding: 15px !important; /* আইকনের চারপাশে প্যাডিং (জোর করে) */
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        flex-basis: 85px !important;   /* আইকন এলাকার নির্দিষ্ট প্রস্থ (জোর করে) */
        flex-shrink: 0 !important;
        height: auto !important; /* align-stretch এর কারণে পুরো উচ্চতা নেবে */
        /* border-radius: 8px 0 0 8px; // ঐচ্ছিক */
    }

    .tool-icon { /* মোবাইলে আইকন ইমেজ */
        max-height: 45px !important;   /* আইকনের সাইজ (জোর করে) */
        max-width: 45px !important;
        object-fit: contain !important;
    }
    
    .tool-card-content { /* মোবাইলে কনটেন্ট এলাকা (ডানে) */
        background-color: #333d47 !important; /* ডার্ক ব্যাকগ্রাউন্ড (জোর করে) */
        padding: 12px 15px !important; /* টেক্সটের চারপাশে প্যাডিং (জোর করে) */
        flex-grow: 1 !important;       /* বাকি জায়গা এই অংশ নেবে (জোর করে) */
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important; /* টেক্সট ভার্টিক্যালি সেন্টারে */
        position: relative !important;     /* স্টারকে এই কন্টেইনারের ভেতরে রাখার জন্য (জোর করে) */
        color: #ffffff !important;         /* সাদা টেক্সট (জোর করে) */
    }

    .tool-card-title { /* মোবাইলে টাইটেল */
        font-size: 0.9em !important;
        line-height: 1.3 !important;
        margin: 0 0 5px 0 !important;
        padding-right: 25px !important; /* স্টারের জন্য জায়গা */
        color: #ffffff !important;
        font-weight: 600 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .tool-card-description { /* মোবাইলে ডেসক্রিপশন */
        font-size: 0.75em !important;
        line-height: 1.4 !important;
        color: #cccccc !important;
        margin: 0 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        min-height: calc(0.75em * 1.4 * 2) !important; /* ২ লাইনের জন্য ন্যূনতম উচ্চতা */
    }

    .favorite-star { /* মোবাইলে স্টার .tool-card-content এর কোণায় */
        top: 8px !important;
        right: 10px !important;
    }

    .favorite-star svg {
        width: 16px !important;
        height: 16px !important;
        stroke: white !important;
    }
}