/* ==========================================================================
   HOME + INNER PAGES - SOFTTISSIO
   ========================================================================== */

/* Page Hero */
.page-hero{
    position:relative;
    padding:70px 0 80px;
    background:
        radial-gradient(circle at 90% 20%, rgba(27,86,197,.12), transparent 40%),
        linear-gradient(135deg, #f4f8ff 0%, #ffffff 55%, #eef4ff 100%);
    overflow:hidden;
}

.page-hero::before{
    content:"";
    position:absolute;
    right:-80px;
    top:-40px;
    width:380px;
    height:380px;
    border-radius:50%;
    background:rgba(13,61,143,.06);
}

.page-hero .container{
    position:relative;
    z-index:1;
}

.page-breadcrumb{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    font-size:14px;
    color:var(--text-muted);
    margin-bottom:18px;
}

.page-breadcrumb a{
    color:var(--primary);
    font-weight:500;
}

.page-breadcrumb span{
    color:var(--text-muted);
}

.page-hero h1{
    font-family:var(--font-display);
    font-size:48px;
    font-weight:800;
    color:var(--primary);
    margin:0 0 14px;
    letter-spacing:-1px;
}

.page-hero p{
    max-width:540px;
    margin:0;
    font-size:16px;
    color:var(--text-light);
    line-height:1.7;
}

.page-hero-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
}

.page-hero-visual{
    width:min(420px, 100%);
    flex-shrink:0;
}

.page-hero-visual img{
    width:100%;
    filter:drop-shadow(0 20px 40px rgba(13,61,143,.18));
}

/* Showcase / Best Sellers */
.showcase-section{
    padding:80px 0;
    background:#fff;
}

.showcase-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:40px;
    flex-wrap:wrap;
}

.showcase-header h2{
    font-family:var(--font-display);
    font-size:36px;
    font-weight:800;
    margin:0 0 8px;
    color:var(--text-dark);
}

.showcase-header p{
    margin:0;
    color:var(--text-light);
}

.product-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    overflow:hidden;
    transition:var(--transition);
    height:100%;
    display:flex;
    flex-direction:column;
}

.product-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow-md);
    border-color:transparent;
}

