/*
==========================================================
HostNamaste Network & Webmaster Tools
Main Stylesheet
Version : 2.1.0
Author  : HostNamaste
Website : https://tools.hostnamaste.com
==========================================================
*/

/*=========================================================
  CSS VARIABLES
=========================================================*/

:root{

    --primary:#ff6b00;
    --primary-hover:#e65c00;

    --success:#5dae26;
    --danger:#dc2626;
    --warning:#f59e0b;
    --info:#2563eb;

    --heading:#111827;
    --text:#4b5563;

    --light:#f8fafc;
    --white:#ffffff;

    --border:#e5e7eb;

    --radius:14px;

    --shadow-sm:0 3px 12px rgba(0,0,0,.05);
    --shadow:0 12px 35px rgba(0,0,0,.08);
    --shadow-lg:0 25px 60px rgba(0,0,0,.12);

    --transition:.30s ease;

}

/*=========================================================
  RESET
=========================================================*/

*{

    margin:0;
    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    background:var(--light);

    font-family:'Inter',sans-serif;

    font-size:16px;

    line-height:1.7;

    color:var(--text);

    overflow-x:hidden;

}

/*=========================================================
  TYPOGRAPHY
=========================================================*/

h1,
h2,
h3,
h4,
h5,
h6{

    color:var(--heading);

    font-weight:700;

    margin-bottom:20px;

}

.display-4{

    font-size:56px;

    font-weight:800;

}

.display-5{

    font-size:42px;

    font-weight:800;

}

/*=========================================================
  IMAGES
=========================================================*/

img{

    max-width:100%;

    height:auto;

}

/*=========================================================
  LINKS
=========================================================*/

a{

    color:var(--primary);

    text-decoration:none;

    transition:var(--transition);

}

a:hover{

    color:var(--primary-hover);

}

/*=========================================================
  CONTAINERS
=========================================================*/

section{

    padding:80px 0;

}

.container{

    max-width:1240px;

}

/*=========================================================
  UTILITIES
=========================================================*/

.text-hn{

    color:var(--primary)!important;

}

.bg-hn{

    background:var(--primary)!important;

    color:#fff;

}

.bg-light-orange{

    background:#fff4ec;

}

.rounded-xl{

    border-radius:18px!important;

}

.border-orange{

    border-top:4px solid var(--primary);

}

.shadow-hover{

    transition:.3s;

}

.shadow-hover:hover{

    transform:translateY(-5px);

    box-shadow:var(--shadow);

}

/*=========================================================
  BUTTONS
=========================================================*/

.btn-hn{

    background:var(--primary);

    color:#fff;

    border:none;

    border-radius:12px;

    padding:14px 32px;

    font-weight:600;

    transition:var(--transition);

}

.btn-hn:hover{

    background:var(--primary-hover);

    color:#fff;

    transform:translateY(-2px);

    box-shadow:var(--shadow);

}

.btn-outline-hn{

    background:#fff;

    color:var(--primary);

    border:2px solid var(--primary);

    border-radius:12px;

    padding:13px 30px;

    font-weight:600;

    transition:var(--transition);

}

.btn-outline-hn:hover{

    background:var(--primary);

    color:#fff;

}

/* Bootstrap Buttons */

.btn-primary{

    background:var(--primary)!important;

    border-color:var(--primary)!important;

}

.btn-primary:hover{

    background:var(--primary-hover)!important;

    border-color:var(--primary-hover)!important;

}

.btn-warning{

    background:var(--primary)!important;

    border-color:var(--primary)!important;

    color:#fff!important;

}

/*=========================================================
  FORMS
=========================================================*/

.form-control,
.form-select{

    border:1px solid var(--border);

    border-radius:12px;

    padding:12px 15px;

    background:#fff;

    transition:var(--transition);

}

.form-control:focus,
.form-select:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 .2rem rgba(255,107,0,.15);

}

textarea.form-control{

    resize:vertical;

    min-height:180px;

}

.form-label{

    font-weight:600;

    color:var(--heading);

    margin-bottom:8px;

}

/*=========================================================
  CARDS
=========================================================*/

.card{

    border:none;

    border-radius:18px;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

    overflow:hidden;

}

.card:hover{

    transform:translateY(-5px);

    box-shadow:var(--shadow);

}

.card-body{

    padding:30px;

}

/*=========================================================
  BADGES
=========================================================*/

.badge-clean{

    background:var(--success);

    color:#fff;

    border-radius:30px;

    padding:8px 15px;

    font-size:13px;

}

