/*
Theme Name: قندنبات
Theme URI: https://donyaemahd.ir
Author: دنیای مهد
Author URI: https://donyaemahd.ir
Version: 1.0.0
Requires at least: 6.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ghandenabat
Tags: rtl, custom-menu, featured-images, custom-logo, theme-options
*/

/* =====================================================
   WORDPRESS RESET
   Neutralize default WP theme styles
===================================================== */

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

body{
    margin:0;
    padding:0;
}

body.admin-bar .site-header,
body.admin-bar .header-area{
    margin-top:0;
}

body.admin-bar{
    padding-top:0!important;
}

#wpadminbar{
    z-index:99999;
}

.wp-caption,
.wp-caption-text,
.sticky,
.gallery-caption,
.bypostauthor,
.alignright,
.alignleft,
.aligncenter,
.screen-reader-text{
    border:none;
    clip:auto;
    overflow:visible;
    position:static;
    width:auto;
    height:auto;
    margin:0;
    padding:0;
}

.entry-content > *:first-child{
    margin-top:0;
}

.entry-content > *:last-child{
    margin-bottom:0;
}

.comments-area .comment-list .comment{
    border:none;
    margin:0;
    padding:0;
}

.widget{
    margin:0;
    padding:0;
    border:none;
    background:none;
    box-shadow:none;
}

.widget-title{
    border:none;
    margin:0;
    padding:0;
}

/* =====================================================
   ROOT
===================================================== */

:root{
    --primary:#ff5c8a;
    --primary-dark:#ff3d73;
    --secondary:#6a3db8;
    --text:#2d2d2d;
    --muted:#666;
    --bg:#fff9f4;
    --sky:#cfeeff;
}

/* =====================================================
   BASE
===================================================== */

body{
    font-family: "shabnam"!important;
    background:#fff;
    color:var(--text);
    overflow-x:hidden;
    line-height:1.6;
}

body.logged-in.admin-bar{
    margin-top:0!important;
}

a{
    text-decoration:none;
    color:inherit;
}

img{
    max-width:100%;
    height:auto;
}

ul,ol{
    margin:0;
    padding:0;
    list-style:none;
}

h1,h2,h3,h4,h5,h6{
    margin:0;
    padding:0;
    font-family:inherit;
}

p{
    margin:0;
    padding:0;
}

.entry-title,
.page-title,
.archive-title{
    margin:0;
    padding:0;
}

/* =====================================================
   NAVBAR
===================================================== */

.header-area{
    position:relative;
    z-index:10;
}

.navbar-nav{
    position:relative;
    z-index:10;
    padding:22px 0; 
}

.navbar-brand img{
    height:72px;
    width:auto;
}

.navbar-nav{
    gap:14px;
}

.navbar-nav a{
    color:#333;
    padding:10px 18px !important;
    border-radius:50px;
    transition:all .25s ease;
}

.navbar-nav a:hover{
    color:var(--primary);
    background:rgba(255,92,138,.08);
}

.navbar-nav a.active{
    color:var(--primary);
    background:#ffe7ef;
}

.header-phone{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:var(--primary);
    color:#fff;
    padding:14px 26px;
    border-radius:50px;
    font-weight:700;
    box-shadow:0 10px 25px rgba(255,92,138,.35);
    transition:all .25s ease;
}

.header-phone:hover{
    background:var(--primary-dark);
    color:#fff;
    transform:translateY(-2px);
}

.navbar-toggler{
    border:none;
    padding:8px;
}

.navbar-toggler:focus{
    box-shadow:none;
}

/* hero */

.hero-section{
    position:relative;
    overflow:hidden;
    background:#fff;
}

.hero-wrapper{
    position:relative;
}

.hero-image{
    position:relative;
}

.hero-image img{
    width:100%;
    border-radius:40px;
    display:block;
}

.hero-content{

    position:absolute;

    top:55%;

    right:60px;

    transform:translateY(-50%);

    width:500px;

    background:#fff;

    border-radius:80px;

    padding:70px 55px;

    box-shadow:

        0 30px 80px rgba(0,0,0,.08);

}

.hero-content h1{

    font-size:56px;

    line-height:1.5;

    color:#413D93;

    font-weight:900;

}

.hero-content h1 span{

    color:#FF5B99;

}

.hero-content p{

    margin:30px 0;

    color:#666;

    line-height:2;

}

.hero-badge{

    display:inline-block;

    background:#FFE8F0;

    color:#ff5b99;

    padding:10px 24px;

    border-radius:50px;

    margin-bottom:25px;

    font-weight:700;

}

.hero-buttons{

    display:flex;

    gap:15px;

}

.btn-register{

    background:#ff5b99;

    color:#fff;

    border-radius:50px;

    padding:16px 38px;

}

.btn-about{

    border:2px solid #eee;

    border-radius:50px;

    padding:16px 38px;

}

.btn-register:hover{
    background:#ff3d73;
    color:#fff;
}

.btn-about:hover{
    background:#f5f5f5;
    color:#333;
}

@media(max-width:1200px){

.hero-content{

width:420px;

padding:50px;

right:40px;

}

.hero-content h1{

font-size:44px;

}

}

@media(max-width:992px){

.hero-content{

position:relative;

top:auto;

right:auto;

transform:none;

width:100%;

margin-top:30px;

border-radius:35px;

padding:35px;

}

.hero-buttons{

flex-direction:column;

}

.hero-image img{

border-radius:25px;

}

}


/*=========================
Manager
=========================*/

.manager-section{
    padding:100px 0;
    background:#FFFDFB;
}

.manager-card{
    background:#fff;
    border-radius:35px;

    overflow:hidden;
    box-shadow:
        0 20px 60px rgba(0,0,0,.06);
    border:1px solid #f2f2f2;
}

.manager-image{
    height:100%;
}

.manager-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    border-radius: 20px;
}

.manager-content{
    padding:25px;
}

.section-title{

    font-size:34px;

    font-weight:800;

    color:#403A8A;

    margin-bottom:25px;

}

.heart{

    color:#FF5B99;

    margin-left:10px;

}

.manager-content p{

    color:#666;

    line-height:2.3;

    margin-bottom:20px;

    font-size:17px;

}

.manager-name{

    margin-top:35px;

}

.manager-name h5{

    color:#403A8A;

    margin-bottom:8px;

    font-weight:800;

}

.manager-name span{

    color:#2AA772;

    font-weight:600;

}

.manager-info{

    padding:40px;

}

.manager-info ul{

    list-style:none;

    padding:0;

    margin:0;

}

.manager-info li{

    background:#FFF7F9;

    padding:15px 18px;

    border-radius:15px;

    margin-bottom:15px;

    position:relative;

    padding-right:45px;

    color:#555;

}