.product-card-image{
    position:relative;
    background:linear-gradient(180deg, #f8faff 0%, #eef3fb 100%);
    min-height:230px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}

.product-card-image img{
    max-height:190px;
    width:auto;
    object-fit:contain;
    transition:var(--transition);
}

.product-card:hover .product-card-image img{
    transform:scale(1.05);
}

.product-badge{
    position:absolute;
    top:14px;
    left:14px;
    background:var(--primary);
    color:#fff;
    font-size:11px;
    font-weight:600;
    padding:5px 10px;
    border-radius:20px;
    letter-spacing:.3px;
}

.product-card-body{
    padding:20px 20px 22px;
    display:flex;
    flex-direction:column;
    flex:1;
}

.product-card-body h3{
    font-size:17px;
    font-weight:700;
    color:var(--primary);
    margin:0 0 6px;
}

.product-meta{
    font-size:13px;
    color:var(--text-muted);
    margin-bottom:10px;
}

.product-rating{
    display:flex;
    align-items:center;
    gap:6px;
    margin-bottom:16px;
    font-size:13px;
    color:var(--text-light);
}

.product-rating i{
    color:var(--accent-gold);
    font-size:12px;
}

.product-card .btn-quote-card{
    width:100%;
    margin-top:auto;
    height:46px;
    font-size:14px;
}

/* Features / Why choose */
.features-section{
    padding:90px 0;
    background:var(--bg-soft);
}

.features-image{
    border-radius:20px;
    overflow:hidden;
    box-shadow:var(--shadow-md);
    background:linear-gradient(135deg, #e8f0ff, #f8faff);
    min-height:420px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:30px;
}

.features-image img{
    max-height:380px;
    width:auto;
}

.features-content h2{
    font-family:var(--font-display);
    font-size:36px;
    font-weight:800;
    margin-bottom:14px;
}

.features-content > p{
    color:var(--text-light);
    margin-bottom:32px;
    max-width:480px;
}

.feature-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.feature-item{
    display:flex;
    gap:14px;
    align-items:flex-start;
    background:#fff;
    border-radius:14px;
    padding:16px 18px;
    border:1px solid transparent;
    transition:var(--transition);
}

.feature-item:hover{
    border-color:rgba(13,61,143,.12);
    box-shadow:var(--shadow-sm);
    transform:translateY(-3px);
}

.feature-icon{
    width:46px;
    height:46px;
    border-radius:12px;
    background:var(--primary-soft);
    color:var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    flex-shrink:0;
}

.feature-item h4{
    margin:0 0 4px;
    font-size:15px;
    font-weight:700;
    color:var(--text-dark);
}

.feature-item p{
    margin:0;
    font-size:13px;
    color:var(--text-light);
    line-height:1.5;
}

/* Stats bar */
.stats-section{
    background:linear-gradient(90deg, var(--primary) 0%, var(--primary-light) 100%);
    padding:48px 0;
    color:#fff;
}

.stats-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:24px;
    text-align:center;
}

.stat-item i{
    font-size:28px;
    margin-bottom:10px;
    display:block;
    opacity:.95;
}

.stat-item h3{
    color:#fff;
    font-size:32px;
    font-weight:800;
    margin:0 0 4px;
}

.stat-item p{
    margin:0;
    color:rgba(255,255,255,.88);
    font-size:14px;
}

/* About teaser + testimonials */
.home-about-section{
    padding:90px 0;
}

.home-about-section h2{
    font-family:var(--font-display);
    font-size:36px;
    font-weight:800;
    margin-bottom:16px;
}

.home-about-section .lead-text{
    color:var(--text-light);
    margin-bottom:28px;
    max-width:480px;
    line-height:1.8;
}

.about-teaser-image{
    border-radius:20px;
    overflow:hidden;
    background:linear-gradient(160deg, #eef4ff, #fff);
    min-height:360px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:30px;
    box-shadow:var(--shadow-sm);
}

.about-teaser-image img{
    max-height:320px;
}

/* Testimonials slider */
.testimonials-section{
    padding:90px 0 80px;
    background:
        radial-gradient(circle at 0% 0%, rgba(27,86,197,.08), transparent 42%),
        radial-gradient(circle at 100% 100%, rgba(13,61,143,.06), transparent 40%),
        linear-gradient(180deg, #f7f9fc 0%, #ffffff 100%);
    overflow:hidden;
}

.testimonials-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:36px;
    flex-wrap:wrap;
}

.testimonials-eyebrow{
    display:inline-block;
    font-size:12px;
    font-weight:700;
    letter-spacing:1.4px;
    text-transform:uppercase;
    color:var(--primary-light);
    margin-bottom:10px;
}

.testimonials-header h2{
    font-family:var(--font-display);
    font-size:36px;
    font-weight:800;
    margin:0 0 10px;
    color:var(--text-dark);
}

.testimonials-header p{
    margin:0;
    color:var(--text-light);
    max-width:460px;
    font-size:15px;
}

.testimonials-nav{
    display:flex;
    gap:10px;
}

.testimonials-prev,
.testimonials-next{
    width:48px;
    height:48px;
    border-radius:50%;
    border:1px solid var(--border);
    background:#fff;
    color:var(--primary);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    transition:var(--transition);
    box-shadow:0 8px 20px rgba(13,61,143,.06);
}

.testimonials-prev:hover,
.testimonials-next:hover{
    background:linear-gradient(135deg, var(--primary), var(--primary-light));
    color:#fff;
    border-color:transparent;
    transform:translateY(-2px);
}

.testimonials-swiper{
    padding:8px 4px 48px;
    overflow:hidden;
}

.testimonials-swiper .swiper-slide{
    height:auto;
}

.testimonial-card{
    position:relative;
    background:#fff;
    border:1px solid rgba(13,61,143,.08);
    border-radius:20px;
    padding:28px 26px 24px;
    height:100%;
    min-height:280px;
    display:flex;
    flex-direction:column;
    transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease;
    box-shadow:0 12px 30px rgba(13,61,143,.05);
    overflow:hidden;
}

.testimonial-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:3px;
    background:linear-gradient(90deg, var(--primary), var(--primary-light), #7aa7ff);
    opacity:0;
    transition:.35s ease;
}

.testimonial-card:hover{
    transform:translateY(-8px);
    box-shadow:0 22px 45px rgba(13,61,143,.12);
}

.testimonial-card:hover::before{
    opacity:1;
}

.testimonial-quote-icon{
    width:42px;
    height:42px;
    border-radius:12px;
    background:var(--primary-soft);
    color:var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    margin-bottom:14px;
}

.testimonial-stars{
    color:var(--accent-gold);
    margin-bottom:14px;
    font-size:13px;
    letter-spacing:1px;
}

.testimonial-text{
    margin:0 0 22px;
    color:var(--text-light);
    font-size:15px;
    line-height:1.75;
    flex:1;
}

.testimonial-top{
    display:flex;
    align-items:center;
    gap:14px;
    margin-top:auto;
    padding-top:4px;
    border-top:1px solid rgba(13,61,143,.06);
    padding-top:16px;
}

.testimonial-avatar{
    width:48px;
    height:48px;
    border-radius:50%;
    background:linear-gradient(135deg, var(--primary), var(--primary-light));
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:15px;
    flex-shrink:0;
    box-shadow:0 8px 18px rgba(13,61,143,.22);
}

.testimonial-top h4{
    margin:0 0 3px;
    font-size:15px;
    font-weight:700;
    color:var(--text-dark);
}

.testimonial-top span{
    font-size:12.5px;
    color:var(--text-muted);
}

.testimonials-pagination{
    position:relative !important;
    bottom:0 !important;
    margin-top:8px;
}

.testimonials-pagination .swiper-pagination-bullet{
    width:8px;
    height:8px;
    background:rgba(13,61,143,.18);
    opacity:1;
    transition:.3s ease;
}

.testimonials-pagination .swiper-pagination-bullet-active{
    width:26px;
    border-radius:8px;
    background:linear-gradient(90deg, var(--primary), var(--primary-light));
}

@media(max-width:767px){
    .testimonials-section{
        padding:60px 0 50px;
    }

    .testimonials-header h2{
        font-size:28px;
    }

    .testimonial-card{
        min-height:auto;
        padding:22px 20px;
    }
}

/* CTA banner */
.cta-banner{
    position:relative;
    margin:20px 0 0;
    padding:70px 0;
    background:linear-gradient(105deg, #072867 0%, #0D3D8F 45%, #1B56C5 100%);
    color:#fff;
    overflow:hidden;
}

.cta-banner::before{
    content:"";
    position:absolute;
    left:-100px;
    bottom:-80px;
    width:320px;
    height:320px;
    border-radius:50%;
    background:rgba(255,255,255,.06);
}

.cta-banner h2{
    color:#fff;
    font-family:var(--font-display);
    font-size:40px;
    font-weight:800;
    margin:0 0 14px;
}

.cta-banner p{
    color:rgba(255,255,255,.88);
    max-width:480px;
    margin:0 0 28px;
    line-height:1.7;
}

.cta-banner .btn-secondary-custom{
    background:#fff;
    color:var(--primary) !important;
    border:0;
}

.cta-visual{
    display:flex;
    justify-content:center;
    align-items:center;
}

.cta-visual img{
    max-height:280px;
    filter:drop-shadow(0 20px 40px rgba(0,0,0,.25));
}

/* Instagram */
.instagram-section{
    padding:80px 0 40px;
}

.instagram-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:32px;
    flex-wrap:wrap;
}

.instagram-header h2{
    margin:0;
    font-family:var(--font-display);
    font-size:32px;
    font-weight:800;
}

.insta-grid{
    display:grid;
    grid-template-columns:repeat(6, 1fr);
    gap:12px;
}

.insta-item{
    aspect-ratio:1;
    border-radius:12px;
    overflow:hidden;
    position:relative;
    background:linear-gradient(145deg, #e8f0ff, #f5f7fb);
    display:flex;
    align-items:center;
    justify-content:center;
}

.insta-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:var(--transition);
}

.insta-item:hover img{
    transform:scale(1.08);
}

.insta-item .insta-icon{
    font-size:28px;
    color:var(--primary);
    opacity:.45;
}

/* Newsletter input fix for type */
.newsletter-form input[type="hidden"]{
    display:none;
}

/* Content pages */
.content-section{
    padding:70px 0 90px;
}

.content-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    padding:36px;
    box-shadow:var(--shadow-sm);
}

.legal-content h2{
    font-size:22px;
    margin:32px 0 12px;
    color:var(--primary);
}

.legal-content h2:first-child{
    margin-top:0;
}

.legal-content p,
.legal-content li{
    color:var(--text-light);
    line-height:1.8;
    margin-bottom:12px;
}

.legal-content ul{
    padding-left:20px;
    list-style:disc;
    margin-bottom:16px;
}

/* About page */
.about-story{
    padding:80px 0;
}

.about-story-image{
    border-radius:20px;
    overflow:hidden;
    background:linear-gradient(160deg, #eef4ff, #fff);
    min-height:400px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:40px;
    box-shadow:var(--shadow-sm);
}

.about-story-image img{
    max-height:360px;
}

.values-grid .value-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    padding:28px 24px;
    height:100%;
    text-align:center;
    transition:var(--transition);
}

.values-grid .value-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-md);
}