.badge-listed{

    background:var(--danger);

    color:#fff;

    border-radius:30px;

    padding:8px 15px;

    font-size:13px;

}

/*=========================================================
  ALERTS
=========================================================*/

.alert{

    border:none;

    border-radius:16px;

    padding:22px;

    box-shadow:var(--shadow-sm);

}

.alert-success{

    background:#edf9ed;

    color:#166534;

}

.alert-danger{

    background:#fef2f2;

    color:#991b1b;

}

.alert-info{

    background:#eef7ff;

    color:#1e3a8a;

}

/*=========================================================
  PROGRESS
=========================================================*/

.progress{

    height:22px;

    border-radius:30px;

    overflow:hidden;

    background:#eceff3;

    box-shadow:inset 0 2px 6px rgba(0,0,0,.08);

}

.progress-bar{

    background:linear-gradient(
        90deg,
        #ff6b00,
        #ff9800
    );

    font-weight:700;

    font-size:14px;

    transition:width .6s ease;

}

/*=========================================================
  HEADER
=========================================================*/

.navbar{

    background:#ffffff;

    min-height:82px;

    padding:12px 0;

    border-bottom:1px solid #eef2f7;

    box-shadow:0 2px 15px rgba(0,0,0,.05);

}

.navbar-brand{

    display:flex;

    align-items:center;

    gap:14px;

    padding:0;

}

.navbar-brand img{

    height:42px;

    width:auto;

    display:block;

}

.logo-text{

    display:flex;

    flex-direction:column;

    line-height:1.15;

}

.logo-title{

    font-size:18px;

    font-weight:700;

    color:var(--heading);

}

.logo-subtitle{

    font-size:12px;

    color:#6b7280;

}

/*=========================================================
  NAVIGATION
=========================================================*/

.navbar-nav{

    gap:6px;

}

.navbar-nav .nav-link{

    display:flex;

    align-items:center;

    gap:8px;

    height:82px;

    padding:0 18px;

    font-size:15px;

    font-weight:600;

    color:#374151!important;

    border-radius:10px;

    transition:var(--transition);

}

.navbar-nav .nav-link i{

    font-size:16px;

}

.navbar-nav .nav-link:hover{

    color:var(--primary)!important;

    background:#fff4ec;

}

.nav-active{

    background:#fff4ec;

    color:var(--primary)!important;

}

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

.navbar-toggler{

    border:none;

    box-shadow:none!important;

}

.navbar-toggler:focus{

    box-shadow:none!important;

}

@media (max-width:991px){

    .navbar{

        min-height:auto;

    }

    .logo-subtitle{

        display:none;

    }

    .navbar-nav{

        margin-top:18px;

    }

    .navbar-nav .nav-link{

        height:auto;

        padding:14px;

    }

}

/*=========================================================
  HERO
=========================================================*/

.hero{

    position:relative;

    overflow:hidden;

    background:linear-gradient(
        135deg,
        #ffffff 0%,
        #fff7f2 100%
    );

    padding:90px 0;

}

.hero::before{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    right:-180px;

    top:-180px;

    border-radius:50%;

    background:rgba(255,107,0,.08);

}

.hero::after{

    content:"";

    position:absolute;

    width:320px;

    height:320px;

    left:-120px;

    bottom:-120px;

    border-radius:50%;

    background:rgba(93,174,38,.08);

}

.hero .container{

    position:relative;

    z-index:2;

}

/*=========================================================
  HERO CONTENT
=========================================================*/

.hero h1{

    font-size:54px;

    font-weight:800;

    line-height:1.15;

    margin-bottom:20px;

}

.hero p{

    font-size:19px;

    color:#6b7280;

}

.hero .badge{

    background:var(--primary);

    color:#fff;

    border-radius:30px;

    padding:10px 18px;

    font-size:14px;

    font-weight:600;

}

/*=========================================================
  HERO FORM
=========================================================*/

.hero .card{

    border:none;

    border-radius:22px;

    box-shadow:var(--shadow);

}

.hero textarea{

    min-height:390px;

    resize:vertical;

    border-radius:14px;

}

.hero textarea:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 .25rem rgba(255,107,0,.12);

}

.hero input{

    border-radius:12px;

}

.hero .btn-hn{

    width:100%;

    padding:18px;

    font-size:21px;

    font-weight:700;

    border-radius:14px;

}

/*=========================================================
  HERO FEATURE CARDS
=========================================================*/