.manager-info li::before{

    content:"✓";

    width:24px;

    height:24px;

    background:#FF5B99;

    color:#fff;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    position:absolute;

    right:12px;

    top:50%;

    transform:translateY(-50%);

    font-size:13px;

}

@media(max-width:992px){
.manager-content{
padding:35px;
text-align:center;
}

.manager-info{
padding:30px;
}

.manager-image img{
height:380px;
}

}


.why-us{
    padding:100px 0;
    background:#fff;
}

.section-header h2{
    display: inline;
    font-size:42px;
    font-weight:800;
    color:#403A8A;
    margin-top:10px;
}

.section-icon{
    font-size:26px;
}

.why-card{
    background:#fff;
    border-radius:28px;
    padding:35px 22px;
    text-align:center;
    height:100%;
    border:1px solid #f2f2f2;
    box-shadow:0 12px 35px rgba(0,0,0,.05);
    transition:.35s;
}

.why-card:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 50px rgba(0,0,0,.08);
}

.why-icon{
    width:78px;
    height:78px;
    border-radius:50%;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:30px;
    margin-bottom:25px;
}

.why-card .green{
    background:#56B947;
}

.why-card .pink{
    background:#FF5B99;
}

.why-card .yellow{
    background:#FDBA2D;
}

.why-card .blue{
    background:#4CB7F3;
}

.why-card .purple{
    background:#9B6BEB;
}

.why-card .cyan{
    background:#55C5C8;
}

.why-card i{
    color: white;
}

.why-card h5{
    color:#4A3D91;
    font-size:20px;
    font-weight:700;
    margin-bottom:15px;
}

.why-card p{
    color:#777;
    line-height:2;
    font-size:15px;
    margin:0;
}

@media(max-width:992px){

    .section-header h2{
        font-size:34px;
    }

    .why-card{
        padding:30px 20px;
    }

}

@media(max-width:576px){

    .why-card{
        border-radius:20px;
        padding:25px 18px;
    }

    .why-icon{
        width:65px;
        height:65px;
        font-size:24px;
    }

    .why-card h5{
        font-size:18px;
    }

}

/* class */
.classes-section{

    padding:100px 0;

    background:#fff;

}

.classes-section .section-title h2{
    display: inline;
    color:#433A90;
    font-size:42px;
    font-weight:800;
}

.class-card{

    border-radius:30px;

    padding:30px;

    text-align:center;

    transition:.35s;

    height:100%;

    position:relative;

    overflow:hidden;

}

.class-card:hover{

    transform:translateY(-12px);

    box-shadow:0 25px 45px rgba(0,0,0,.08);

}

.class-image{

    width:140px;

    height:140px;

    object-fit:contain;

    margin:0 auto 20px;

    display:block;

}

.class-card h4{

    color:#413D93;

    font-size:24px;

    font-weight:700;

    margin-bottom:18px;

}

.class-meta{

    display:flex;

    flex-direction:column;

    gap:8px;

    color:#777;

    font-size:15px;

    margin-bottom:28px;

}

.class-btn{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:8px;

    background:#fff;

    border-radius:50px;

    padding:13px 18px;

    text-decoration:none;

    font-weight:700;

    color:#555;

    transition:.3s;

}

.class-btn:hover{

    background:#ff5b99;

    color:#fff;

}

.class-btn i{

    font-size:22px;

}

/* Colors */

.classes-section .purple{
    background:#F4F1FF;
}

.classes-section .green{
    background:#EEFDF8;
}

.classes-section .yellow{
    background:#FFF9E4;
}

.classes-section .pink{
    background:#FFF1F4;
}

.classes-section .blue{
    background:#EEF8FF;
}

/* Responsive */

@media(max-width:992px){

.class-card{

padding:25px;

}

.class-image{
    width:100%;
    height:120px;
}

}

@media(max-width:768px){

.classes-section .section-title h2{

font-size:34px;

}

}


.workshops-section{

    padding:100px 0;

    background:#fff;

}

.workshops-section .section-title h2{
    display: inline;
    font-size:42px;

    font-weight:800;

    color:#403A8A;

}

.workshop-card{

    text-align:center;

    transition:.35s;

}

.workshop-card:hover{

    transform:translateY(-10px);

}

.workshop-icon{

    width:95px;

    height:95px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    margin:0 auto 20px;

    font-size:38px;

    transition:.35s;

    box-shadow:0 15px 30px rgba(0,0,0,.06);

}

.workshop-card:hover .workshop-icon{

    transform:scale(1.08) rotate(10deg);

}

.workshop-card h5{

    font-size:20px;

    color:#403A8A;

    font-weight:700;

    margin:0;

}

.mint{

    background:#DDF9F0;

    color:#41B883;

}

.purple{

    background:#ECE6FF;

    color:#7C5CE6;

}

.blue{

    background:#E8F7FF;

    color:#3498DB;

}

.yellow{

    background:#FFF6DD;

    color:#D89B00;

}

.pink{

    background:#FFE8EE;

    color:#F45B93;

}

.indigo{

    background:#ECECFF;

    color:#6A5AE0;

}

.orange{

    background:#FFF4E1;

    color:#D88A00;

}

.btn-workshops{

    display:inline-flex;

    align-items:center;

    gap:8px;

    background:#FF5B99;

    color:#fff;

    text-decoration:none;

    padding:15px 38px;

    border-radius:50px;

    font-weight:700;

    transition:.3s;

    box-shadow:0 15px 30px rgba(255,91,153,.25);

}

.btn-workshops:hover{

    background:#ff3d82;

    color:#fff;

    transform:translateY(-3px);

}

.btn-workshops i{

    font-size:22px;

}

/* Responsive */

@media(max-width:992px){

    .workshops-section .section-title h2{

        font-size:34px;

    }

    .workshop-icon{

        width:80px;

        height:80px;

        font-size:30px;

    }

    .workshop-card h5{

        font-size:17px;

    }

}

@media(max-width:576px){

    .workshop-icon{

        width:70px;

        height:70px;

        font-size:28px;

    }

}

.gallery-section{

    padding:100px 0;

    background:#fff;

}

.gallery-section .section-title h2{
    display: inline;
    color:#403A8A;

    font-size:42px;

    font-weight:800;

}

.gallery-item{

    border-radius:24px;

    overflow:hidden;

    position:relative;

    cursor:pointer;

}

.gallery-item img{

    width:100%;

    height:220px;

    object-fit:cover;

    transition:.5s;

    border-radius:24px;

}

.gallery-item::after{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(255,91,153,.15);

    opacity:0;

    transition:.4s;

}

.gallery-item:hover::after{

    opacity:1;

}

.gallery-item:hover img{

    transform:scale(1.08);

}

.gallery-carousel .owl-stage{

    display:flex;

    align-items:center;

}