.values-grid .value-icon{
    width:60px;
    height:60px;
    margin:0 auto 16px;
    border-radius:16px;
    background:var(--primary-soft);
    color:var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
}

.values-grid h3{
    font-size:18px;
    margin-bottom:10px;
}

.values-grid p{
    margin:0;
    font-size:14px;
    color:var(--text-light);
}

/* FAQ */
.faq-section{
    padding:70px 0 90px;
}

.faq-accordion .accordion-item{
    border:1px solid var(--border);
    border-radius:14px !important;
    margin-bottom:14px;
    overflow:hidden;
    background:#fff;
}

.faq-accordion .accordion-button{
    font-weight:600;
    font-size:16px;
    color:var(--text-dark);
    background:#fff;
    box-shadow:none !important;
    padding:18px 22px;
}

.faq-accordion .accordion-button:not(.collapsed){
    color:var(--primary);
    background:var(--primary-soft);
}

.faq-accordion .accordion-button::after{
    background-size:14px;
}

.faq-accordion .accordion-body{
    padding:8px 22px 20px;
    color:var(--text-light);
    line-height:1.7;
}

/* Contact */
.contact-section{
    padding:70px 0 90px;
}

.contact-info-card{
    background:linear-gradient(160deg, var(--primary), var(--primary-light));
    color:#fff;
    border-radius:20px;
    padding:36px 32px;
    height:100%;
}

