/* ==========================================================
   Patra Patri Plugin
   File: layout.css
   Purpose: Base Page Layout (Container / Section / Title)
   + Force Full-Width On Plugin Pages (Any Theme)
========================================================== */

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

.pp-container{
    width:100%;
    max-width:1400px;
    margin:0 auto;
    padding:20px 15px;
    overflow-x:hidden;
}

body.pp-module,
body:has(.pp-container){
    overflow-x:hidden;
}

.pp-section{
    margin:50px 0;
}

.pp-title{
    font-size:32px;
    font-weight:700;
    color:#222;
    margin-bottom:30px;
    line-height:1.3;
}

.pp-full-width #primary,
.pp-full-width #main,
.pp-full-width #content,
.pp-full-width .site-content,
.pp-full-width .site-main,
.pp-full-width .content-area,
.pp-full-width .primary-content,
.pp-full-width .main-content,
.pp-full-width .entry-content,
.pp-full-width .page-content,
.pp-full-width .container,
.pp-full-width .container-fluid,
.pp-full-width .wrap,
.pp-full-width .elementor,
.pp-full-width .elementor-section-wrap{
    width:100% !important;
    max-width:100% !important;
    float:none !important;
    flex:0 0 100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
}

.pp-full-width .sidebar,
.pp-full-width aside,
.pp-full-width .widget-area,
.pp-full-width .secondary,
.pp-full-width #secondary,
.pp-full-width .right-sidebar,
.pp-full-width .left-sidebar{
    display:none !important;
    width:0 !important;
}

/* Newsup/Newstack theme's own #content spacing rule is 60px top/bottom;
   trim it down on plugin pages so content starts closer to the header. */

.pp-matrimony-page #content{
    padding-top:0 !important;
    padding-bottom:0 !important;
}

/* The theme wraps page content in <div class="mg-card-box padding-20">
   which bakes in its own 20px padding on every side - this was
   stacking with .pp-container's own padding, creating the big gaps
   at the top/left/right/bottom of every plugin page. Remove it here,
   since .pp-container already handles spacing consistently. */

.pp-matrimony-page .mg-card-box,
.pp-matrimony-page .padding-20{
    padding:0 !important;
    margin:0 !important;
}

/* Bootstrap's .container-fluid > .row introduces its own negative
   margins/gutters (typically 15px each side) even after our sidebar
   column is hidden - zero these out too so nothing shifts content
   left/right unexpectedly. */

.pp-matrimony-page .container-fluid,
.pp-matrimony-page .row{
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

.pp-matrimony-page main#content{
    margin-top:0 !important;
    margin-bottom:0 !important;
}

.pp-matrimony-page .pp-container{
    padding-top:0 !important;
}

@media (max-width:1200px){
    .pp-container{
        max-width:100%;
        padding:16px 15px;
    }
    .pp-title{
        font-size:28px;
    }
}

@media (max-width:768px){
    .pp-container{
        padding:14px 12px;
    }
    .pp-section{
        margin:30px 0;
    }
    .pp-title{
        font-size:24px;
        text-align:center;
    }

    /* Full-bleed: break .pp-container out of whatever the theme's
       wrapper padding/width is, on mobile - regardless of what that
       wrapper is called. Safe as long as nothing between <body> and
       .pp-container clips overflow (checked: nothing here does). */
    .pp-matrimony-page .pp-container{
        width:100vw;
        max-width:100vw;
        margin-left:calc(50% - 50vw);
        margin-right:calc(50% - 50vw);
        box-sizing:border-box;
    }
}

@media (max-width:480px){
    .pp-container{
        padding:12px 10px;
    }
    .pp-title{
        font-size:22px;
    }
}