.gallery-carousel .owl-item{

    padding:8px;

}

.owl-dots{

    margin-top:30px;

}

.owl-dot span{

    width:12px!important;

    height:12px!important;

    background:#ddd!important;

}

.owl-dot.active span{

    background:#FF5B99!important;

}

.btn-gallery{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:15px 40px;

    background:#FF5B99;

    color:#fff;

    border-radius:50px;

    text-decoration:none;

    font-weight:700;

    transition:.3s;

}

.btn-gallery:hover{

    color:#fff;

    transform:translateY(-3px);

    background:#ff4387;

}

.btn-gallery i{

    font-size:22px;

}

@media(max-width:768px){

.gallery-item img{

height:170px;

}

.gallery-section .section-title h2{

font-size:34px;

}

}

/*==========================
Navigation gallery
=========================*/

.gallery-carousel .owl-nav{

    margin-top:35px;

    display:flex;

    justify-content:center;

    gap:15px;

}

.gallery-carousel .owl-nav button{

    width:55px;

    height:55px;

    border-radius:50%!important;

    background:#fff!important;

    color:#403A8A!important;

    border:2px solid #EFEFEF!important;

    transition:.3s;

    font-size:22px!important;

    display:flex!important;

    justify-content:center;

    align-items:center;

    box-shadow:0 8px 25px rgba(0,0,0,.05);

}

.gallery-carousel .owl-nav button:hover{

    background:#FF5B99!important;

    border-color:#FF5B99!important;

    color:#fff!important;

    transform:translateY(-3px);

}

.gallery-carousel .owl-nav button:focus{

    outline:none;

}

.gallery-carousel .owl-nav button span{

    display:none;

}

/* ==========================
   BLOG SECTION
========================== */

.blog-section{
    padding:100px 0;
    background:#fff;
}

.blog-section .section-title h2{
    display: inline;
    color:#413D93;
    font-size:42px;
    font-weight:800;
}

.blog-card{

    display:flex;

    align-items:center;

    gap:18px;

    background:#fff;

    padding:16px;

    border-radius:28px;

    border:1px solid #f2f2f2;

    box-shadow:0 12px 35px rgba(0,0,0,.05);

    transition:.35s;

    height:100%;

}

.blog-card:hover{

    transform:translateY(-6px);

    box-shadow:0 25px 50px rgba(0,0,0,.08);

}

.blog-thumb{

    flex:0 0 120px;

}

.blog-thumb img{

    width:120px;

    height:120px;

    border-radius:18px;

    object-fit:cover;

    transition:.4s;

}

.blog-card:hover img{

    transform:scale(1.08);

}

.blog-content{

    flex:1;

}

.blog-content h3{

    font-size:20px;

    line-height:1.8;

    margin-bottom:12px;

}

.blog-content h3 a{

    color:#403A8A;

    text-decoration:none;

}

.blog-content p{

    color:#777;

    line-height:2;

    font-size:15px;

    margin-bottom:18px;

}

.blog-footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

    font-size:14px;

}

.blog-footer span{

    color:#999;

}

.blog-footer i{

    color:#FF5B99;

}

.blog-footer a{

    text-decoration:none;

    color:#FF5B99;

    font-weight:700;

}

.btn-blog{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:15px 42px;

    border-radius:50px;

    background:#FF5B99;

    color:#fff;

    text-decoration:none;

    font-weight:700;

    transition:.3s;

}

.btn-blog:hover{

    background:#ff3b83;

    color:#fff;

}

@media(max-width:992px){

.blog-card{

flex-direction:column;

text-align:center;

}

.blog-footer{

flex-direction:column;

gap:10px;

}

.blog-thumb{

flex:auto;

}

}

/* ==========================
   TESTIMONIALS SECTION
========================== */

.testimonials-section{
    padding:100px 0;
    background:#FFFDFB;
}

.testimonials-section .section-title h2{
    display: inline;
    color:#403A8A;
    font-size:42px;
    font-weight:800;
}

.testimonial-card{
    background:#fff;
    border-radius:28px;
    padding:30px;
    text-align:center;
    height:100%;
    border:1px solid #f2f2f2;
    box-shadow:0 12px 35px rgba(0,0,0,.05);
    transition:.35s;
}

.testimonial-card:hover{
    transform:translateY(-6px);
    box-shadow:0 25px 50px rgba(0,0,0,.08);
}

.testimonial-photo{
    width:80px;
    height:80px;
    border-radius:50%;
    object-fit:cover;
    margin:0 auto 15px;
    border:3px solid #FFE8F0;
}

.testimonial-rating{
    color:#FDBA2D;
    font-size:18px;
    margin-bottom:12px;
}

.testimonial-comment{
    color:#666;
    line-height:2;
    font-size:15px;
    margin-bottom:18px;
    font-style:italic;
}

.testimonial-parent{
    color:#403A8A;
    font-weight:700;
    font-size:16px;
    margin-bottom:4px;
}

.testimonial-child{
    color:#FF5B99;
    font-weight:600;
    font-size:14px;
}

/* ==========================
   FAQ SECTION
========================== */

.faq-section{
    padding:100px 0;
    background:#fff;
}

.faq-section .section-title h2{
    display: inline;
    color:#403A8A;
    font-size:42px;
    font-weight:800;
}

.faq-item{
    background:#fff;
    border-radius:16px;
    border:1px solid #f2f2f2;
    margin-bottom:15px;
    overflow:hidden;
    box-shadow:0 5px 15px rgba(0,0,0,.03);
}

.faq-question{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px 25px;
    cursor:pointer;
    font-weight:700;
    color:#403A8A;
    font-size:17px;
    transition:.3s;
    background:#fff;
    border:none;
    width:100%;
    text-align:right;
}

.faq-question:hover{
    color:#FF5B99;
}

.faq-question i{
    transition:.3s;
    font-size:14px;
    color:#FF5B99;
}

.faq-question.active i{
    transform:rotate(180deg);
}

.faq-answer{
    padding:0 25px 20px;
    color:#666;
    line-height:2;
    font-size:15px;
    display:none;
}

.faq-answer.active{
    display:block;
}

@media(max-width:992px){
    .faq-section .section-title h2{
        font-size:34px;
    }
}

/* ==========================
   FOOTER
========================== */

.footer{

    background:#413D93;

    color:#fff;

    padding:80px 0 25px;

    margin-top:100px;

    border-radius:60px 60px 0 0;

}

.footer-logo{

    width:190px;

    margin-bottom:25px;

}

.footer-about p{

    line-height:2.2;

    color:rgba(255,255,255,.8);

}

.footer h4{

    font-size:22px;

    margin-bottom:25px;

    font-weight:700;

}

.footer-links,
.footer-contact{

    list-style:none;

    padding:0;

    margin:0;

}

