/*=========================================================
  SWARNIM SAHITYA
  COMPONENT DESIGN SYSTEM
  Part-1
  Variables + Typography + Section System
=========================================================*/


/*=========================================================
  ROOT VARIABLES
=========================================================*/

:root{

    /* Brand Colors */

    --primary:#ff8c00;
    --primary-dark:#ff6b00;
    --secondary:#ff5e62;

    --dark:#172554;
    --dark-2:#1e293b;

    --white:#ffffff;

    --body:#64748b;

    --border:#f3e3d5;

    --light:#fffaf5;

    --light-2:#fff5ed;

    --success:#22c55e;

    --danger:#ef4444;

    --warning:#f59e0b;



    /* Gradients */

    --gradient-primary:
    linear-gradient(
        135deg,
        #ff9800,
        #ff7a18,
        #ff5e62
    );

    --gradient-light:
    linear-gradient(
        180deg,
        #fffaf6,
        #ffffff
    );



    /* Shadows */

    --shadow-sm:
    0 8px 20px rgba(15,23,42,.05);

    --shadow:
    0 18px 45px rgba(15,23,42,.08);

    --shadow-lg:
    0 30px 70px rgba(15,23,42,.10);

    --shadow-primary:
    0 20px 50px rgba(255,122,0,.25);



    /* Radius */

    --radius-sm:12px;
    --radius:20px;
    --radius-lg:28px;
    --radius-xl:40px;
    --radius-pill:999px;



    /* Transition */

    --transition:.35s ease;

}



/*=========================================================
  TYPOGRAPHY
=========================================================*/

body{

    color:var(--body);

    font-size:16px;

    line-height:1.8;

    font-weight:400;

    background:#ffffff;

}



/*-----------------------------*/

h1,
h2,
h3,
h4,
h5,
h6{

    color:var(--dark);

    font-weight:800;

    line-height:1.2;

    margin-bottom:18px;

}

h1{

    font-size:60px;

}

h2{

    font-size:46px;

}

h3{

    font-size:34px;

}

h4{

    font-size:28px;

}

h5{

    font-size:22px;

}

h6{

    font-size:18px;

}



/*-----------------------------*/

p{

    margin-bottom:20px;

}



/*-----------------------------*/

a{

    color:inherit;

    text-decoration:none;

    transition:var(--transition);

}

a:hover{

    text-decoration:none;

}



/*=========================================================
  COMMON HEADINGS
=========================================================*/

.section-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 22px;

    margin-bottom:22px;

    border-radius:var(--radius-pill);

    background:var(--light-2);

    color:var(--primary-dark);

    font-size:14px;

    font-weight:700;

    letter-spacing:.5px;

    text-transform:uppercase;

}

.section-badge i{

    font-size:14px;

}



/*-----------------------------*/

.section-title{

    color:var(--dark);

    font-size:52px;

    font-weight:800;

    line-height:1.18;

    margin-bottom:22px;

}

.section-title span{

    background:var(--gradient-primary);

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;
     background-clip:text;
    

}



/*-----------------------------*/

.section-heading{

    font-size:42px;

    color:var(--dark);

    font-weight:800;

    margin-bottom:20px;

}



/*-----------------------------*/

.section-subtitle{

    font-size:22px;

    color:var(--dark);

    font-weight:700;

    margin-bottom:16px;

}



/*-----------------------------*/

.section-description{

    max-width:760px;

    margin:auto;

    color:var(--body);

    font-size:18px;

    line-height:1.9;

}



/*=========================================================
  SECTION SYSTEM
=========================================================*/

.section-padding{

    padding:120px 0;

}

.section-padding-sm{

    padding:80px 0;

}

.section-padding-lg{

    padding:160px 0;

}



/*-----------------------------*/

.section-light{

    background:#ffffff;

}

.section-soft{

    background:var(--light);

}

.section-gradient{

    background:var(--gradient-light);

}



/*-----------------------------*/

.section-wrapper{

    position:relative;

    overflow:hidden;

}



/*-----------------------------*/

.section-center{

    text-align:center;

}



/*-----------------------------*/

.section-left{

    text-align:left;

}



/*-----------------------------*/

.section-right{

    text-align:right;

}



/*=========================================================
  RESPONSIVE
=========================================================*/

@media(max-width:991px){

    h1{

        font-size:48px;

    }

    h2{

        font-size:38px;

    }

    h3{

        font-size:30px;

    }

    .section-title{

        font-size:42px;

    }

    .section-heading{

        font-size:34px;

    }

    .section-padding{

        padding:90px 0;

    }

    .section-padding-lg{

        padding:120px 0;

    }

}