.contact-info-card h3{
    color:#fff;
    font-size:28px;
    margin-bottom:12px;
}

.contact-info-card > p{
    color:rgba(255,255,255,.88);
    margin-bottom:28px;
}

.contact-info-list{
    list-style:none;
    padding:0;
    margin:0;
}

.contact-info-list li{
    display:flex;
    gap:14px;
    align-items:flex-start;
    margin-bottom:22px;
}

.contact-info-list i{
    width:42px;
    height:42px;
    border-radius:50%;
    background:rgba(255,255,255,.15);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}

.contact-info-list a,
.contact-info-list span{
    color:#fff;
    text-decoration:none;
    line-height:1.6;
}

.contact-form-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:20px;
    padding:36px 32px;
    box-shadow:var(--shadow-sm);
    height:100%;
}

.contact-form-card h3{
    margin-bottom:8px;
    color:var(--primary);
}

.contact-form-card .form-intro{
    color:var(--text-light);
    margin-bottom:24px;
    font-size:14px;
}

.contact-form-card .form-group{
    margin-bottom:16px;
}

.contact-form-card label{
    display:block;
    margin-bottom:6px;
    font-size:13px;
    font-weight:600;
}

.contact-form-card input,
.contact-form-card select,
.contact-form-card textarea{
    width:100%;
    border:1px solid var(--border);
    border-radius:12px;
    background:#f9fafc;
    padding:12px 14px;
    font-size:14px;
    font-family:inherit;
    outline:none;
    transition:0.25s;
}

.contact-form-card input:focus,
.contact-form-card select:focus,
.contact-form-card textarea:focus{
    border-color:var(--primary-light);
    background:#fff;
    box-shadow:0 0 0 3px rgba(27,86,197,.12);
}

.contact-form-card textarea{
    min-height:130px;
    resize:vertical;
}

.contact-map{
    margin-top:50px;
    border-radius:16px;
    overflow:hidden;
    border:1px solid var(--border);
    height:360px;
}

.contact-map iframe{
    width:100%;
    height:100%;
    border:0;
}

/* Blog */
.blog-section{
    padding:70px 0 90px;
}