.footer-links li,
.footer-contact li{

    margin-bottom:16px;

}

.footer-links a{

    color:rgba(255,255,255,.8);

    text-decoration:none;

    transition:.3s;

}

.footer-links a:hover{

    color:#FFD447;

    padding-right:6px;

}

.footer-contact li{

    display:flex;

    gap:12px;

    align-items:flex-start;

    color:rgba(255,255,255,.8);

}

.footer-contact i{

    color:#FF7FB4;

    margin-top:4px;

}

.footer-social{

    display:flex;

    gap:12px;

    margin-top:25px;

}

.footer-social a{

    width:45px;

    height:45px;

    border-radius:50%;

    background:rgba(255,255,255,.12);

    display:flex;

    justify-content:center;

    align-items:center;

    color:#fff;

    font-size:20px;

    transition:.3s;

}

.footer-social a:hover{

    background:#FF5B99;

    transform:translateY(-4px);

}

.footer-map{

    border-radius:22px;

    overflow:hidden;

    height:230px;

}

.footer-map iframe{

    width:100%;

    height:100%;

    border:0;

}

.footer hr{

    margin:45px 0 25px;

    border-color:rgba(255,255,255,.12);

}

.footer-bottom{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:15px;
}

.footer-bottom p,
.footer-bottom span{
    margin:0;
    color:rgba(255,255,255,.75);
}

.footer-bottom a{
    color: #D88A00
}

@media(max-width:992px){

.footer{

text-align:center;

}

.footer-contact li{

justify-content:center;

}

.footer-bottom{

justify-content:center;

}

.footer-social{

justify-content:center;

}

}

/* ==========================
   PAGES COMMON
========================== */

.page-header{
    background:#FFFDFB;
    padding:80px 0 40px;
    text-align:center;
}

.page-header h1{
    color:#403A8A;
    font-size:42px;
    font-weight:800;
}

.page-header .breadcrumb{
    justify-content:center;
    margin-top:15px;
}

.page-header .breadcrumb a{
    color:#666;
    text-decoration:none;
}

.page-header .breadcrumb a:hover{
    color:#FF5B99;
}

.page-header .breadcrumb .active{
    color:#FF5B99;
    font-weight:600;
}

/* ==========================
   SINGLE POST
========================== */

.single-post-section{
    padding:60px 0 100px;
}

.single-post-thumb img{
    width:100%;
    border-radius:28px;
    object-fit:cover;
    max-height:450px;
}

.single-post-content{
    padding:40px 0;
}

.single-post-content h1{
    color:#403A8A;
    font-size:32px;
    font-weight:800;
    margin-bottom:15px;
    line-height:1.6;
}

.single-post-meta{
    display:flex;
    gap:20px;
    color:#999;
    font-size:14px;
    margin-bottom:30px;
    flex-wrap:wrap;
}

.single-post-meta span{
    display:flex;
    align-items:center;
    gap:6px;
}

.single-post-meta i{
    color:#FF5B99;
}

.single-post-content .entry-content{
    color:#555;
    line-height:2.2;
    font-size:17px;
}

.single-post-content .entry-content p{
    margin-bottom:20px;
}

.single-post-content .entry-content img{
    border-radius:16px;
    width:100%;
    margin:20px 0;
}

.single-post-content .entry-content h2,
.single-post-content .entry-content h3{
    color:#403A8A;
    margin:30px 0 15px;
}

