/*
 Theme Name:        Prespa SaaS
 Theme URI:         https://nasiothemes.com/themes/prespa/
 Description:       Prespa SaaS serves as a child theme of Prespa, inheriting all the features of Prespa. It is specifically designed for SaaS (Software as a Service) businesses, digital agency, startup, mobile app, and ai automation services, providing a modern and professional look to effectively showcase products and services. The theme is made with the distinct purpose to convert site visitors into customers. It includes specialized block patterns for pricing tables, feature lists, services, testimonials and others. The theme supports responsive layouts and includes a native toggle that allows visitors to switch between light and dark mode. Theme demo: https://prespa-saas-demo.nasiothemes.com/
 Author:            Atanas Yonkov
 Author URI:        http://nasiothemes.com
 Template:          prespa
 Requires at least: 6.1
 Tested up to:      6.9
 Requires PHP:      5.6
 Version:           1.0.8
 License:           GNU General Public License v2 or later
 License URI:       http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:       prespa-saas
 Tags:              education, one-column, two-columns, three-columns, four-columns, grid-layout, right-sidebar, left-sidebar, block-patterns, wide-blocks, custom-colors, custom-header, custom-logo, custom-menu, featured-image-header, featured-images, footer-widgets, full-width-template, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready
*/

.prespa-saas-animated-text {
    background: linear-gradient(to right, #0091f8 0%, #4b0082 25%, #8a2be2 50%, #d755e9 75%, #0091f8 90%);
    background-clip: text;
    color: transparent;
    background-size: 500% auto;
    animation: prespa-saas-text-shine 15s ease-in-out infinite alternate;
    will-change: transform;
}

.prespa-saas-hero-section .icon {
    position: relative;
    animation-name: prespa-saas-float-up-down;
    animation-duration: 5s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    width: fit-content;
    z-index: 10;
    transition: scale .75s ease-in-out;
    scale: 1;
}

.prespa-saas-hero-section .icon-top-left {
    animation-delay: 0s;
}

.prespa-saas-hero-section .icon-top-right {
    animation-delay: 0.75s;
}

.prespa-saas-hero-section .icon-bottom-right {
    animation-delay: 1.5s;
}

.prespa-saas-hero-section .icon-bottom-left {
    animation-delay: 2.25s;
}

.prespa-saas-hero-section .icon-top-left,
.prespa-saas-hero-section .icon-top-right {
    top: 4rem;
}

.prespa-saas-hero-section .icon-bottom-left,
.prespa-saas-hero-section .icon-bottom-right {
    bottom: 4rem;
}

.prespa-saas-hero-section .icon:hover {
    animation-play-state: paused;
    scale: 1.15;
    filter: brightness(1.05);
    z-index: 999;
}


@keyframes prespa-saas-text-shine {
    0% {
        background-position: 0% 50%;
    }

    100% {
        background-position: 100% 50%;
    }
}

@keyframes prespa-saas-float-up-down {

    0%,
    100% {
        translate: 0 0;
    }

    50% {
        translate: 0 -20px;
    }
}

.promo-video a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}


.promo-video a::before {
    content: "▶";
    font-size: 0.8em;
    position: absolute;
    left: 15px;

    opacity: 0;
    transform: translateX(-15px);
    transition: all .6s ease;
}

.promo-video a span {
    display: inline-block;
    transition: transform .6s ease;
}

.promo-video a:hover span {
    transform: translateX(10px);
}

.promo-video a:hover::before {
    opacity: 1;
    transform: translateX(0);
}

.promo-video a:hover {
    background-color: rgba(53, 109, 241, 0.04) !important;
}

.prespa-saas-box {
    gap: .5rem;
}

.prespa-saas-box figure {
	display: flex;
}

.prespa-saas-box p {
    font-size: var(--wp--preset--font-size--small);
}

@media (min-width: 40rem) {
    .prespa-saas-hero-section {
        --wp--preset--font-size--xx-large: 4rem;
    }
}

@media(max-width:40rem) {
    .prespa-saas-hero-section {
        --wp--preset--font-size--xx-large: 1.75rem;
    }

    .prespa-saas-hero-section .icon {
        display: none;
    }

    .prespa-saas-box {
        gap: .375rem;
        padding-left: .25rem !important;
        padding-right: .25rem !important
    }

    .prespa-saas-box p {
        font-size: .75rem;
    }
}

.prespa-saas-pricing-plans .wp-block-column {
    position: relative;
}

.prespa-saas-pricing-plans .badge-wrap {
    position: absolute;
    top: -1rem;
    left: 0;
    right: 0;
    text-align: center;
    width: 100%;
}

.prespa-saas-pricing-plans .nasio-tab-nav-button {
    font-size: .875rem;
}

.prespa-saas-pricing-plans .badge {
    color: #fff;
    padding: .5rem .75rem;
    border-radius: 12px;
    font-size: .75rem;
    background: linear-gradient(90deg, rgb(0, 145, 248) 0%, rgb(138, 43, 226) 70%, rgb(215, 85, 233) 100%);
}

