/* ==========================================
   CAPITEC HOST
   Premium Refund Policy Stylesheet
   PART A
  
========================================== */



nav{
    background:#f8fafc;
    box-shadow:0 8px 25px rgba(15,23,42,.08);
    border-bottom:1px solid #e2e8f0;
}

/* Remove unwanted white space */

html,
body{
    margin:0;
    padding:0;
    overflow-x:hidden;
}

footer{
    margin:0 !important;
    padding-bottom:20px;
}

section:last-of-type{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
}

.container:last-child{
    margin-bottom:0 !important;
}

*{
    box-sizing:border-box;
}


















/* Google Font */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/* Reset */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:#f5f7fb;
    color:#243046;
    line-height:1.7;
    overflow-x:hidden;
}

/* Container */

.container{
    width:90%;
    max-width:1200px;
    margin:auto;
}

/* Links */

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

/* Images */

img{
    max-width:100%;
}

/* Lists */

ul{
    list-style:none;
}

/* ==========================================
   Hero Section
========================================== */

.hero{

    position:relative;

    min-height:70vh;

    display:flex;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:120px 20px;

    background:
    linear-gradient(135deg,#0d47a1,#1565c0,#1e88e5);

    color:#fff;

    overflow:hidden;

}

.hero::before{

content:"";

position:absolute;

width:700px;

height:700px;

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

border-radius:50%;

top:-300px;

left:-250px;

}

.hero::after{

content:"";

position:absolute;

width:500px;

height:500px;

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

border-radius:50%;

right:-150px;

bottom:-180px;

}

.overlay{

position:absolute;

inset:0;

background:rgba(0,0,0,.25);

}

.hero-content{

position:relative;

z-index:2;

max-width:800px;

}

.badge{

display:inline-block;

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

padding:10px 22px;

border-radius:30px;

backdrop-filter:blur(12px);

font-size:14px;

margin-bottom:20px;

}

.hero h1{

font-size:52px;

font-weight:800;

margin-bottom:20px;

line-height:1.2;

}

.hero p{

font-size:18px;

opacity:.95;

max-width:700px;

margin:auto;

margin-bottom:35px;

}

/* ==========================================
   Button
========================================== */

.btn{

display:inline-block;

padding:16px 38px;

border-radius:50px;

background:#fff;

color:#1565c0;

font-weight:600;

transition:.35s;

box-shadow:0 15px 35px rgba(0,0,0,.18);

}

.btn:hover{

transform:translateY(-5px);

background:#0d47a1;

color:#fff;

}

/* ==========================================
   Quick Info Cards
========================================== */

.quick-info{

margin-top:-70px;

position:relative;

z-index:20;

padding-bottom:40px;

}

.quick-info .container{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

gap:30px;

}

.info-card{

background:#fff;

border-radius:20px;

padding:40px 30px;

text-align:center;

box-shadow:0 20px 40px rgba(0,0,0,.08);

transition:.35s;

}

.info-card:hover{

transform:translateY(-10px);

}

.info-card i{

font-size:45px;

color:#1565c0;

margin-bottom:20px;

}

.info-card h3{

font-size:24px;

margin-bottom:15px;

}

.info-card p{

color:#6d7485;

font-size:15px;

}

/* ==========================================
   Sections
========================================== */

.policy{

padding:90px 0;

}

.gray{

background:#eef3fa;

}

.section-title{

text-align:center;

margin-bottom:60px;

}

.section-title h2{

font-size:38px;

font-weight:700;

margin-bottom:12px;

color:#12233d;

}

.section-title p{

color:#70798b;

font-size:17px;

}

/* ==========================================
   Main Cards
========================================== */

.card{

background:#fff;

border-radius:20px;

padding:45px;

box-shadow:0 20px 40px rgba(0,0,0,.06);

}

.card ul li{

position:relative;

padding-left:40px;

margin-bottom:18px;

font-size:17px;

color:#445066;

}

.card ul li:last-child{

margin-bottom:0;

}

.card ul li::before{

content:"✔";

position:absolute;

left:0;

top:0;

font-weight:bold;

color:#10b981;

font-size:18px;

}

/* ==========================================
   Nice Hover Effect
========================================== */

.card:hover{

transform:translateY(-6px);

transition:.35s;

box-shadow:0 25px 55px rgba(0,0,0,.10);

}

/* ==========================================
   Scrollbar
========================================== */

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#edf2f7;

}

::-webkit-scrollbar-thumb{

background:#1565c0;

border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

background:#0d47a1;

}