.feature-icon{

    width:72px;

    height:72px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#fff4ec;

    color:var(--primary);

    font-size:30px;

    margin-bottom:20px;

}

.hero .card:hover{

    transform:translateY(-8px);

}

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

.result-card{

    background:#ffffff;

    border-radius:20px;

    overflow:hidden;

    margin-bottom:35px;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.result-card:hover{

    transform:translateY(-4px);

    box-shadow:var(--shadow);

}

/*=========================================================
  RESULT HEADER
=========================================================*/

.result-header{

    background:linear-gradient(
        135deg,
        #ff6b00,
        #ff8f2d
    );

    color:#ffffff;

    padding:24px 30px;

}

.result-header h4{

    color:#ffffff;

    margin:0;

    font-size:24px;

    font-weight:700;

}

.result-body{

    padding:30px;

}

/*=========================================================
  SCORE PANEL
=========================================================*/

.score-box{

    text-align:center;

    background:#ffffff;

    border:1px solid var(--border);

    border-radius:16px;

    padding:28px;

}

.score-box h2{

    font-size:48px;

    color:var(--primary);

    margin-bottom:10px;

    font-weight:800;

}

.score-box small{

    color:#6b7280;

}

/*=========================================================
  STATUS
=========================================================*/

.status-clean{

    display:inline-block;

    background:#16a34a;

    color:#ffffff;

    border-radius:30px;

    padding:8px 18px;

    font-size:13px;

    font-weight:700;

}

.status-listed{

    display:inline-block;

    background:#dc2626;

    color:#ffffff;

    border-radius:30px;

    padding:8px 18px;

    font-size:13px;

    font-weight:700;

}

/*=========================================================
  TABLES
=========================================================*/

.table{

    border-radius:16px;

    overflow:hidden;

    background:#ffffff;

}

.table th{

    background:#f8fafc;

    color:#111827;

    font-weight:700;

    border-bottom:2px solid #e5e7eb;

}

.table td{

    vertical-align:middle;

}

.table-hover tbody tr:hover{

    background:#fff8f2;

}

/*=========================================================
  STAR RATING
=========================================================*/

.bi-star-fill{

    color:#ff9800 !important;

}

.bi-star{

    color:#d1d5db !important;

}

/*=========================================================
  COPY BUTTON
=========================================================*/

.copy-btn{

    transition:var(--transition);

}

.copy-btn:hover{

    transform:translateY(-2px);

}

/*=========================================================
  LOADING SCREEN
=========================================================*/

.loading-page{

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:40px;

    background:linear-gradient(
        135deg,
        #f8fafc,
        #fff7f2
    );

}

.loading-card{

    width:100%;

    max-width:850px;

    background:#ffffff;

    border-radius:24px;

    padding:50px;

    box-shadow:var(--shadow-lg);

    animation:loadingFade .6s ease;

}

@keyframes loadingFade{

    from{

        opacity:0;

        transform:translateY(25px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.loading-logo{

    height:64px;

    margin-bottom:25px;

}

.loading-card h2{

    font-size:34px;

    font-weight:800;

}

.loading-status{

    font-size:20px;

    color:#6b7280;

    margin-top:10px;

}

.loading-card .progress{

    margin-top:35px;

    height:24px;

}

.loading-card .progress-bar{

    font-size:14px;

    font-weight:700;

}

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

.stat-box{

    background:#ffffff;

    border:1px solid #ececec;

    border-radius:16px;

    padding:22px;

    text-align:center;

    transition:.3s;

    height:100%;

}

.stat-box:hover{

    transform:translateY(-4px);

    box-shadow:var(--shadow);

}

.stat-box .text-muted{

    font-size:14px;

}

.stat-value{

    font-size:32px;

    font-weight:800;

    color:var(--heading);

}

/*=========================================================
  TASKS
=========================================================*/

.task{

    padding:12px 0;

    font-size:17px;

    border-bottom:1px dashed #ececec;

}

.task:last-child{

    border-bottom:none;

}

.pending{

    color:#9ca3af;

}

.active{

    color:var(--primary);

    font-weight:700;

}

.done{

    color:var(--success);

    font-weight:700;

}

/*=========================================================
  TIP BOX
=========================================================*/

.tip-box{

    background:#fff8ef;

    border-left:5px solid var(--primary);

    border-radius:14px;

    padding:20px;

    margin-top:35px;

}

.tip-box strong{

    display:block;

    margin-bottom:8px;

}

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

.loading-footer{

    margin-top:35px;

    text-align:center;

    color:#6b7280;

    font-size:15px;

}