.call-to-action a {
	border: 1px solid #e3e3e3;
	border-radius: 1.75rem;
	transition: .4s background;
}

.post-thumbnail img, .wp-element-button, .hentry, .widget-area section {
	border-radius: 1rem;
}

.top-meta .cat-links a {
	border: 1px solid #e3e3e3;
	border-radius: .5rem;
}

.dark-mode {
    --wp--preset--color--dark-gray: #f7f7f7;
	--wp--preset--color--light-gray: #262626;
	--wp--preset--color--gray-25: #262626;
}


.dark-mode .section-faq.nasio-pattern .nasio-accordion-item-header {
	background-color: transparent;
	border-color: var(--p-line);
}

.dark-mode .nasio-accordion-item {
	border-bottom: 0;
}

.dark-mode .prespa-saas-why-choose-us .wp-block-column > .wp-block-group {
	border-color: #ababab !important;
}

.dark-mode .pattern-testimonials .nasio-slide .wp-block-cover{
	border-color: #ababab !important;
}
/* =====================================================
   BNVSK Premium Contact Form 7 Styles
   Brand Colors: #831810 | #be8c35
===================================================== */

:root{
 --bnvsk-primary:#831810;
 --bnvsk-gold:#be8c35;
 --bnvsk-bg:#faf8f5;
 --bnvsk-border:#e7dfd4;
 --bnvsk-text:#2f2f2f;
 --bnvsk-radius:16px;
 --bnvsk-shadow:0 18px 40px rgba(0,0,0,.08);
 --bnvsk-transition:.35s ease;
}

.bnvsk-cf7{
    max-width:1200px;
    margin:40px auto;
    font-family:Inter,"Segoe UI",Arial,sans-serif;
    color:var(--bnvsk-text);
}

.bnvsk-card{
    background:#fff;
    border:1px solid rgba(190,140,53,.25);
    border-radius:22px;
    overflow:hidden;
    box-shadow:var(--bnvsk-shadow);
    margin-bottom:35px;
}

.bnvsk-header{
    display:flex;
    align-items:center;
    gap:20px;
    padding:10px;
    background:linear-gradient(135deg,#831810,#9b1c17,#be8c35);
    color:#fff;
}

.bnvsk-badge{
    width:68px;
    height:68px;
    border-radius:50%;
    background:#fff;
    color:#831810;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    font-weight:700;
    flex-shrink:0;
}

.bnvsk-heading h3{
    margin:0;
    font-size:28px;
    color:#fff;
    letter-spacing:.5px;
}

.bnvsk-heading p{
    margin:8px 0 0;
    color:rgba(255,255,255,.9);
    line-height:1.7;
}

.bnvsk-body{
    padding:35px;
    background:var(--bnvsk-bg);
}

.bnvsk-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    column-gap:25px;
    row-gap:18px;
}

.full-width{grid-column:1/-1;}

.bnvsk-field{
    position:relative;
    margin:0;
}

.bnvsk-field label{
    display:block;
    margin-bottom:6px;
    color:#831810;
    font-size:15px;
    font-weight:600;
    line-height:1.4;
}