/*=========================================
    PART C
    Animations • Dark Mode • Utilities
==========================================*/

/* Fade Animation */

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(40px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

.hero-content{
    animation:fadeUp .8s ease;
}

.info-card{
    animation:fadeUp .8s ease;
}

.card{
    animation:fadeUp .8s ease;
}

/* Floating Animation */

@keyframes floating{
    0%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-8px);
    }
    100%{
        transform:translateY(0);
    }
}

.info-card:hover i{
    animation:floating 1s infinite;
}

/* Button Shine */

.btn{
    position:relative;
    overflow:hidden;
}

.btn::before{
    content:"";
    position:absolute;
    top:0;
    left:-120%;
    width:60%;
    height:100%;
    background:rgba(255,255,255,.35);
    transform:skewX(-25deg);
    transition:.8s;
}

.btn:hover::before{
    left:150%;
}

/* Card Hover */

.card,
.info-card{
    transition:all .35s ease;
}

.card:hover,
.info-card:hover{
    box-shadow:0 25px 60px rgba(21,101,192,.18);
}

/* Timeline Hover */

.step:hover .circle{
    transform:scale(1.12);
    transition:.3s;
}

/* FAQ Hover */

.faq-question{
    transition:.3s;
}

.faq-question:hover{
    color:#1565c0;
}

/* Footer */

footer{
    background:#0f172a;
    color:#cbd5e1;
    padding:30px 0;
    text-align:center;
    font-size:15px;
}

/* Dark Mode */

body.dark{
    background:#0f172a;
    color:#e5e7eb;
}

body.dark .card,
body.dark .info-card{
    background:#1e293b;
    color:#fff;
}

body.dark .gray{
    background:#111827;
}

body.dark .section-title h2{
    color:#fff;
}

body.dark p,
body.dark li{
    color:#cbd5e1;
}

body.dark footer{
    background:#020617;
}

/* Dark Mode Button */

.dark-toggle{
    position:fixed;
    right:25px;
    bottom:25px;
    width:55px;
    height:55px;
    border-radius:50%;
    background:#1565c0;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:0 15px 30px rgba(0,0,0,.2);
    z-index:999;
    transition:.3s;
}

.dark-toggle:hover{
    transform:scale(1.1);
}

/* Selection */

::selection{
    background:#1565c0;
    color:#fff;
}

/* Focus */

button:focus,
a:focus{
    outline:none;
}

/* Smooth */

*{
    transition:
        background .3s,
        color .3s,
        border-color .3s;
}

/* Utilities */

.text-center{
    text-align:center;
}

.mt-20{
    margin-top:20px;
}

.mt-40{
    margin-top:40px;
}

.mb-20{
    margin-bottom:20px;
}

.mb-40{
    margin-bottom:40px;
}

.rounded{
    border-radius:20px;
}

.shadow{
    box-shadow:0 20px 40px rgba(0,0,0,.08);
}

/* Glass Effect */

.glass{
    background:rgba(255,255,255,.15);
    backdrop-filter:blur(16px);
    border:1px solid rgba(255,255,255,.2);
}

/* Gradient Text */

.gradient-text{
    background:linear-gradient(90deg,#1565c0,#42a5f5);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

/* Pulse Animation */

@keyframes pulse{
    0%{
        box-shadow:0 0 0 0 rgba(21,101,192,.5);
    }
    70%{
        box-shadow:0 0 0 18px rgba(21,101,192,0);
    }
    100%{
        box-shadow:0 0 0 0 rgba(21,101,192,0);
    }
}

.btn{
    animation:pulse 3s infinite;
}

/* Responsive */

@media(max-width:992px){

.hero h1{
    font-size:40px;
}

.section-title h2{
    font-size:32px;
}

.card{
    padding:35px;
}

}

@media(max-width:768px){

.hero{
    padding:90px 20px;
}

.hero h1{
    font-size:32px;
}

.hero p{
    font-size:16px;
}

.info-card{
    padding:30px;
}

.card{
    padding:28px;
}

.btn{
    width:100%;
    text-align:center;
}

}

@media(max-width:480px){

.hero h1{
    font-size:28px;
}

.badge{
    font-size:12px;
}

.section-title h2{
    font-size:28px;
}

.card ul li{
    font-size:15px;
}

}

































/* ==========================================
   SERVICES SECTION
========================================== */

.services{
    padding:100px 0;
    background:#f8fbff;
}

.services-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
    margin-top:60px;
}

.service-card{
    background:#fff;
    border-radius:20px;
    padding:35px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    transition:.35s ease;
    position:relative;
    overflow:hidden;
}

.service-card:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 60px rgba(37,99,235,.15);
}