@media(max-width:767px){

    body{

        font-size:15px;

    }

    h1{

        font-size:38px;

    }

    h2{

        font-size:32px;

    }

    h3{

        font-size:26px;

    }

    .section-title{

        font-size:34px;

    }

    .section-heading{

        font-size:28px;

    }

    .section-description{

        font-size:16px;

    }

    .section-padding{

        padding:70px 0;

    }

    .section-padding-lg{

        padding:90px 0;

    }

}

/*=========================================================
  COMPONENT DESIGN SYSTEM
  Part-2
  Buttons + Cards + Hover Effects
=========================================================*/


/*=========================================================
  BUTTON SYSTEM
=========================================================*/

.btn-primary-custom{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:16px 34px;

    min-height:58px;

    border:none;

    border-radius:var(--radius-pill);

    background:var(--gradient-primary);

    color:#fff;

    font-size:16px;

    font-weight:700;

    cursor:pointer;

    transition:var(--transition);

    box-shadow:var(--shadow-primary);

}

.btn-primary-custom:hover{

    transform:translateY(-4px);

    color:#fff;

    box-shadow:

    0 28px 60px rgba(255,122,0,.35);

}


/*--------------------------------*/

.btn-outline-custom{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:15px 34px;

    min-height:58px;

    border-radius:var(--radius-pill);

    border:2px solid var(--primary);

    background:#fff;

    color:var(--primary-dark);

    font-size:16px;

    font-weight:700;

    transition:var(--transition);

}

.btn-outline-custom:hover{

    background:var(--gradient-primary);

    color:#fff;

    border-color:transparent;

}


/*--------------------------------*/

.btn-dark-custom{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:16px 34px;

    min-height:58px;

    border:none;

    border-radius:var(--radius-pill);

    background:var(--dark);

    color:#fff;

    font-weight:700;

    transition:var(--transition);

}

.btn-dark-custom:hover{

    background:#0f172a;

    color:#fff;

    transform:translateY(-3px);

}


/*--------------------------------*/

.btn-white-custom{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:16px 34px;

    border-radius:var(--radius-pill);

    background:#fff;

    color:var(--primary-dark);

    font-weight:700;

    transition:var(--transition);

}

.btn-white-custom:hover{

    transform:translateY(-4px);

}


/*=========================================================
  CARD SYSTEM
=========================================================*/

.card-custom{

    position:relative;

    overflow:hidden;

    height:100%;

    padding:35px;

    border-radius:var(--radius-lg);

    background:#fff;

    border:1px solid var(--border);

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.card-custom:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-lg);

}


/*--------------------------------*/

.glass-card{

    position:relative;

    overflow:hidden;

    background:rgba(255,255,255,.72);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.45);

    border-radius:var(--radius-lg);

    box-shadow:var(--shadow);

}


/*--------------------------------*/

.feature-card{

    position:relative;

    overflow:hidden;

    height:100%;

    padding:38px;

    border-radius:var(--radius-lg);

    background:#fff;

    border:1px solid var(--border);

    transition:var(--transition);

}

.feature-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-lg);

}

.feature-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:4px;

    background:var(--gradient-primary);

}


/*--------------------------------*/

.stats-card{

    position:relative;

    overflow:hidden;

    text-align:center;

    padding:45px 25px;

    border-radius:var(--radius-lg);

    background:#fff;

    border:1px solid var(--border);

    transition:var(--transition);

}

.stats-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-lg);

}

.stats-card h2{

    margin:18px 0 8px;

    font-size:54px;

}

.stats-card p{

    margin:0;

}


/*=========================================================
  ICON BOX
=========================================================*/

.icon-box{

    width:78px;

    height:78px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:24px;

    background:var(--gradient-primary);

    color:#fff;

    font-size:30px;

    box-shadow:var(--shadow-primary);

    transition:var(--transition);

}

.card-custom:hover .icon-box,

.feature-card:hover .icon-box,

.stats-card:hover .icon-box{

    transform:rotate(-8deg) scale(1.08);

}


/*=========================================================
  IMAGE BOX
=========================================================*/

.image-box{

    position:relative;

    overflow:hidden;

    border-radius:var(--radius-lg);

}

.image-box img{

    width:100%;

    display:block;

    transition:.6s ease;

}

.image-box:hover img{

    transform:scale(1.08);

}


/*=========================================================
  COMMON HOVER
=========================================================*/

.hover-lift{

    transition:var(--transition);

}