.blog-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    overflow:hidden;
    height:100%;
    display:flex;
    flex-direction:column;
    transition:var(--transition);
}

.blog-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow-md);
}

.blog-card-image{
    height:210px;
    background:linear-gradient(145deg, #dce8ff, #f0f5ff);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.blog-card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.blog-card-image .placeholder-icon{
    font-size:48px;
    color:var(--primary);
    opacity:.35;
}

.blog-card-body{
    padding:22px;
    display:flex;
    flex-direction:column;
    flex:1;
}

.blog-meta{
    font-size:12px;
    color:var(--text-muted);
    margin-bottom:10px;
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.blog-card-body h3{
    font-size:18px;
    margin:0 0 10px;
    line-height:1.4;
}

.blog-card-body h3 a{
    color:var(--text-dark);
    transition:0.25s;
}

.blog-card-body h3 a:hover{
    color:var(--primary);
}

.blog-card-body p{
    font-size:14px;
    color:var(--text-light);
    flex:1;
    margin-bottom:16px;
}

.blog-read-more{
    color:var(--primary);
    font-weight:600;
    font-size:14px;
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.blog-read-more:hover i{
    transform:translateX(4px);
}

.blog-read-more i{
    transition:0.25s;
}

/* Blog single */
.blog-single-section{
    padding:70px 0 90px;
}

.blog-single-cover{
    border-radius:18px;
    overflow:hidden;
    margin-bottom:28px;
    min-height:320px;
    background:linear-gradient(145deg, #dce8ff, #f0f5ff);
    display:flex;
    align-items:center;
    justify-content:center;
}

.blog-single-cover img{
    width:100%;
    height:380px;
    object-fit:cover;
}

.blog-single-cover .placeholder-icon{
    font-size:64px;
    color:var(--primary);
    opacity:.3;
}

.blog-single-meta{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    color:var(--text-muted);
    font-size:14px;
    margin-bottom:16px;
}

.blog-single-content h1{
    font-family:var(--font-display);
    font-size:36px;
    font-weight:800;
    margin-bottom:22px;
    color:var(--text-dark);
}

.blog-single-content .article-body p{
    color:var(--text-light);
    line-height:1.85;
    margin-bottom:16px;
}

.blog-single-content .article-body h2{
    font-size:22px;
    margin:28px 0 12px;
    color:var(--primary);
}

.blog-single-content .article-body ul{
    padding-left:20px;
    list-style:disc;
    margin-bottom:16px;
    color:var(--text-light);
}

.blog-sidebar .sidebar-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    padding:24px;
    margin-bottom:24px;
}

.blog-sidebar h4{
    font-size:18px;
    margin-bottom:16px;
    color:var(--primary);
}

.recent-post{
    display:flex;
    gap:12px;
    margin-bottom:14px;
    padding-bottom:14px;
    border-bottom:1px solid var(--border);
}

.recent-post:last-child{
    margin:0;
    padding:0;
    border:0;
}

.recent-post-thumb{
    width:64px;
    height:64px;
    border-radius:10px;
    background:linear-gradient(145deg, #dce8ff, #f0f5ff);
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.recent-post-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.recent-post h5{
    font-size:14px;
    margin:0 0 4px;
    line-height:1.35;
}

.recent-post h5 a{
    color:var(--text-dark);
}

.recent-post h5 a:hover{
    color:var(--primary);
}

.recent-post span{
    font-size:12px;
    color:var(--text-muted);
}

.related-posts{
    margin-top:60px;
    padding-top:40px;
    border-top:1px solid var(--border);
}

.related-posts h3{
    margin-bottom:28px;
    font-size:26px;
}

.not-found-box{
    text-align:center;
    padding:80px 20px;
}

.not-found-box h2{
    margin-bottom:12px;
}

.not-found-box p{
    margin-bottom:24px;
}

/* ============================================
   Custom Branding (home teaser + page)
   ============================================ */

.custom-branding-teaser{
    padding:30px 0 20px;
}

.cbt-shell{
    background:
        radial-gradient(circle at 90% 10%, rgba(91,143,239,.18), transparent 36%),
        linear-gradient(135deg, #071f52 0%, #0D3D8F 48%, #1B56C5 100%);
    border-radius:28px;
    padding:48px 44px;
    color:#fff;
    overflow:hidden;
    position:relative;
    box-shadow:0 24px 50px rgba(13,61,143,.22);
}

.cbt-shell::after{
    content:"";
    position:absolute;
    width:280px;
    height:280px;
    border-radius:50%;
    right:-80px;
    bottom:-100px;
    background:rgba(255,255,255,.05);
    pointer-events:none;
}

.cbt-shell > .row{
    position:relative;
    z-index:1;
}

.cbt-eyebrow{
    display:inline-block;
    font-size:12px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:#9ebeff;
    margin-bottom:12px;
}

.page-hero .cbt-eyebrow{
    color:var(--primary-light);
}

.cbt-shell h2{
    color:#fff;
    font-family:var(--font-display);
    font-size:34px;
    font-weight:800;
    margin:0 0 14px;
    line-height:1.2;
}

.cbt-lead{
    color:rgba(255,255,255,.88);
    font-size:15.5px;
    line-height:1.75;
    margin:0 0 22px;
    max-width:520px;
}

.cbt-lead strong{
    color:#fff;
    font-weight:700;
}

.cbt-checklist{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 16px;
    list-style:none;
    padding:0;
    margin:0 0 28px;
}

.cbt-checklist li{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:14px;
    font-weight:500;
    color:rgba(255,255,255,.92);
}

.cbt-checklist i{
    color:#8fd3ff;
    font-size:15px;
}

.cbt-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.cbt-shell .btn-secondary-custom{
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.35);
    color:#fff !important;
    backdrop-filter:blur(4px);
}

.cbt-shell .btn-secondary-custom:hover{
    background:#fff;
    color:var(--primary) !important;
}

.cbt-shell .btn-primary-custom{
    background:#fff;
    color:var(--primary) !important;
    box-shadow:0 10px 24px rgba(0,0,0,.15);
}

.cbt-shell .btn-primary-custom:hover{
    background:#f0f5ff;
    color:var(--primary-dark) !important;
}

.cbt-visual{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:22px;
    padding:28px 24px;
    backdrop-filter:blur(6px);
}

.cbt-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:rgba(255,255,255,.12);
    border-radius:999px;
    padding:8px 14px;
    font-size:12.5px;
    margin-bottom:22px;
    color:rgba(255,255,255,.95);
}

.cbt-mockups{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:12px;
    margin-bottom:18px;
}

.cbt-box{
    aspect-ratio:0.85;
    border-radius:14px;
    padding:14px 10px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    box-shadow:0 12px 28px rgba(0,0,0,.18);
    transition:transform .35s ease;
}

.cbt-box:hover{
    transform:translateY(-6px);
}

.cbt-box-1{
    background:linear-gradient(160deg, #0b2d6b, #1a4fa8);
}

.cbt-box-2{
    background:linear-gradient(160deg, #0d5c63, #1a9aa5);
}

.cbt-box-3{
    background:linear-gradient(160deg, #4a2c7a, #7b4fbf);
}

.cbt-box-logo{
    font-size:13px;
    font-weight:700;
    color:#fff;
    margin-bottom:8px;
}

.cbt-box-label{
    font-size:10px;
    letter-spacing:.4px;
    text-transform:uppercase;
    color:rgba(255,255,255,.75);
}

.cbt-tagline{
    margin:0;
    text-align:center;
    font-size:13.5px;
    font-weight:600;
    color:rgba(255,255,255,.9);
}

.cbt-mockups-hero{
    max-width:380px;
    margin-left:auto;
}

/* Custom branding page sections */
.custom-page-hero .cbt-actions{
    margin-top:8px;
}

.custom-feature-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:18px;
    padding:26px 22px;
    height:100%;
    transition:var(--transition);
}

.custom-feature-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-md);
    border-color:transparent;
}

.custom-feature-icon{
    width:52px;
    height:52px;
    border-radius:14px;
    background:var(--primary-soft);
    color:var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    margin-bottom:16px;
}

.custom-feature-card h3{
    font-size:17px;
    margin:0 0 8px;
    color:var(--text-dark);
}

.custom-feature-card p{
    margin:0;
    font-size:14px;
    color:var(--text-light);
    line-height:1.65;
}

.custom-why-section{
    padding:80px 0;
    background:var(--bg-soft);
}

.custom-why-section h2{
    font-family:var(--font-display);
    font-size:34px;
    font-weight:800;
    margin:0 0 14px;
}

.custom-why-section > .container > .row > .col-lg-5 > p{
    color:var(--text-light);
    line-height:1.8;
    margin-bottom:22px;
}

.why-point{
    display:flex;
    align-items:flex-start;
    gap:10px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:12px;
    padding:14px 16px;
    height:100%;
    font-size:14px;
    font-weight:500;
    color:var(--text-dark);
}

.why-point i{
    color:var(--primary);
    font-size:18px;
    margin-top:1px;
    flex-shrink:0;
}

.industry-serve-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:16px;
}

.industry-serve-item{
    background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    padding:22px 16px;
    text-align:center;
    transition:var(--transition);
    height:100%;
}

.industry-serve-item:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow-sm);
    border-color:rgba(13,61,143,.15);
}

.industry-serve-icon{
    width:48px;
    height:48px;
    margin:0 auto 12px;
    border-radius:12px;
    background:var(--primary-soft);
    color:var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
}

.industry-serve-item h4{
    margin:0;
    font-size:13.5px;
    font-weight:600;
    line-height:1.45;
    color:var(--text-dark);
}

.custom-concepts-section{
    padding:80px 0;
    background:
        radial-gradient(circle at 10% 20%, rgba(27,86,197,.06), transparent 40%),
        #f8fafc;
}

.concept-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    border:1px solid var(--border);
    height:100%;
    transition:var(--transition);
}

