/*
Theme Name: Mosque account maintenance
Theme URI: https://puthimari.org
Author: MixVen Solutions LTD
Description: Islamic vibe minimal theme for Puthimari Bazar Jame Masjid. Works with Puthimari Mosque Manager plugin and WooCommerce.
Version: 1.4.0
Text Domain: puthimari-mosque
*/

/* ========== CSS VARIABLES ========== */

:root{
    --pm-bg-deep: #010f0d;
    --pm-bg-card: #031b16;
    --pm-accent: #0f9d58;
    --pm-accent-soft: #15b36b;
    --pm-accent-gold: #f4cf75;
    --pm-text-main: #f5fff8;
    --pm-text-muted: rgba(241,255,248,0.78);
    --pm-border-soft: rgba(255,255,255,0.08);
    --pm-radius-lg: 18px;
    --pm-radius-xl: 26px;
    --pm-shadow-soft: 0 26px 80px rgba(0,0,0,0.70);
    --pm-shadow-card: 0 18px 45px rgba(0,0,0,0.65);
    --pm-max-width: 1180px;
}

/* ========== GLOBAL RESET ========== */

*,
*::before,
*::after{
    box-sizing: border-box;
}

html,
body{
    height: 100%;
}

html{
    scroll-behavior: smooth;
}