.hover-lift:hover{

    transform:translateY(-8px);

}

.hover-scale{

    transition:var(--transition);

}

.hover-scale:hover{

    transform:scale(1.04);

}


/*=========================================================
  RESPONSIVE
=========================================================*/

@media(max-width:991px){

    .card-custom,

    .feature-card,

    .stats-card{

        padding:30px;

    }

}


@media(max-width:767px){

    .btn-primary-custom,

    .btn-outline-custom,

    .btn-dark-custom,

    .btn-white-custom{

        width:100%;

    }

    .card-custom,

    .feature-card,

    .stats-card{

        padding:24px;

    }

    .icon-box{

        width:65px;

        height:65px;

        font-size:24px;

        border-radius:18px;

    }

    .stats-card h2{

        font-size:42px;

    }

}

/*=========================================================
  COMPONENT DESIGN SYSTEM
  Part-3
  Decorations + Utilities + Shadows
=========================================================*/


/*=========================================================
  DECORATION ELEMENTS
=========================================================*/

.circle{

    position:absolute;

    border-radius:50%;

    pointer-events:none;

}

.circle-sm{

    width:80px;

    height:80px;

}

.circle-md{

    width:140px;

    height:140px;

}

.circle-lg{

    width:240px;

    height:240px;

}

.circle-xl{

    width:360px;

    height:360px;

}

.circle-primary{

    background:rgba(255,140,0,.08);

}

.circle-secondary{

    background:rgba(255,94,98,.08);

}

.circle-light{

    background:rgba(255,255,255,.35);

}

.blur-circle{

    filter:blur(12px);

}


/*=========================================================
  SHADOW UTILITIES
=========================================================*/

.shadow-none{

    box-shadow:none !important;

}

.shadow-sm{

    box-shadow:var(--shadow-sm);

}

.shadow{

    box-shadow:var(--shadow);

}

.shadow-lg{

    box-shadow:var(--shadow-lg);

}

.shadow-primary{

    box-shadow:var(--shadow-primary);

}


/*=========================================================
  BORDER RADIUS
=========================================================*/

.radius-sm{

    border-radius:var(--radius-sm);

}

.radius{

    border-radius:var(--radius);

}

.radius-lg{

    border-radius:var(--radius-lg);

}

.radius-xl{

    border-radius:var(--radius-xl);

}

.radius-pill{

    border-radius:999px;

}


/*=========================================================
  DISPLAY UTILITIES
=========================================================*/

.d-flex-center{

    display:flex;

    align-items:center;

    justify-content:center;

}

.flex-between{

    display:flex;

    align-items:center;

    justify-content:space-between;

}

.flex-column{

    display:flex;

    flex-direction:column;

}

.flex-wrap{

    flex-wrap:wrap;

}

.align-center{

    align-items:center;

}

.justify-center{

    justify-content:center;

}

.justify-between{

    justify-content:space-between;

}


/*=========================================================
  GAP UTILITIES
=========================================================*/

.gap-10{

    gap:10px;

}

.gap-15{

    gap:15px;

}

.gap-20{

    gap:20px;

}

.gap-25{

    gap:25px;

}

.gap-30{

    gap:30px;

}

.gap-40{

    gap:40px;

}


/*=========================================================
  WIDTH / HEIGHT
=========================================================*/

.w-100{

    width:100%;

}

.h-100{

    height:100%;

}

.overflow-hidden{

    overflow:hidden;

}

.position-relative{

    position:relative;

}


/*=========================================================
  SPACING
=========================================================*/

.mt-10{margin-top:10px;}
.mt-20{margin-top:20px;}
.mt-30{margin-top:30px;}
.mt-40{margin-top:40px;}
.mt-50{margin-top:50px;}

.mb-10{margin-bottom:10px;}
.mb-20{margin-bottom:20px;}
.mb-30{margin-bottom:30px;}
.mb-40{margin-bottom:40px;}
.mb-50{margin-bottom:50px;}

.pt-20{padding-top:20px;}
.pt-40{padding-top:40px;}
.pt-60{padding-top:60px;}

.pb-20{padding-bottom:20px;}
.pb-40{padding-bottom:40px;}
.pb-60{padding-bottom:60px;}


/*=========================================================
  BACKGROUNDS
=========================================================*/

.bg-white{

    background:#fff;

}

.bg-light{

    background:var(--light);

}

.bg-gradient{

    background:var(--gradient-light);

}

.bg-primary-gradient{

    background:var(--gradient-primary);

}


/*=========================================================
  TEXT COLORS
=========================================================*/