.single-post-tags{
    margin-top:30px;
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.single-post-tags a{
    background:#FFE8F0;
    color:#FF5B99;
    padding:6px 16px;
    border-radius:50px;
    font-size:13px;
    font-weight:600;
    text-decoration:none;
    transition:.3s;
}

.single-post-tags a:hover{
    background:#FF5B99;
    color:#fff;
}

/* Post Navigation */
.post-navigation{
    padding:40px 0;
    border-top:1px solid #f2f2f2;
}

.post-navigation .nav-links{
    display:flex;
    justify-content:space-between;
    gap:30px;
}

.post-navigation .nav-previous,
.post-navigation .nav-next{
    flex:1;
}

.post-navigation .nav-next{
    text-align:left;
}

.post-navigation .nav-label{
    color:#999;
    font-size:13px;
    margin-bottom:8px;
    display:flex;
    align-items:center;
    gap:6px;
}

.post-navigation .nav-next .nav-label{
    justify-content:flex-end;
}

.post-navigation a{
    color:#403A8A;
    font-weight:700;
    font-size:18px;
    text-decoration:none;
    line-height:1.6;
    transition:.3s;
}

.post-navigation a:hover{
    color:#FF5B99;
}

/* Related Posts */
.related-posts{
    padding:60px 0;
}

.related-posts .section-title h2{
    display:inline;
    color:#403A8A;
    font-size:34px;
    font-weight:800;
    margin-bottom:30px;
}

/* ==========================
   BLOG ARCHIVE
========================== */

.blog-archive-section{
    padding:60px 0 100px;
}

/* ==========================
   SEARCH RESULTS
========================== */

.search-section{
    padding:60px 0 100px;
}

.search-form-custom{
    max-width:600px;
    margin:0 auto 40px;
    position:relative;
}

.search-form-custom input{
    width:100%;
    padding:16px 50px 16px 20px;
    border:2px solid #eee;
    border-radius:50px;
    font-size:16px;
    font-family:"shabnam";
    outline:none;
    transition:.3s;
}

.search-form-custom input:focus{
    border-color:#FF5B99;
}

.search-form-custom button{
    position:absolute;
    left:5px;
    top:50%;
    transform:translateY(-50%);
    background:#FF5B99;
    color:#fff;
    border:none;
    width:42px;
    height:42px;
    border-radius:50%;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.3s;
}

.search-form-custom button:hover{
    background:#ff3d82;
}

/* ==========================
   404
========================== */

.error-404-section{
    padding:100px 0;
    text-align:center;
}

.error-404-section h1{
    font-size:120px;
    font-weight:900;
    color:#FF5B99;
    margin-bottom:20px;
}

.error-404-section h2{
    color:#403A8A;
    font-size:28px;
    font-weight:700;
    margin-bottom:15px;
}

.error-404-section p{
    color:#666;
    font-size:17px;
    margin-bottom:35px;
}

.error-404-section .btn-home{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#FF5B99;
    color:#fff;
    padding:16px 40px;
    border-radius:50px;
    text-decoration:none;
    font-weight:700;
    transition:.3s;
}

.error-404-section .btn-home:hover{
    background:#ff3d82;
    color:#fff;
    transform:translateY(-3px);
}

/* ==========================
   CONTACT PAGE
========================== */

.contact-section{
    padding:60px 0 100px;
}

.contact-info-card{
    background:#FFFDFB;
    border-radius:28px;
    padding:35px;
    height:100%;
    border:1px solid #f2f2f2;
    box-shadow:0 12px 35px rgba(0,0,0,.05);
}

.contact-info-card h4{
    color:#403A8A;
    font-size:22px;
    font-weight:700;
    margin-bottom:25px;
}

.contact-info-list{
    list-style:none;
    padding:0;
    margin:0;
}

.contact-info-list li{
    display:flex;
    gap:14px;
    align-items:flex-start;
    margin-bottom:20px;
    color:#555;
    font-size:16px;
    line-height:1.8;
}

.contact-info-list i{
    color:#FF5B99;
    font-size:20px;
    margin-top:4px;
    flex-shrink:0;
}

.contact-map{
    border-radius:22px;
    overflow:hidden;
    height:350px;
    margin-top:30px;
}

.contact-map iframe{
    width:100%;
    height:100%;
    border:0;
}

/* CF7 Styling */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.wpcf7 select{
    width:100%!important;
    padding:14px 18px;
    border:2px solid #eee;
    border-radius:14px;
    font-family:"shabnam";
    font-size:15px;
    transition:.3s;
    background:#fff;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus{
    border-color:#FF5B99;
    outline:none;
    box-shadow:0 0 0 3px rgba(255,92,138,.1);
}

.wpcf7 textarea{
    height:150px;
    resize:vertical;
}

.wpcf7 .wpcf7-submit{
    float:left;
    background:#FF5B99;
    color:#fff;
    border:none;
    padding:14px 40px;
    border-radius:50px;
    font-weight:700;
    font-size:16px;
    font-family:"shabnam";
    cursor:pointer;
    transition:.3s;
}

.wpcf7 .wpcf7-submit:hover{
    background:#ff3d82;
    transform:translateY(-2px);
}

.wpcf7-form .wpcf7-response-output{
    border-radius:14px;
    padding:12px 20px;
    margin-top:15px;
}

/* ==========================
   TEACHERS PAGE
========================== */

.teacher-card{
    background:#fff;
    border-radius:28px;
    overflow:hidden;
    border:1px solid #f2f2f2;
    box-shadow:0 12px 35px rgba(0,0,0,.05);
    transition:.35s;
    height:100%;
}

.teacher-card:hover{
    transform:translateY(-8px);
    box-shadow:0 25px 50px rgba(0,0,0,.08);
}

.teacher-photo{
    width:100%;
    height:280px;
    object-fit:cover;
}

.teacher-info{
    padding:25px;
}

.teacher-info h4{
    color:#403A8A;
    font-size:20px;
    font-weight:700;
    margin-bottom:6px;
}

.teacher-position{
    color:#FF5B99;
    font-weight:600;
    font-size:14px;
    margin-bottom:12px;
}

.teacher-bio{
    color:#666;
    line-height:2;
    font-size:15px;
}

/* ==========================
   SINGLE CLASS / WORKSHOP
========================== */

.single-class-section{
    padding:60px 0 100px;
}

.single-class-header{
    text-align:center;
    margin-bottom:40px;
}

.single-class-header img{
    width:200px;
    height:200px;
    object-fit:contain;
    margin-bottom:20px;
}

.single-class-header h1{
    color:#403A8A;
    font-size:36px;
    font-weight:800;
    margin-bottom:10px;
}

.single-class-meta{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.single-class-meta span{
    background:#FFE8F0;
    color:#FF5B99;
    padding:8px 20px;
    border-radius:50px;
    font-weight:600;
    font-size:15px;
}

.single-class-content{
    color:#555;
    line-height:2.2;
    font-size:17px;
}

/* ==========================
   ABOUT PAGE
========================== */

.about-section{
    padding:60px 0 100px;
}

.about-content{
    color:#555;
    line-height:2.2;
    font-size:17px;
}

.about-content h2{
    color:#403A8A;
    font-weight:800;
    margin:30px 0 15px;
}

.about-content p{
    margin-bottom:20px;
}

.about-features{
    padding:60px 0;
    background:#FFFDFB;
}

/* ==========================
   GALLERY SINGLE ALBUM
========================== */

.gallery-album-section{
    padding:60px 0 100px;
}

.gallery-album-images{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
    gap:20px;
}

.gallery-album-images .gallery-album-item{
    border-radius:16px;
    overflow:hidden;
    cursor:pointer;
    position:relative;
}

.gallery-album-images img{
    width:100%;
    height:250px;
    object-fit:cover;
    transition:.5s;
    border-radius:16px;
}

.gallery-album-images img:hover{
    transform:scale(1.08);
}

.gallery-album-images .gallery-album-item::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(255,91,153,.15);
    opacity:0;
    transition:.4s;
    border-radius:16px;
}

.gallery-album-images .gallery-album-item:hover::after{
    opacity:1;
}

/* ==========================
   PAGINATION
========================== */

.pagination-wrap{
    text-align:center;
    margin-top:40px;
}

.pagination{
    display:flex;
    justify-content:center;
    gap:8px;
}

.pagination .page-numbers{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:45px;
    height:45px;
    border-radius:50%;
    background:#fff;
    color:#555;
    border:2px solid #eee;
    text-decoration:none;
    font-weight:700;
    font-size:15px;
    transition:.3s;
}

.pagination .page-numbers:hover,
.pagination .page-numbers.current{
    background:#FF5B99;
    border-color:#FF5B99;
    color:#fff;
}

/* ==========================
   SIDEBAR
========================== */

.blog-sidebar .widget{
    background:#fff;
    border-radius:20px;
    padding:30px;
    border:1px solid #f2f2f2;
    box-shadow:0 8px 25px rgba(0,0,0,.04);
    margin-bottom:30px;
}

.blog-sidebar .widget-title{
    color:#403A8A;
    font-size:20px;
    font-weight:700;
    margin-bottom:20px;
    padding-bottom:12px;
    border-bottom:2px solid #FFE8F0;
}

.blog-sidebar .widget ul{
    list-style:none;
    padding:0;
    margin:0;
}

.blog-sidebar .widget ul li{
    margin-bottom:12px;
}

.blog-sidebar .widget ul li a{
    color:#555;
    text-decoration:none;
    transition:.3s;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.blog-sidebar .widget ul li a:hover{
    color:#FF5B99;
    padding-right:6px;
}

.blog-sidebar .widget_recent_entries .post-date{
    display:block;
    color:#999;
    font-size:13px;
    margin-top:4px;
}

/* Blog + Sidebar layout */
.blog-layout{
    display:grid;
    grid-template-columns:1fr 350px;
    gap:40px;
    align-items:start;
}

@media(max-width:992px){
    .blog-layout{
        grid-template-columns:1fr;
    }
}





/* 1. CONTENT ROOT
   --------------------------------------------------------- */

.entry-content,
.entry-content p,
.post-content,
.page-content,
.article-content,
.single-content {
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.entry-content,
.post-content,
.page-content,
.article-content,
.single-content {
    line-height: 1.9;
    font-size: 1rem;
}

.entry-content *,
.post-content *,
.page-content *,
.article-content *,
.single-content * {
    box-sizing: border-box;
}

.entry-content img,
.post-content img,
.page-content img,
.article-content img,
.single-content img {
    max-width: 100%;
    height: auto;
}


/* 2. PARAGRAPHS
   --------------------------------------------------------- */

.entry-content p,
.post-content p,
.page-content p,
.article-content p,
.single-content p {
    margin: 0 0 1.25em;
}

.entry-content p:last-child,
.post-content p:last-child,
.page-content p:last-child,
.article-content p:last-child,
.single-content p:last-child {
    margin-bottom: 0;
}


/* 3. HEADINGS
   --------------------------------------------------------- */

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6,
.page-content h1,
.page-content h2,
.page-content h3,
.page-content h4,
.page-content h5,
.page-content h6 {
    line-height: 1.5;
    font-weight: 700;
    margin: 1.6em 0 0.65em;
    overflow-wrap: break-word;
}

.entry-content h1,
.post-content h1,
.page-content h1 {
    font-size: 2em;
}

.entry-content h2,
.post-content h2,
.page-content h2 {
    font-size: 1.7em;
}

.entry-content h3,
.post-content h3,
.page-content h3 {
    font-size: 1.4em;
}

.entry-content h4,
.post-content h4,
.page-content h4 {
    font-size: 1.2em;
}

.entry-content h5,
.post-content h5,
.page-content h5 {
    font-size: 1.05em;
}

.entry-content h6,
.post-content h6,
.page-content h6 {
    font-size: 1em;
}


/* 4. LINKS
   --------------------------------------------------------- */

.entry-content a,
.post-content a,
.page-content a,
.article-content a,
.single-content a {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}

.entry-content a:hover,
.post-content a:hover,
.page-content a:hover,
.article-content a:hover,
.single-content a:hover {
    text-decoration-thickness: 2px;
}

.entry-content a img,
.post-content a img,
.page-content a img {
    border: 0;
}


/* 5. IMAGES AND ALIGNMENT
   --------------------------------------------------------- */

.entry-content img,
.post-content img,
.page-content img,
.article-content img,
.single-content img {
    vertical-align: middle;
}

.entry-content img.alignnone,
.post-content img.alignnone,
.page-content img.alignnone {
    display: inline-block;
    margin: 0.5em 0 1.25em;
}

.entry-content img.alignleft,
.post-content img.alignleft,
.page-content img.alignleft {
    float: left;
    margin: 0.4em 1.5em 1em 0;
}

.entry-content img.alignright,
.post-content img.alignright,
.page-content img.alignright {
    float: right;
    margin: 0.4em 0 1em 1.5em;
}

.entry-content img.aligncenter,
.post-content img.aligncenter,
.page-content img.aligncenter {
    display: block;
    margin: 1.25em auto;
}

.entry-content .alignleft,
.post-content .alignleft,
.page-content .alignleft {
    float: left;
    margin: 0.4em 1.5em 1em 0;
}

.entry-content .alignright,
.post-content .alignright,
.page-content .alignright {
    float: right;
    margin: 0.4em 0 1em 1.5em;
}

.entry-content .aligncenter,
.post-content .aligncenter,
.page-content .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.entry-content .alignwide,
.post-content .alignwide,
.page-content .alignwide {
    width: 100%;
    max-width: 100%;
}

.entry-content .alignfull,
.post-content .alignfull,
.page-content .alignfull {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}


/* Clear floats after aligned images */

.entry-content::after,
.post-content::after,
.page-content::after,
.article-content::after,
.single-content::after {
    content: "";
    display: table;
    clear: both;
}


/* 6. WORDPRESS IMAGE CAPTIONS
   --------------------------------------------------------- */

.entry-content .wp-caption,
.post-content .wp-caption,
.page-content .wp-caption {
    max-width: 100%;
    height: auto;
    margin: 1.5em auto;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: center;
}

.entry-content .wp-caption img,
.post-content .wp-caption img,
.page-content .wp-caption img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    border-radius: 6px;
}

.entry-content .wp-caption-text,
.post-content .wp-caption-text,
.page-content .wp-caption-text {
    margin: 0.7em 0 0;
    font-size: 0.875em;
    line-height: 1.7;
    opacity: 0.8;
    text-align: center;
}


/* 7. CLASSIC WORDPRESS GALLERY
   --------------------------------------------------------- */

.entry-content .gallery,
.post-content .gallery,
.page-content .gallery,
.article-content .gallery,
.single-content .gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
    margin: 1.5em 0 2em;
    padding: 0;
    clear: both;
}

.entry-content .gallery .gallery-item,
.post-content .gallery .gallery-item,
.page-content .gallery .gallery-item,
.article-content .gallery .gallery-item,
.single-content .gallery .gallery-item {
    float: none;
    width: auto;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    text-align: center;
}

.entry-content .gallery .gallery-icon,
.post-content .gallery .gallery-icon,
.page-content .gallery .gallery-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    overflow: hidden;
    border-radius: 8px;
}