.required{color:#d32f2f;}
/* ==========================================
   BNVSK Form Controls
========================================== */

.bnvsk-field input[type="text"],
.bnvsk-field input[type="email"],
.bnvsk-field input[type="tel"],
.bnvsk-field input[type="url"],
.bnvsk-field input[type="date"],
.bnvsk-field input[type="number"],
.bnvsk-field input[type="password"],
.bnvsk-field select{

    width:100%;
    height:56px;
    padding:0 18px;
    box-sizing:border-box;

    border:2px solid #e7dfd4;
    border-radius:12px;

    background:#fff;

    font-size:15px;
    color:#333;

    transition:.3s ease;
}

/* Textarea */

.bnvsk-field textarea{

    width:100%;
    min-height:160px;
    padding:16px 18px;
    box-sizing:border-box;

    border:2px solid #e7dfd4;
    border-radius:12px;

    resize:vertical;

    font-size:15px;
}

/* Focus */

.bnvsk-field input:focus,
.bnvsk-field select:focus,
.bnvsk-field textarea:focus{

    outline:none;
    border-color:#be8c35;
    box-shadow:0 0 0 4px rgba(190,140,53,.15);

}

/* Placeholder */

.bnvsk-field input::placeholder,
.bnvsk-field textarea::placeholder{

    color:#9b9b9b;

}

.field-note{
    margin-top:8px;
    color:#777;
    font-size:13px;
}

.wpcf7-list-item{
    display:block;
    margin:8px 0;
}

.wpcf7-list-item label{
    display:flex;
    align-items:flex-start;
    gap:10px;
    color:#333;
    font-weight:500;
}

.wpcf7-file{
    padding:12px !important;
    background:#fff8ec;
    border:2px dashed #be8c35 !important;
}



.wpcf7-response-output{
    border-radius:12px;
    padding:15px !important;
    border:2px solid #be8c35 !important;
}

.wpcf7-not-valid{
    border-color:#d32f2f !important;
}

.wpcf7-not-valid-tip{
    color:#d32f2f;
    font-size:13px;
}

@media (max-width:768px){
 .bnvsk-header{
   flex-direction:column;
   align-items:flex-start;
 }
 .bnvsk-body{
   padding:22px;
 }
 .bnvsk-grid{
   grid-template-columns:1fr;
 }
 .full-width{
   grid-column:auto;
 }
 .bnvsk-heading h3{
   font-size:22px;
 }
}
.wpcf7 h3 {
     color:white !important; 
    margin: 35px 0 20px;
    padding-bottom: 10px;
    border-bottom: 3px solid #be8c35;
    font-size: 22px;
    font-weight: 600;
}
.bnvsk-note,
.bnvsk-important,
.bnvsk-warning,
.bnvsk-disclaimer,
.bnvsk-banner,
.bnvsk-rule-box,
.bnvsk-official-note,
.bnvsk-info-box,
.bnvsk-declaration-box{
    margin:25px 0;
    padding:18px 22px;
    border-radius:12px;
    border-left:5px solid #be8c35;
    background:#fffaf3;
    color:#444;
    line-height:1.8;
    box-shadow:0 6px 18px rgba(0,0,0,.05);
}

.bnvsk-note strong,
.bnvsk-important strong,
.bnvsk-warning strong,
.bnvsk-rule-box strong{
    color:#831810;
}

.bnvsk-official-note span{
    display:inline-block;
    background:#831810;
    color:#fff;
    padding:6px 14px;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    margin-bottom:10px;
}

.bnvsk-info-box ul{
    margin:12px 0 0;
    padding-left:20px;
}

.bnvsk-info-box li{
    margin-bottom:8px;
}

.bnvsk-quote{
    margin:25px 0;
    padding:20px 30px;
    border-left:5px solid #be8c35;
    background:#faf7f2;
    font-style:italic;
    color:#555;
    position:relative;
}

.bnvsk-quote::before{
    content:"❝";
    font-size:50px;
    color:#831810;
    opacity:.15;
    position:absolute;
    top:5px;
    left:12px;
}
/* ===========================
   Empanelment Type
=========================== */

.empanelment-type{
    margin:25px 10px;
}

.empanelment-type h3{
    margin-bottom:20px;
    color:#831810 !important;
    font-size:22px;
    font-weight:700;
    border-left:5px solid #be8c35;
    padding-left:15px;
}

/* Checkbox Group */
.empanelment-type .wpcf7-checkbox{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    justify-content:flex-start;
}

.empanelment-type .wpcf7-list-item{
    flex:none !important;
    margin:0 !important;
}

.empanelment-type .wpcf7-list-item label{
    display:flex;
    align-items:center;
    gap:10px;
    padding:15px 20px;
    border:2px solid #e6d8c4;
    border-radius:14px;
    background:#fff;
    cursor:pointer;
    transition:.3s;
    white-space:nowrap;
}
/* Hover Effect */
.empanelment-type .wpcf7-list-item label:hover{
    border-color:#be8c35;
    background:#fffaf3;
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}

/* Checkbox */
.empanelment-type input[type="checkbox"]{
    width:20px;
    height:20px;
    accent-color:#831810;
    cursor:pointer;
}

/* Selected State */
.empanelment-type input[type="checkbox"]:checked{
    accent-color:#831810;
}

/* Mobile */
@media(max-width:768px){

    .empanelment-type .wpcf7-checkbox{
        flex-direction:column;
    }

    .empanelment-type .wpcf7-list-item{
        width:100%;
    }

}

/* ===============================
   BNVSK Form Buttons
================================ */
/* Footer Layout */
.bnvsk-form-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:100%;
    margin-top:40px;
    padding-top:25px;
    border-top:1px solid #e5e5e5;
}

/* Remove extra space added by CF7 */
.bnvsk-form-footer p{
    margin:0;
    display:flex;
}

/* Keep your existing button design */
.bnvsk-reset-btn{
    margin-right:auto;
}

.bnvsk-form-footer input[type="submit"],
.bnvsk-form-footer .wpcf7-submit{
    margin-left:auto;
}

/* Mobile */
@media (max-width:768px){
    .bnvsk-form-footer{
        flex-direction:column;
        gap:15px;
    }

    .bnvsk-reset-btn,
    .bnvsk-form-footer input[type="submit"],
    .bnvsk-form-footer .wpcf7-submit{
        width:100%;
    }
}
.office-use-grid{
    display:grid !important;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

/* Make Office Use take the entire row */
.bnvsk-field.full-width{
    grid-column:1 / -1;
}

/* Office Use Grid */
.office-use-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
    width:100%;
}

.office-use-grid .bnvsk-field{
    width:100%;
}

.office-use-grid input{
    width:100%;
    box-sizing:border-box;
}