body{
    margin:0;
    padding:72px 0 0; /* fixed header এর জন্য উপরে ফাঁকা */
    background: radial-gradient(circle at top, #064f3b 0, var(--pm-bg-deep) 45%, #000 100%);
    color: var(--pm-text-main);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans Bengali", sans-serif;
    line-height: 1.6;
}

/* Links */
a{
    color: var(--pm-accent-soft);
    text-decoration: none;
}
a:hover{
    color:#ffffff;
}

/* ========== LAYOUT WRAPPER (sticky footer) ========== */

.site-bg{
    min-height: 100vh;
    display:flex;
}

.site-shell{
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 12px;
    flex:1;
    display:flex;
    flex-direction:column;
}

/* ========== HEADER – Islamic slim bar ========== */

.pm-site-header{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: radial-gradient(circle at 0% 0%, #0f684a 0, #021713 40%, #020c0b 100%);
    box-shadow: 0 14px 35px rgba(0,0,0,0.75);
    transform: translateY(0);
    transition: transform .28s ease-out, box-shadow .25s ease-out, background .25s ease-out;
}

/* scroll down → hide */
.pm-site-header.pm-header--hidden{
    transform: translateY(-100%);
    box-shadow:none;
}

/* Islamic arc decoration (right side) */
.pm-site-header::after{
    content:"";
    position:absolute;
    right:-80px;
    top:-80px;
    width:260px;
    height:260px;
    border-radius:50%;
    border:1px solid rgba(244,207,117,0.22);
    box-shadow: 0 0 40px rgba(244,207,117,0.25);
    opacity:0.7;
    pointer-events:none;
}

/* inner 1200px container */
.pm-header-inner{
    max-width: 1200px;
    margin: 0 auto;
    padding: 14px 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 28px;
}

/* Brand – only logo from WordPress */
.pm-brand a{
    display:block;
}
.pm-brand img{
    max-height:48px;
    width:auto;
    display:block;
}

/* Hide site title/tagline if output by theme */
.pm-brand .pm-brand-text,
.pm-site-title,
.pm-site-tagline{
    display:none !important;
}

/* Right side – menu + donate button */
.pm-header-main{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:24px;
}

/* Primary menu */
.pm-primary-nav ul{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    gap:20px;
}
.pm-primary-nav li{
    position:relative;
}
.pm-primary-nav a{
    position:relative;
    display:inline-block;
    padding:4px 0;
    font-size:15px;
    color:var(--pm-text-muted);
}
.pm-primary-nav a::after{
    content:"";
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    bottom:-4px;
    width:0;
    height:2px;
    border-radius:999px;
    background:var(--pm-accent-gold);
    transition:width .2s ease-out;
}
.pm-primary-nav a:hover,
.pm-primary-nav .current-menu-item > a,
.pm-primary-nav .current_page_item > a{
    color:#ffffff;
}
.pm-primary-nav a:hover::after,
.pm-primary-nav .current-menu-item > a::after,
.pm-primary-nav .current_page_item > a::after{
    width:22px;
}

/* ===== Responsive header ===== */

@media (max-width: 900px){

    /* হেডার ইননার – আগের মতই থাকুক */
    .pm-header-inner{
        padding: 8px 12px;
        gap: 0;
        position: relative;
        justify-content: center;
        align-items: center;
    }

    .pm-brand img{
        max-height: 40px;
    }

    .pm-menu-toggle{
        display: flex;
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 30;
    }

    .pm-header-main{
        position: absolute;
        left: 0;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 10px;
    }

    .pm-primary-nav{
        position: relative;
    }

    /* 👉 ড্রপডাউন মেনু এখন বাম দিক থেকে ওপেন করবে */
    .pm-primary-nav ul{
        position: absolute;
        left: 14px !important;   /* হ্যামবার্গারের নিচে বাম দিকে */
        right: auto !important;  /* ডান দিকের constrain তুলে দিলাম */
        top: 115%;
        margin-top: 8px;
        background: rgba(2,19,16,0.98);
        border-radius: 14px;
        padding: 10px 14px;
        box-shadow: 0 18px 40px rgba(0,0,0,0.9);
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        display: none;
        z-index: 25;
    }

    .pm-header-main.is-open .pm-primary-nav ul{
        display: flex;
    }
}



/* Donate button */
.pm-donate-btn{
    padding:7px 18px;
    border-radius:999px;
    background:var(--pm-accent);
    color:#f5fff8;
    font-weight:600;
    font-size:15px;
    border:none;
    box-shadow:0 8px 18px rgba(0,0,0,0.8);
    display:inline-flex;
    align-items:center;
    gap:6px;
    cursor:pointer;
    white-space:nowrap;
    transition:background .18s ease, transform .1s ease, box-shadow .1s ease;
}
.pm-donate-btn::before{
    content:"ﷲ";
    font-family: "Noto Sans Arabic", system-ui, sans-serif;
    font-size:12px;
    opacity:.9;
}
.pm-donate-btn:hover{
    background:var(--pm-accent-soft);
    transform:translateY(-1px);
    box-shadow:0 12px 24px rgba(0,0,0,0.95);
}

@media (max-width: 900px) {
    .pm-donate-btn {
         font-size:10px;
    }
}
/* Mobile menu toggle */
.pm-menu-toggle{
    display:none;
    border:none;
    background:transparent;
    width:40px;
    height:34px;
    align-items:center;
    justify-content:center;
    padding:0;
    cursor:pointer;
}
.pm-menu-icon,
.pm-menu-icon::before,
.pm-menu-icon::after{
    content:"";
    display:block;
    width:18px;
    height:2px;
    background:#f5fff8;
    border-radius:999px;
    position:relative;
}
.pm-menu-icon::before{
    position:absolute;
    top:-5px;
}
.pm-menu-icon::after{
    position:absolute;
    top:5px;
}

/* ছোট স্ক্রিনে header পাতলা → top padding কম */
@media (max-width:480px){
    body{
        padding-top:60px;
    }
    .pm-brand img{
        max-height:40px;
    }
}

/* ===== Responsive header ===== */

@media (max-width: 900px){

    /* হেডার ইননার – লোগো মাঝখানে */
    .pm-header-inner{
        padding: 8px 12px;
        gap: 0;
        position: relative;
        justify-content: center;
        align-items: center;
    }

    .pm-brand{
        margin: 0;
    }

    .pm-brand img{
        max-height: 40px;
    }

    /* মেনু টগল – একদম বাঁ দিকে ফিক্স */
    .pm-menu-toggle{
        display: flex;
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 30;
    }

    /* ডান দিকে: দান বাটন + হিডেন মেনু কন্টেইনার */
    .pm-header-main{
        position: absolute;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        display: flex;
        align-items: center;
        gap: 10px;
    }

    /* ড্রপডাউন মেনু – টগল ক্লিক করলে নিচে খুলবে */
    .pm-primary-nav ul{
        position: absolute;
        right: 0;
        top: 110%;
        margin-top: 8px;
        background: rgba(2,19,16,0.98);
        border-radius: 14px;
        padding: 10px 14px;
        box-shadow: 0 18px 40px rgba(0,0,0,0.9);
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        display: none;
        z-index: 25;
    }

    .pm-header-main.is-open .pm-primary-nav ul{
        display: flex;
    }
}

/* ========== MAIN LAYOUT / BODY ========== */

.pm-site-main{
    max-width: var(--pm-max-width);
    margin: 0 auto;
    padding: 24px 20px 36px;
    position:relative;
    background: transparent;
    box-shadow:none;
    border-radius:0;
    flex:1;
}

/* কোনো overlay circle দরকার নেই এখানে */
.pm-site-main::before,
.pm-site-main::after{
    content:none;
}

/* Content wrapper */
.site-content{
    position:relative;
    z-index:2;
}

/* Default headings/content */
.site-content h1,
.site-content h2,
.site-content h3{
    color:#ffffff;
}
.site-content p{
    color:var(--pm-text-muted);
    margin-bottom:14px;
}

/* Responsive content padding */
@media (max-width:900px){
    .pm-site-main{
        padding:20px 14px 32px;
    }
}

/* ========== WOO / MISC ========== */

/* Donation checkout এ cart-added notice hide */
body.pm-donation-checkout .woocommerce-message{
    display:none !important;
}

/* ========== FOOTER (sticky bottom) ========== */

.pm-site-footer{
    max-width: var(--pm-max-width);
    margin: 0 auto;
    margin-top: auto;              /* flex কলামে সবসময় নিচে ঠেলে দেবে */
    padding: 55px 12px 18px;       /* একটু ওপরে/নিচে প্যাডিং */
    color: var(--pm-text-muted);
    font-size: 12px;
    text-align: center;
  
}

/* main footer line */
.pm-footer-main{
    margin-bottom: 4px;
}

/* tech support line */
.pm-footer-tech{
    font-size: 13px;
    opacity: 0.9;
}

.pm-footer-tech a{
    color: var(--pm-accent-gold);
    font-weight: 600;
}
.pm-footer-tech a:hover{
    color: #ffffff;
}


/* Donation checkout – Payment Now button style */
.pm-donation-checkout #place_order{
    background:#f1c40f !important; /* বাটনের ব্যাকগ্রাউন্ড কালার */
    color:#121c20 !important;      /* টেক্সট কালার */
    border:none;
    border-radius:999px;
    padding:10px 26px;
    font-weight:600;
}

/* Hover হলে */
.pm-donation-checkout #place_order:hover{
    background:#f1c928 !important;
    color:#18323d !important;
}