.entry-content .gallery .gallery-icon a,
.post-content .gallery .gallery-icon a,
.page-content .gallery .gallery-icon a {
    display: block;
    width: 100%;
    line-height: 0;
    text-decoration: none;
}

.entry-content .gallery .gallery-icon img,
.post-content .gallery .gallery-icon img,
.page-content .gallery .gallery-icon img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
    border: 0;
    border-radius: 8px;
    transition: opacity 0.2s ease;
}

.entry-content .gallery .gallery-icon a:hover img,
.post-content .gallery .gallery-icon a:hover img,
.page-content .gallery .gallery-icon a:hover img {
    opacity: 0.85;
}

.entry-content .gallery .gallery-caption,
.post-content .gallery .gallery-caption,
.page-content .gallery .gallery-caption {
    margin: 0.65em 0 0;
    padding: 0;
    font-size: 0.85em;
    line-height: 1.7;
    text-align: center;
    overflow-wrap: anywhere;
}


/* Gallery column counts */

.entry-content .gallery.gallery-columns-1,
.post-content .gallery.gallery-columns-1,
.page-content .gallery.gallery-columns-1 {
    grid-template-columns: minmax(0, 1fr);
}

.entry-content .gallery.gallery-columns-2,
.post-content .gallery.gallery-columns-2,
.page-content .gallery.gallery-columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.entry-content .gallery.gallery-columns-3,
.post-content .gallery.gallery-columns-3,
.page-content .gallery.gallery-columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.entry-content .gallery.gallery-columns-4,
.post-content .gallery.gallery-columns-4,
.page-content .gallery.gallery-columns-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.entry-content .gallery.gallery-columns-5,
.post-content .gallery.gallery-columns-5,
.page-content .gallery.gallery-columns-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.entry-content .gallery.gallery-columns-6,
.post-content .gallery.gallery-columns-6,
.page-content .gallery.gallery-columns-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.entry-content .gallery.gallery-columns-7,
.post-content .gallery.gallery-columns-7,
.page-content .gallery.gallery-columns-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.entry-content .gallery.gallery-columns-8,
.post-content .gallery.gallery-columns-8,
.page-content .gallery.gallery-columns-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
}