.text-dark{

    color:var(--dark);

}

.text-body{

    color:var(--body);

}

.text-primary{

    color:var(--primary-dark);

}

.text-white{

    color:#fff;

}

.text-center{

    text-align:center;

}

.text-left{

    text-align:left;

}

.text-right{

    text-align:right;

}


/*=========================================================
  DIVIDER
=========================================================*/

.section-divider{

    width:80px;

    height:4px;

    margin:18px auto 0;

    border-radius:999px;

    background:var(--gradient-primary);

}


/*=========================================================
  RESPONSIVE
=========================================================*/

@media(max-width:767px){

    .flex-between{

        flex-direction:column;

        gap:20px;

        align-items:flex-start;

    }

    .gap-40{

        gap:25px;

    }

    .circle-xl{

        width:220px;

        height:220px;

    }

    .circle-lg{

        width:160px;

        height:160px;

    }

}

/*=========================================================
  COMPONENT DESIGN SYSTEM
  Part-4
  Animations + Accessibility + Final Polish
=========================================================*/


/*=========================================================
  GLOBAL TRANSITIONS
=========================================================*/

.transition{

    transition:var(--transition);

}

.transition-fast{

    transition:.25s ease;

}

.transition-slow{

    transition:.55s ease;

}


/*=========================================================
  ANIMATION KEYFRAMES
=========================================================*/

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(35px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}



@keyframes fadeIn{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}



@keyframes zoomIn{

    from{

        opacity:0;

        transform:scale(.92);

    }

    to{

        opacity:1;

        transform:scale(1);

    }

}



@keyframes float{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-12px);

    }

}



@keyframes rotateSlow{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}



@keyframes pulse{

    0%{

        transform:scale(1);

    }

    50%{

        transform:scale(1.05);

    }

    100%{

        transform:scale(1);

    }

}



/*=========================================================
  READY TO USE ANIMATION CLASSES
=========================================================*/

.fade-up{

    animation:fadeUp .8s ease both;

}

.fade-in{

    animation:fadeIn .8s ease both;

}

.zoom-in{

    animation:zoomIn .7s ease both;

}

.float{

    animation:float 6s ease-in-out infinite;

}

.rotate-slow{

    animation:rotateSlow 18s linear infinite;

}

.pulse{

    animation:pulse 2.5s infinite;

}



/*=========================================================
  HOVER EFFECTS
=========================================================*/

.hover-lift{

    transition:var(--transition);

}

.hover-lift:hover{

    transform:translateY(-8px);

}



.hover-grow{

    transition:var(--transition);

}

.hover-grow:hover{

    transform:scale(1.04);

}



.hover-rotate{

    transition:var(--transition);

}

.hover-rotate:hover{

    transform:rotate(-6deg);

}



.hover-shadow:hover{

    box-shadow:var(--shadow-lg);

}



/*=========================================================
  IMAGE UTILITIES
=========================================================*/

.img-cover{

    width:100%;

    height:100%;

    object-fit:cover;

}

.img-contain{

    width:100%;

    height:100%;

    object-fit:contain;

}

.img-rounded{

    border-radius:var(--radius-lg);

}



/*=========================================================
  FORM UTILITIES
=========================================================*/

.form-control,

.form-select,

textarea{

    transition:var(--transition);

}

.form-control:focus,

.form-select:focus,

textarea:focus{

    border-color:var(--primary);

    box-shadow:

    0 0 0 4px rgba(255,140,0,.12);

}



/*=========================================================
  ACCESSIBILITY
=========================================================*/

:focus-visible{

    outline:3px solid rgba(255,140,0,.45);

    outline-offset:3px;

}



/*=========================================================
  SMOOTH SCROLL
=========================================================*/

html{

    scroll-behavior:smooth;

}



/*=========================================================
  SELECTION
=========================================================*/

::selection{

    background:var(--primary);

    color:#fff;

}



/*=========================================================
  REDUCED MOTION SUPPORT
=========================================================*/

@media(prefers-reduced-motion:reduce){

    *{

        animation:none !important;

        transition:none !important;

        scroll-behavior:auto !important;

    }

}



/*=========================================================
  RESPONSIVE HELPERS
=========================================================*/

@media(max-width:991px){

    .desktop-only{

        display:none !important;

    }

}



@media(min-width:992px){

    .mobile-only{

        display:none !important;

    }

}



/*=========================================================
  PRINT
=========================================================*/

@media print{

    .no-print{

        display:none !important;

    }

}



/*=========================================================
  END OF COMPONENT DESIGN SYSTEM
=========================================================*/