.concept-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-md);
}

.concept-box-face{
    min-height:150px;
    padding:28px 20px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
}

.concept-brand{
    font-size:20px;
    font-weight:800;
    margin-bottom:6px;
}

.concept-product{
    font-size:12px;
    opacity:.85;
    letter-spacing:.4px;
    text-transform:uppercase;
}

.concept-bank .concept-box-face{background:linear-gradient(145deg,#0b2d6b,#1B56C5);}
.concept-health .concept-box-face{background:linear-gradient(145deg,#0d6b63,#1aad9f);}
.concept-gym .concept-box-face{background:linear-gradient(145deg,#7a1f3d,#d6456a);}
.concept-hotel .concept-box-face{background:linear-gradient(145deg,#3d2a1a,#8b6a45);}
.concept-corp .concept-box-face{background:linear-gradient(145deg,#1a1f36,#3f4f7a);}
.concept-rest .concept-box-face{background:linear-gradient(145deg,#5c1a1a,#c24a4a);}

.concept-body{
    padding:18px 20px 22px;
}

.concept-body h3{
    font-size:16px;
    margin:0 0 6px;
    color:var(--primary);
}

.concept-body p{
    margin:0;
    font-size:13.5px;
    color:var(--text-light);
    line-height:1.6;
}

.standard-products-section{
    background:#fff;
}

.standard-product-card .product-card-body{
    padding:26px 22px;
}

.standard-product-actions{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-top:16px;
}

.standard-product-actions .btn-quote-card,
.standard-product-actions .btn-secondary-custom{
    width:100%;
    height:44px;
    font-size:13.5px;
}

.standard-product-actions .btn-secondary-custom{
    border:1px solid var(--border);
    box-shadow:none;
}

.custom-cta-banner .cbt-actions{
    margin-top:8px;
}

.custom-cta-banner .btn-primary-custom:hover{
    background:#f0f5ff !important;
}

@media(max-width:1199px){
    .industry-serve-grid{
        grid-template-columns:repeat(3, 1fr);
    }
}

@media(max-width:991px){
    .cbt-shell{
        padding:36px 24px;
        border-radius:22px;
    }

    .cbt-shell h2{
        font-size:28px;
    }

    .cbt-checklist{
        grid-template-columns:1fr;
    }

    .industry-serve-grid{
        grid-template-columns:repeat(2, 1fr);
    }
}

@media(max-width:575px){
    .cbt-mockups{
        grid-template-columns:1fr;
        max-width:220px;
        margin-left:auto;
        margin-right:auto;
    }

    .industry-serve-grid{
        grid-template-columns:1fr;
    }

    .cbt-actions{
        flex-direction:column;
    }

    .cbt-actions .btn-primary-custom,
    .cbt-actions .btn-secondary-custom{
        width:100%;
    }
}