.entry-content .gallery.gallery-columns-9,
.post-content .gallery.gallery-columns-9,
.page-content .gallery.gallery-columns-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
}


/* 8. LISTS
   --------------------------------------------------------- */

.entry-content ul,
.entry-content ol,
.post-content ul,
.post-content ol,
.page-content ul,
.page-content ol {
    margin: 0 0 1.5em;
    padding-inline-start: 2em;
}

.entry-content ul,
.post-content ul,
.page-content ul {
    list-style-type: disc;
}

.entry-content ol,
.post-content ol,
.page-content ol {
    list-style-type: decimal;
}

.entry-content li,
.post-content li,
.page-content li {
    margin-bottom: 0.45em;
    padding-inline-start: 0.15em;
}

.entry-content li > ul,
.entry-content li > ol,
.post-content li > ul,
.post-content li > ol,
.page-content li > ul,
.page-content li > ol {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.entry-content ul ul,
.post-content ul ul,
.page-content ul ul {
    list-style-type: circle;
}

.entry-content ul ul ul,
.post-content ul ul ul,
.page-content ul ul ul {
    list-style-type: square;
}


/* 9. BLOCKQUOTES
   --------------------------------------------------------- */

.entry-content blockquote,
.post-content blockquote,
.page-content blockquote {
    margin: 1.75em 0;
    padding: 1em 1.25em;
    border-inline-start: 4px solid #6b5ce7;
    background: rgba(107, 92, 231, 0.06);
    border-radius: 4px;
    font-size: 1.05em;
}

.entry-content blockquote p:last-child,
.post-content blockquote p:last-child,
.page-content blockquote p:last-child {
    margin-bottom: 0;
}

.entry-content blockquote cite,
.post-content blockquote cite,
.page-content blockquote cite {
    display: block;
    margin-top: 0.75em;
    font-size: 0.85em;
    font-style: normal;
    opacity: 0.75;
}


/* 10. TABLES
   --------------------------------------------------------- */

.entry-content table,
.post-content table,
.page-content table {
    width: 100%;
    max-width: 100%;
    margin: 1.5em 0;
    border-collapse: collapse;
    border-spacing: 0;
    border: 1px solid #dedede;
    font-size: 0.95em;
}

.entry-content th,
.entry-content td,
.post-content th,
.post-content td,
.page-content th,
.page-content td {
    padding: 0.75em 1em;
    border: 1px solid #dedede;
    text-align: start;
    vertical-align: middle;
    overflow-wrap: anywhere;
}

.entry-content thead th,
.post-content thead th,
.page-content thead th {
    font-weight: 700;
    background: rgba(127, 127, 127, 0.08);
}

.entry-content tbody tr:nth-child(even),
.post-content tbody tr:nth-child(even),
.page-content tbody tr:nth-child(even) {
    background: rgba(127, 127, 127, 0.035);
}


/* 11. HORIZONTAL RULE
   --------------------------------------------------------- */

.entry-content hr,
.post-content hr,
.page-content hr {
    height: 0;
    margin: 2em 0;
    border: 0;
    border-top: 1px solid #dedede;
}


/* 12. PREFORMATTED TEXT AND CODE
   --------------------------------------------------------- */

.entry-content pre,
.post-content pre,
.page-content pre {
    display: block;
    max-width: 100%;
    margin: 1.5em 0;
    padding: 1em 1.25em;
    overflow-x: auto;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    background: #f7f7f9;
    color: #292929;
    direction: ltr;
    text-align: left;
    white-space: pre;
    font-size: 0.9em;
    line-height: 1.7;
    tab-size: 4;
}

.entry-content code,
.post-content code,
.page-content code,
.entry-content kbd,
.post-content kbd,
.page-content kbd,
.entry-content samp,
.post-content samp,
.page-content samp {
    font-family: Consolas, Monaco, monospace;
    font-size: 0.9em;
}

.entry-content :not(pre) > code,
.post-content :not(pre) > code,
.page-content :not(pre) > code {
    padding: 0.15em 0.4em;
    border-radius: 4px;
    background: rgba(127, 127, 127, 0.12);
    overflow-wrap: anywhere;
}

.entry-content pre code,
.post-content pre code,
.page-content pre code {
    padding: 0;
    background: transparent;
}


/* 13. EMBEDDED VIDEO, IFRAMES AND MAPS
   --------------------------------------------------------- */

.entry-content iframe,
.post-content iframe,
.page-content iframe,
.entry-content video,
.post-content video,
.page-content video {
    max-width: 100%;
}

.entry-content iframe,
.post-content iframe,
.page-content iframe {
    border: 0;
}

.entry-content .wp-video,
.post-content .wp-video,
.page-content .wp-video {
    width: 100% !important;
    max-width: 100%;
    margin: 1.5em auto;
}

.entry-content .wp-video video,
.post-content .wp-video video,
.page-content .wp-video video {
    display: block;
    width: 100%;
    height: auto;
}

.entry-content .wp-audio-shortcode,
.post-content .wp-audio-shortcode,
.page-content .wp-audio-shortcode {
    display: block;
    width: 100% !important;
    max-width: 100%;
    margin: 1.5em 0;
}

.entry-content .wp-embedded-content,
.post-content .wp-embedded-content,
.page-content .wp-embedded-content {
    max-width: 100%;
}


/* 14. WORDPRESS EMBED CARDS
   --------------------------------------------------------- */

.entry-content .wp-block-embed,
.post-content .wp-block-embed,
.page-content .wp-block-embed {
    margin: 1.5em 0;
}

.entry-content .wp-block-embed__wrapper,
.post-content .wp-block-embed__wrapper,
.page-content .wp-block-embed__wrapper {
    max-width: 100%;
}


/* 15. DETAILS AND SUMMARY
   --------------------------------------------------------- */

.entry-content details,
.post-content details,
.page-content details {
    margin: 1.25em 0;
    padding: 0.8em 1em;
    border: 1px solid #dedede;
    border-radius: 6px;
}

.entry-content summary,
.post-content summary,
.page-content summary {
    cursor: pointer;
    font-weight: 600;
}


/* 16. TEXT FORMATTING
   --------------------------------------------------------- */

.entry-content mark,
.post-content mark,
.page-content mark {
    padding: 0.1em 0.25em;
    background: #fff1a8;
    color: #222;
}

.entry-content small,
.post-content small,
.page-content small {
    font-size: 0.85em;
}

.entry-content abbr[title],
.post-content abbr[title],
.page-content abbr[title] {
    text-decoration: underline dotted;
    cursor: help;
}

.entry-content sub,
.entry-content sup,
.post-content sub,
.post-content sup,
.page-content sub,
.page-content sup {
    line-height: 0;
}


/* 17. FORMS INSIDE CONTENT
   --------------------------------------------------------- */

.entry-content input,
.entry-content select,
.entry-content textarea,
.post-content input,
.post-content select,
.post-content textarea,
.page-content input,
.page-content select,
.page-content textarea {
    max-width: 100%;
}

.entry-content textarea,
.post-content textarea,
.page-content textarea {
    width: 100%;
    min-height: 120px;
}


/* 18. GUTENBERG CONTENT FALLBACK
   --------------------------------------------------------- */

.entry-content .wp-block-image,
.entry-content .wp-block-gallery,
.entry-content .wp-block-table,
.entry-content .wp-block-quote,
.entry-content .wp-block-video,
.entry-content .wp-block-audio,
.post-content .wp-block-image,
.post-content .wp-block-gallery,
.post-content .wp-block-table {
    max-width: 100%;
    margin-top: 1.5em;
    margin-bottom: 1.5em;
}

.entry-content .wp-block-image img,
.entry-content .wp-block-gallery img,
.post-content .wp-block-image img,
.post-content .wp-block-gallery img {
    max-width: 100%;
    height: auto;
}

.entry-content .wp-block-table,
.post-content .wp-block-table {
    overflow-x: auto;
}


/* 19. RESPONSIVE - TABLETS
   --------------------------------------------------------- */

@media (max-width: 1024px) {
    .entry-content .gallery.gallery-columns-5,
    .entry-content .gallery.gallery-columns-6,
    .entry-content .gallery.gallery-columns-7,
    .entry-content .gallery.gallery-columns-8,
    .entry-content .gallery.gallery-columns-9,
    .post-content .gallery.gallery-columns-5,
    .post-content .gallery.gallery-columns-6,
    .post-content .gallery.gallery-columns-7,
    .post-content .gallery.gallery-columns-8,
    .post-content .gallery.gallery-columns-9,
    .page-content .gallery.gallery-columns-5,
    .page-content .gallery.gallery-columns-6,
    .page-content .gallery.gallery-columns-7,
    .page-content .gallery.gallery-columns-8,
    .page-content .gallery.gallery-columns-9 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .entry-content .gallery.gallery-columns-4,
    .post-content .gallery.gallery-columns-4,
    .page-content .gallery.gallery-columns-4 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}


/* 20. RESPONSIVE - MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {
    .entry-content,
    .post-content,
    .page-content,
    .article-content,
    .single-content {
        font-size: 0.97rem;
        line-height: 1.85;
    }

    .entry-content h1,
    .post-content h1,
    .page-content h1 {
        font-size: 1.7em;
    }

    .entry-content h2,
    .post-content h2,
    .page-content h2 {
        font-size: 1.45em;
    }

    .entry-content h3,
    .post-content h3,
    .page-content h3 {
        font-size: 1.25em;
    }

    .entry-content img.alignleft,
    .entry-content img.alignright,
    .post-content img.alignleft,
    .post-content img.alignright,
    .page-content img.alignleft,
    .page-content img.alignright {
        float: none;
        display: block;
        max-width: 100%;
        margin: 1.25em auto;
    }

    .entry-content .alignleft,
    .entry-content .alignright,
    .post-content .alignleft,
    .post-content .alignright,
    .page-content .alignleft,
    .page-content .alignright {
        float: none;
        margin-inline: auto;
    }

    .entry-content .gallery,
    .post-content .gallery,
    .page-content .gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .entry-content .gallery.gallery-columns-1,
    .post-content .gallery.gallery-columns-1,
    .page-content .gallery.gallery-columns-1 {
        grid-template-columns: minmax(0, 1fr);
    }

    .entry-content .gallery .gallery-caption,
    .post-content .gallery .gallery-caption,
    .page-content .gallery .gallery-caption {
        font-size: 0.8em;
    }

    .entry-content table,
    .post-content table,
    .page-content table {
        font-size: 0.85em;
    }

    .entry-content th,
    .entry-content td,
    .post-content th,
    .post-content td,
    .page-content th,
    .page-content td {
        padding: 0.55em;
    }

    .entry-content blockquote,
    .post-content blockquote,
    .page-content blockquote {
        padding: 0.85em 1em;
    }

    .entry-content pre,
    .post-content pre,
    .page-content pre {
        padding: 0.85em;
        font-size: 0.82em;
    }
}


/* 21. SMALL MOBILE
   --------------------------------------------------------- */

@media (max-width: 380px) {
    .entry-content .gallery,
    .post-content .gallery,
    .page-content .gallery {
        gap: 8px;
    }

    .entry-content .gallery.gallery-columns-3,
    .entry-content .gallery.gallery-columns-4,
    .entry-content .gallery.gallery-columns-5,
    .entry-content .gallery.gallery-columns-6,
    .entry-content .gallery.gallery-columns-7,
    .entry-content .gallery.gallery-columns-8,
    .entry-content .gallery.gallery-columns-9,
    .post-content .gallery.gallery-columns-3,
    .post-content .gallery.gallery-columns-4,
    .post-content .gallery.gallery-columns-5,
    .post-content .gallery.gallery-columns-6,
    .post-content .gallery.gallery-columns-7,
    .post-content .gallery.gallery-columns-8,
    .post-content .gallery.gallery-columns-9,
    .page-content .gallery.gallery-columns-3,
    .page-content .gallery.gallery-columns-4,
    .page-content .gallery.gallery-columns-5,
    .page-content .gallery.gallery-columns-6,
    .page-content .gallery.gallery-columns-7,
    .page-content .gallery.gallery-columns-8,
    .page-content .gallery.gallery-columns-9 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* 22. PRINT
   --------------------------------------------------------- */

@media print {
    .entry-content a,
    .post-content a,
    .page-content a {
        text-decoration: underline;
    }

    .entry-content img,
    .post-content img,
    .page-content img {
        max-width: 100% !important;
        page-break-inside: avoid;
    }

    .entry-content pre,
    .post-content pre,
    .page-content pre {
        white-space: pre-wrap;
        overflow-wrap: anywhere;
    }
}