.service-icon{
    width:70px;
    height:70px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:28px;
    margin-bottom:25px;
}

.blue{background:#2563eb;}
.green{background:#16a34a;}
.orange{background:#ea580c;}
.purple{background:#7c3aed;}
.red{background:#dc2626;}
.cyan{background:#0891b2;}
.teal{background:#0f766e;}
.navy{background:#1e3a8a;}

.service-card h3{
    font-size:24px;
    margin-bottom:15px;
}

.service-card p{
    color:#64748b;
    margin-bottom:20px;
}

.service-card ul{
    list-style:none;
    margin-bottom:25px;
}

.service-card ul li{
    padding:8px 0;
    color:#334155;
    border-bottom:1px solid #edf2f7;
}

.service-card a{
    color:#2563eb;
    font-weight:600;
}

.service-card a:hover{
    color:#1d4ed8;
}

/* ==========================================
   PRICING SECTION
========================================== */

.pricing{
    padding:100px 0;
    background:#fff;
}

.pricing-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
    margin-top:60px;
}

.plan{
    background:#fff;
    border-radius:22px;
    padding:40px;
    box-shadow:0 15px 45px rgba(0,0,0,.08);
    transition:.35s;
    position:relative;
}

.plan:hover{
    transform:translateY(-12px);
}

.popular{
    border:3px solid #2563eb;
}

.popular-badge{
    position:absolute;
    top:18px;
    right:18px;
    background:#2563eb;
    color:#fff;
    padding:8px 15px;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
}

.plan-header{
    text-align:center;
    margin-bottom:30px;
}

.plan-header h1{
    font-size:48px;
    color:#2563eb;
}

.plan-header p{
    color:#64748b;
}

.plan ul{
    list-style:none;
    margin:25px 0;
}

.plan ul li{
    padding:12px 0;
    border-bottom:1px solid #eee;
}

.plan ul li i{
    color:#16a34a;
    margin-right:10px;
}

.plan-btn{
    display:block;
    text-align:center;
    background:#2563eb;
    color:#fff;
    padding:15px;
    border-radius:12px;
    font-weight:600;
    transition:.3s;
}

.plan-btn:hover{
    background:#1d4ed8;
}




/* ==========================================
   WHY TRUST SECTION
========================================== */

.trust-section{
    padding:100px 0;
    background:#f8fafc;
}

.trust-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:30px;
    margin-top:60px;
}

.trust-card{
    background:#fff;
    padding:35px;
    border-radius:18px;
    text-align:center;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    transition:.35s ease;
}

.trust-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 50px rgba(37,99,235,.15);
}

.trust-icon{
    width:75px;
    height:75px;
    background:linear-gradient(135deg,#2563eb,#3b82f6);
    color:#fff;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    margin:0 auto 20px;
    font-size:28px;
}

.trust-card h3{
    margin-bottom:15px;
    color:#0f172a;
}

.trust-card p{
    color:#64748b;
    line-height:1.7;
}

/* ==========================================
   STATISTICS
========================================== */

.statistics{
    background:#2563eb;
    color:#fff;
    padding:80px 0;
}

.stats-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:30px;
}

.stat-card{
    text-align:center;
}

.stat-card h2{
    font-size:52px;
    font-weight:700;
    margin-bottom:10px;
}

.stat-card p{
    font-size:18px;
    opacity:.9;
}

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

.testimonials{
    padding:100px 0;
    background:#fff;
}

.testimonial-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:35px;
    margin-top:60px;
}

.testimonial-card{
    background:#fff;
    border-radius:20px;
    padding:35px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    transition:.35s;
}

.testimonial-card:hover{
    transform:translateY(-10px);
}

.stars{
    color:#fbbf24;
    font-size:22px;
    margin-bottom:20px;
}

.review{
    color:#64748b;
    line-height:1.8;
    margin-bottom:30px;
    font-style:italic;
}

.client{
    display:flex;
    align-items:center;
}

.avatar{
    width:60px;
    height:60px;
    border-radius:50%;
    background:#2563eb;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-weight:bold;
    margin-right:15px;
    font-size:18px;
}

.client h4{
    margin-bottom:5px;
}

.client span{
    color:#64748b;
    font-size:14px;
}

/* ==========================================
   CALL TO ACTION
========================================== */

.cta{
    padding:100px 0;
    background:linear-gradient(135deg,#2563eb,#1d4ed8);
}

.cta-box{
    text-align:center;
    color:#fff;
    max-width:850px;
    margin:auto;
}

.cta-box h2{
    font-size:46px;
    margin-bottom:20px;
}

.cta-box p{
    font-size:18px;
    line-height:1.8;
    margin-bottom:35px;
}

.cta-buttons{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

/* ==========================================
   NEWSLETTER
========================================== */

.newsletter{
    padding:90px 0;
    background:#f8fafc;
    text-align:center;
}

.newsletter h2{
    font-size:40px;
    margin-bottom:15px;
}

.newsletter p{
    color:#64748b;
    margin-bottom:35px;
}

.newsletter form{
    display:flex;
    justify-content:center;
    max-width:700px;
    margin:auto;
    flex-wrap:wrap;
}

.newsletter input{
    flex:1;
    min-width:280px;
    padding:18px;
    border:1px solid #dbe4ee;
    border-radius:12px 0 0 12px;
    font-size:16px;
}

.newsletter button{
    padding:18px 35px;
    background:#2563eb;
    color:#fff;
    border:none;
    cursor:pointer;
    border-radius:0 12px 12px 0;
    font-weight:600;
    transition:.3s;
}

.newsletter button:hover{
    background:#1d4ed8;
}





/* ==========================================
   DOMAIN SEARCH
========================================== */

.domain-search{
    padding:100px 0;
    background:#ffffff;
}

.section-heading{
    text-align:center;
    max-width:750px;
    margin:0 auto 60px;
}

.section-heading span{
    display:inline-block;
    padding:8px 18px;
    background:#eaf2ff;
    color:#2563eb;
    border-radius:30px;
    font-size:14px;
    font-weight:600;
    margin-bottom:15px;
}

.section-heading h2{
    font-size:42px;
    color:#0f172a;
    margin-bottom:18px;
    font-weight:700;
}

.section-heading p{
    color:#64748b;
    font-size:17px;
    line-height:1.8;
}

.search-box{
    max-width:900px;
    margin:0 auto 60px;
    background:#fff;
    padding:15px;
    display:flex;
    gap:15px;
    border-radius:18px;
    box-shadow:0 15px 45px rgba(0,0,0,.08);
}

.search-box input{
    flex:1;
    border:none;
    outline:none;
    padding:18px;
    font-size:16px;
}

.search-box select{
    width:160px;
    border:none;
    outline:none;
    padding:18px;
    border-radius:12px;
    background:#f4f7fb;
}

.search-box button{
    background:#2563eb;
    color:#fff;
    border:none;
    padding:18px 35px;
    border-radius:12px;
    cursor:pointer;
    font-weight:600;
    transition:.3s;
}

.search-box button:hover{
    background:#1d4ed8;
}

.domain-pricing{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:25px;
}

.domain-card{
    background:#fff;
    text-align:center;
    padding:30px;
    border-radius:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.07);
    transition:.35s;
}

.domain-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(37,99,235,.12);
}

.domain-card h3{
    color:#2563eb;
    font-size:34px;
    margin-bottom:12px;
}

.domain-card p{
    color:#64748b;
    margin-bottom:12px;
}

.domain-card span{
    font-weight:700;
    color:#0f172a;
}

/* ==========================================
   WHY CHOOSE US
========================================== */

.features{
    padding:100px 0;
    background:#f8fbff;
}

.feature-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
}

.feature-box{
    background:#fff;
    padding:35px;
    border-radius:20px;
    text-align:center;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    transition:.35s;
}

.feature-box:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 60px rgba(37,99,235,.15);
}

.feature-box i{
    width:80px;
    height:80px;
    line-height:80px;
    border-radius:50%;
    background:linear-gradient(135deg,#2563eb,#3b82f6);
    color:#fff;
    font-size:30px;
    margin-bottom:25px;
}

.feature-box h3{
    margin-bottom:15px;
    color:#0f172a;
}

.feature-box p{
    color:#64748b;
    line-height:1.8;
}

/* ==========================================
   PRICING TITLE IMPROVEMENT
========================================== */

.pricing{
    padding:100px 0;
    background:#ffffff;
}

.pricing .section-heading{
    margin-bottom:60px;
}

.pricing-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:35px;
}






@media (max-width: 768px){

.search-box{
    flex-direction: column;
}

.search-box input,
.search-box select,
.search-box button{
    width:100%;
}

.search-box button{
    margin-top:10px;
}

}