@import url('https://fonts.googleapis.com/css2?family=Anek+Gujarati:wght@400;500;600;700;800&family=Inter:wght@500;600;700;800&display=swap');

*{
    box-sizing:border-box;
}

:root{
    --maroon:#861b32;
    --maroon-dark:#651124;
    --maroon-light:#a52946;

    --gold:#cf9f35;
    --gold-light:#f4df9f;

    --cream:#fff9eb;
    --cream2:#faf3df;

    --text:#493b34;
    --muted:#90847b;

    --line:#eadfce;

    --white:#ffffff;
}

html{
    min-height:100%;
}

body{
    margin:0;

    min-height:100vh;

    background:
        #f7f1e5;

    color:
        var(--text);

    font-family:
        "Anek Gujarati",
        sans-serif;
}


/* HEADER */

.site-header{
    position:relative;

    z-index:20;

    background:#fff;

    border-bottom:
        1px solid #eee7db;
}

.header-inner{
    width:min(100%,1000px);

    min-height:80px;

    display:flex;

    align-items:center;

    gap:14px;

    margin:auto;

    padding:
        10px 20px;
}

.header-logo{
    width:58px;

    height:58px;

    flex:0 0 58px;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

    border-radius:50%;

    border:
        1px solid #e8dcc7;

    background:
        #fff9ec;
}

.header-logo img{
    width:100%;

    height:100%;

    object-fit:cover;
}

.logo-fallback{
    width:100%;

    height:100%;

    display:flex;

    align-items:center;

    justify-content:center;

    color:
        var(--maroon);

    font:
        800 13px Inter;
}

.header-text span,
.header-text strong{
    display:block;
}

.header-text span{
    color:
        #a0784c;

    font-size:11px;

    font-weight:700;
}

.header-text strong{
    margin-top:2px;

    color:
        var(--maroon-dark);

    font-size:15px;

    font-weight:800;
}


/* HERO */

.event-hero{
    position:relative;

    min-height:265px;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

    padding:
        35px 20px;

    background:
        radial-gradient(
            circle at 50% 0%,
            #b63b54 0,
            #891d36 38%,
            #6a1328 100%
        );

    color:#fff;

    text-align:center;
}

.hero-pattern{
    position:absolute;

    inset:-120px;

    opacity:.08;

    background:
        repeating-radial-gradient(
            circle at center,
            #fff 0,
            #fff 1px,
            transparent 1px,
            transparent 22px
        );
}

.event-hero::before{
    content:"";

    position:absolute;

    width:480px;

    height:480px;

    left:50%;

    top:-345px;

    transform:
        translateX(-50%);

    border:
        1px solid rgba(255,255,255,.14);

    border-radius:50%;
}

.hero-content{
    position:relative;

    z-index:2;
}

.hero-small{
    display:inline-block;

    margin-bottom:8px;

    color:
        var(--gold-light);

    font-size:13px;

    font-weight:700;
}

.hero-content h1{
    margin:0;

    color:#fff5d7;

    font-size:
        clamp(50px,8vw,76px);

    font-weight:800;

    line-height:.95;

    letter-spacing:-.04em;
}

.hero-content>p{
    margin:
        5px 0 0;

    color:
        #f3c6cc;

    font-size:26px;

    font-weight:700;
}

.hero-divider{
    display:flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    margin:
        13px 0 10px;

    color:
        #e8c271;
}

.hero-divider span{
    width:52px;

    height:1px;

    background:
        rgba(237,205,129,.5);
}

.hero-caption{
    color:
        #efdfb0;

    font-size:11px;

    font-weight:600;
}


/* EVENT DATE STRIP */

.event-info{
    position:relative;

    z-index:5;

    background:
        #fff;

    border-bottom:
        1px solid #eee4d6;

    box-shadow:
        0 7px 25px rgba(75,48,32,.04);
}

.info-grid{
    width:min(100%,900px);

    display:grid;

    grid-template-columns:
        1fr 1px 1fr 1px 1fr;

    align-items:center;

    margin:auto;

    padding:
        17px 20px;
}

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

.info-item span,
.info-item strong,
.info-item small{
    display:block;
}

.info-item span{
    color:
        var(--maroon);

    font-size:10px;

    font-weight:800;
}

.info-item strong{
    margin-top:3px;

    color:
        #40322d;

    font:
        800 17px Inter;
}

.info-item small{
    margin-top:2px;

    color:
        #a49689;

    font-size:9px;
}

.info-separator{
    width:1px;

    height:45px;

    background:
        #eee4d9;
}


/* MAIN */

.page-main{
    padding:
        35px 15px 65px;
}

.registration-card{
    width:min(100%,850px);

    margin:auto;

    overflow:hidden;

    border:
        1px solid #e9decc;

    border-radius:18px;

    background:#fff;

    box-shadow:
        0 20px 60px rgba(75,50,27,.08);
}


/* FORM HEAD */

.form-heading{
    padding:
        30px 30px 26px;

    border-bottom:
        1px solid #eee5d8;

    text-align:center;

    background:
        linear-gradient(
            180deg,
            #fffdf8,
            #fff
        );
}

.form-kicker{
    color:
        #ac7b40;

    font:
        800 9px Inter;

    letter-spacing:.12em;
}

.form-heading h2{
    margin:
        7px 0 0;

    color:
        var(--maroon);

    font-size:30px;

    font-weight:800;
}

.form-heading p{
    margin:
        5px auto 0;

    color:
        #988c81;

    font-size:11px;

    line-height:1.6;
}


/* SECTION */

.form-section{
    padding:
        28px 30px;

    border-bottom:
        1px solid #eee5d8;
}

.section-title{
    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:22px;
}

.section-no{
    width:43px;

    height:43px;

    flex:0 0 43px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:
        #f8eee8;

    border:
        1px solid #ecd6c7;

    color:
        var(--maroon);

    font:
        800 10px Inter;
}

.section-title span{
    display:block;

    color:
        #b48a5f;

    font:
        800 8px Inter;

    letter-spacing:.1em;
}

.section-title h3{
    margin:
        3px 0 0;

    color:
        #4b3932;

    font-size:18px;

    font-weight:800;
}

.section-description{
    margin:
        -10px 0 20px 55px;

    color:
        #9a8e83;

    font-size:10px;
}


/* FIELDS */

.form-grid{
    display:grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        18px 20px;
}

.form-field{
    display:block;
}

.form-field.full{
    grid-column:
        1 / -1;
}

.form-field>span{
    display:block;

    color:
        #51453f;

    font-size:11px;

    font-weight:800;
}

.form-field>span b{
    color:
        #ba2f4a;
}

.form-field>small{
    display:block;

    margin-top:2px;

    color:
        #aaa096;

    font:
        600 8px Inter;
}

.form-field>input{
    width:100%;

    height:46px;

    margin-top:7px;

    padding:
        0 13px;

    border:
        1px solid #e3ddd4;

    border-radius:7px;

    outline:0;

    background:
        #fff;

    color:
        #453b35;

    font-size:12px;

    transition:.18s;
}

.form-field>input::placeholder,
.mobile-box input::placeholder{
    color:
        #b7afa8;
}

.form-field>input:focus{
    border-color:
        #b17886;

    box-shadow:
        0 0 0 3px rgba(134,27,50,.07);
}


/* MOBILE */

.mobile-box{
    height:46px;

    display:flex;

    align-items:center;

    overflow:hidden;

    margin-top:7px;

    border:
        1px solid #e3ddd4;

    border-radius:7px;

    background:#fff;
}

.mobile-box>span{
    min-width:49px;

    height:100%;

    display:flex;

    align-items:center;

    justify-content:center;

    border-right:
        1px solid #e6dfd7;

    background:
        #faf7f2;

    color:
        #81766d;

    font:
        700 10px Inter;
}

.mobile-box input{
    flex:1;

    min-width:0;

    height:100%;

    padding:
        0 12px;

    border:0;

    outline:0;

    background:
        transparent;

    color:
        #453b35;

    font-size:12px;
}


/* RADIO */

.option-row{
    display:grid;

    grid-template-columns:
        1fr 1fr;

    gap:12px;

    margin-top:8px;
}

.radio-card{
    position:relative;

    min-height:62px;

    display:flex;

    align-items:center;

    gap:10px;

    padding:
        11px 13px;

    border:
        1px solid #e4ddd4;

    border-radius:8px;

    background:#fff;

    cursor:pointer;
}

.radio-card input{
    position:absolute;

    opacity:0;
}

.radio-dot,
.updhan-radio{
    width:20px;

    height:20px;

    flex:0 0 20px;

    border:
        1.5px solid #d8cec3;

    border-radius:50%;

    background:#fff;

    box-shadow:
        inset 0 0 0 5px #fff;
}

.radio-card strong,
.radio-card small{
    display:block;
}

.radio-card strong{
    color:
        #4d4039;

    font-size:12px;
}

.radio-card small{
    margin-top:1px;

    color:
        #a79d94;

    font:
        600 8px Inter;
}

.radio-card:has(input:checked){
    border-color:
        #bd8794;

    background:
        #fff8f8;
}

.radio-card:has(input:checked) .radio-dot{
    border-color:
        var(--maroon);

    background:
        var(--maroon);
}


/* UPDHAN */

.updhan-options{
    display:grid;

    grid-template-columns:
        repeat(2,1fr);

    gap:10px;
}

.updhan-option{
    position:relative;

    min-height:54px;

    display:flex;

    align-items:center;

    gap:10px;

    padding:
        10px 13px;

    border:
        1px solid #e4ddd4;

    border-radius:8px;

    background:#fff;

    cursor:pointer;
}

.updhan-option input{
    position:absolute;

    opacity:0;
}

.updhan-option strong{
    color:
        #51443d;

    font-size:11px;
}

.updhan-option:has(input:checked){
    border-color:
        #b97e8e;

    background:
        #fff7f8;
}

.updhan-option:has(input:checked) .updhan-radio{
    border-color:
        var(--maroon);

    background:
        var(--maroon);
}


/* PHOTO */

.photo-upload{
    min-height:190px;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

    border:
        1.5px dashed #d4c3ad;

    border-radius:10px;

    background:
        #fffaf2;

    cursor:pointer;
}

.photo-upload input{
    display:none;
}

.photo-placeholder{
    display:flex;

    flex-direction:column;

    align-items:center;

    padding:20px;

    text-align:center;
}

.photo-placeholder.hide{
    display:none;
}

.camera-icon{
    width:48px;

    height:48px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:9px;

    border-radius:50%;

    background:
        #f5e9d5;

    color:
        var(--maroon);

    font-size:23px;

    font-weight:500;
}

.photo-placeholder strong{
    color:
        #63534a;

    font-size:12px;
}

.photo-placeholder span{
    margin-top:4px;

    color:
        #a99c91;

    font:
        600 8px Inter;
}

#photoPreview{
    display:none;

    width:100%;

    max-height:330px;

    object-fit:contain;
}

#photoPreview.show{
    display:block;
}


/* NOTE */

.important-note{
    margin:
        25px 30px 0;

    padding:
        15px 17px;

    border:
        1px solid #ead7af;

    border-radius:9px;

    background:
        #fff9e9;
}

.note-title{
    display:flex;

    align-items:center;

    gap:6px;

    color:
        #9c6d1f;
}

.note-title span{
    color:
        #bd8b2c;
}

.note-title strong{
    font-size:12px;
}

.important-note p{
    margin:
        6px 0 0;

    color:
        #837260;

    font-size:10px;

    line-height:1.65;
}


/* DECLARATION */

.declaration-box{
    position:relative;

    display:flex;

    align-items:flex-start;

    gap:9px;

    margin:
        20px 30px 0;

    cursor:pointer;
}

.declaration-box input{
    position:absolute;

    opacity:0;
}

.declaration-check{
    width:21px;

    height:21px;

    flex:0 0 21px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-top:1px;

    border:
        1px solid #d8cec4;

    border-radius:5px;

    background:#fff;

    color:transparent;

    font:
        800 9px Inter;
}

.declaration-box input:checked + .declaration-check{
    border-color:
        var(--maroon);

    background:
        var(--maroon);

    color:#fff;
}

.declaration-box span{
    color:
        #746860;

    font-size:10px;

    line-height:1.65;
}


/* SUBMIT */

.submit-area{
    padding:
        22px 30px 30px;

    text-align:center;
}

.submit-btn{
    width:min(100%,360px);

    min-height:48px;

    display:inline-flex;

    align-items:center;

    justify-content:space-between;

    gap:15px;

    padding:
        0 17px;

    border:0;

    border-radius:7px;

    background:
        linear-gradient(
            135deg,
            #9d2440,
            #711326
        );

    color:#fff;

    font-family:
        "Anek Gujarati",
        sans-serif;

    font-size:12px;

    font-weight:800;

    cursor:pointer;

    box-shadow:
        0 9px 23px rgba(117,20,43,.18);
}

.submit-btn i{
    font:
        700 14px Inter;

    font-style:normal;
}

.submit-area>small{
    display:block;

    margin-top:8px;

    color:
        #a0968d;

    font-size:9px;
}


/* FOOTER */

.site-footer{
    padding:
        23px 15px 35px;

    text-align:center;
}

.site-footer strong,
.site-footer span{
    display:block;
}

.site-footer strong{
    color:
        #725f53;

    font-size:10px;
}

.site-footer span{
    margin-top:3px;

    color:
        #a99f96;

    font:
        600 8px Inter;
}


/* ERROR */

.validation-box{
    display:flex;

    align-items:flex-start;

    gap:10px;

    margin:
        22px 30px 0;

    padding:
        13px;

    border:
        1px solid #efc9cf;

    border-radius:8px;

    background:
        #fff5f6;

    color:
        #a1364e;
}

.validation-icon{
    width:29px;

    height:29px;

    flex:0 0 29px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:
        #f5dce1;

    font:
        800 12px Inter;
}

.validation-box strong,
.validation-box span{
    display:block;
}

.validation-box strong{
    font-size:10px;
}

.validation-box span{
    margin-top:2px;

    font-size:9px;
}


/* MODAL */

.modal-overlay,
.submit-overlay{
    position:fixed;

    inset:0;

    z-index:9999;

    display:none;

    align-items:center;

    justify-content:center;

    padding:18px;

    background:
        rgba(43,24,24,.78);

    backdrop-filter:
        blur(5px);
}

.modal-overlay.show,
.submit-overlay.show{
    display:flex;
}

.modal-box,
.submit-box{
    width:min(100%,410px);

    padding:27px;

    border-radius:14px;

    background:#fff;

    text-align:center;

    box-shadow:
        0 25px 70px rgba(0,0,0,.25);
}

.modal-symbol{
    width:52px;

    height:52px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:
        0 auto 12px;

    border-radius:50%;

    background:
        #f5e1e4;

    color:
        var(--maroon);

    font:
        800 22px Inter;
}

.modal-box h3,
.submit-box h3{
    margin:0;

    color:
        #613541;

    font-size:18px;
}

.modal-box p,
.submit-box p{
    color:
        #8d817a;

    font-size:10px;

    line-height:1.65;
}

.modal-box button{
    min-width:130px;

    min-height:39px;

    margin-top:5px;

    border:0;

    border-radius:7px;

    background:
        var(--maroon);

    color:#fff;

    font-size:11px;

    font-weight:800;

    cursor:pointer;
}

.submit-spinner{
    width:42px;

    height:42px;

    margin:
        0 auto 13px;

    border:
        4px solid #f0e8df;

    border-top-color:
        var(--maroon);

    border-radius:50%;

    animation:
        spin .8s linear infinite;
}

@keyframes spin{
    to{
        transform:
            rotate(360deg);
    }
}


/* RESPONSIVE */

@media(max-width:650px){

    .header-inner{
        min-height:67px;

        padding:
            8px 13px;
    }

    .header-logo{
        width:48px;

        height:48px;

        flex-basis:48px;
    }

    .header-text span{
        font-size:9px;
    }

    .header-text strong{
        font-size:12px;
    }

    .event-hero{
        min-height:220px;

        padding:
            28px 15px;
    }

    .hero-content h1{
        font-size:52px;
    }

    .hero-content>p{
        font-size:22px;
    }

    .info-grid{
        grid-template-columns:
            1fr 1fr 1fr;

        gap:4px;

        padding:
            12px 5px;
    }

    .info-separator{
        display:none;
    }

    .info-item strong{
        font-size:12px;
    }

    .info-item span{
        font-size:8px;
    }

    .info-item small{
        font-size:7px;
    }

    .page-main{
        padding:
            18px 8px 40px;
    }

    .registration-card{
        border-radius:11px;
    }

    .form-heading{
        padding:
            23px 15px 20px;
    }

    .form-heading h2{
        font-size:25px;
    }

    .form-section{
        padding:
            23px 15px;
    }

    .form-grid{
        grid-template-columns:
            1fr;

        gap:15px;
    }

    .form-field.full{
        grid-column:auto;
    }

    .option-row,
    .updhan-options{
        grid-template-columns:
            1fr;
    }

    .section-title{
        gap:9px;

        margin-bottom:18px;
    }

    .section-no{
        width:39px;

        height:39px;

        flex-basis:39px;
    }

    .section-title h3{
        font-size:16px;
    }

    .section-description{
        margin:
            -7px 0 18px;
    }

    .important-note{
        margin:
            20px 15px 0;
    }

    .declaration-box{
        margin:
            18px 15px 0;
    }

    .submit-area{
        padding:
            20px 15px 25px;
    }

    .validation-box{
        margin:
            18px 15px 0;
    }
}


/* ==================================================
   SABARMATI PDF EXTRA INFORMATION
================================================== */

.pdf-extra-section{
    width:100%;
    margin-top:30px;
}

.pdf-extra-container{
    width:min(100%,850px);
    margin:0 auto;
}


/* LAST DATE */

.registration-deadline-card{
    display:flex;
    align-items:center;
    gap:20px;
    padding:22px 25px;
    margin-bottom:18px;
    border:1px solid #e7cf9c;
    border-radius:14px;
    background:
        linear-gradient(
            135deg,
            #fffaf0,
            #fff4d7
        );
    box-shadow:
        0 12px 35px rgba(93,63,22,.07);
}

.deadline-icon{
    width:70px;
    height:70px;
    flex:0 0 70px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:20px;
    background:
        linear-gradient(
            135deg,
            #a52b46,
            #74152c
        );
    color:#fff;
    font:800 22px Inter,sans-serif;
    box-shadow:
        0 10px 25px rgba(126,25,50,.18);
}

.deadline-kicker{
    color:#ae7d30;
    font:800 8px Inter,sans-serif;
    letter-spacing:.12em;
}

.deadline-content h3{
    margin:3px 0 0;
    color:#543d34;
    font-size:18px;
}

.deadline-content strong{
    display:block;
    margin-top:4px;
    color:#941d3b;
    font:800 25px Inter,sans-serif;
}

.deadline-content p{
    margin:5px 0 0;
    color:#81736a;
    font-size:10px;
    line-height:1.6;
}


/* GENERAL CARD */

.pdf-info-card{
    margin-bottom:18px;
    padding:25px;
    border:1px solid #e9ddce;
    border-radius:14px;
    background:#fff;
    box-shadow:
        0 12px 35px rgba(75,50,27,.05);
}

.pdf-card-heading{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:20px;
}

.pdf-card-icon{
    width:43px;
    height:43px;
    flex:0 0 43px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    background:#f7e9dc;
    color:#8d1d39;
    font-weight:800;
}

.pdf-card-heading span{
    display:block;
    color:#b17e42;
    font:800 8px Inter,sans-serif;
    letter-spacing:.1em;
}

.pdf-card-heading h3{
    margin:3px 0 0;
    color:#4c3a32;
    font-size:18px;
}


/* VENUE */

.venue-main{
    padding:20px;
    border-radius:11px;
    background:
        linear-gradient(
            135deg,
            #7c1831,
            #a12646
        );
    text-align:center;
    color:#fff;
}

.venue-main strong{
    display:block;
    color:#fff4d5;
    font-size:20px;
    line-height:1.45;
}

.venue-main span{
    display:block;
    margin-top:5px;
    color:#efccd3;
    font-size:11px;
}


/* INSTRUCTIONS */

.instruction-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 15px;
}

.instruction-item{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:12px;
    border:1px solid #eee5da;
    border-radius:10px;
    background:#fdfbf8;
}

.instruction-item i{
    width:26px;
    height:26px;
    flex:0 0 26px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#f2e1e4;
    color:#8c1b38;
    font:800 9px Inter,sans-serif;
    font-style:normal;
}

.instruction-item p{
    margin:1px 0 0;
    color:#74685f;
    font-size:10px;
    line-height:1.65;
}


/* SUBMISSION */

.submission-section{
    padding:27px 25px;
    border:1px solid #e7dac8;
    border-radius:14px;
    background:
        linear-gradient(
            180deg,
            #fffdf8,
            #fff9ef
        );
    box-shadow:
        0 12px 35px rgba(75,50,27,.05);
}

.submission-title{
    margin-bottom:20px;
    text-align:center;
}

.submission-title>span{
    color:#aa793e;
    font:800 8px Inter,sans-serif;
    letter-spacing:.12em;
}

.submission-title h3{
    margin:5px 0 0;
    color:#7b1831;
    font-size:21px;
}

.submission-title p{
    margin:5px auto 0;
    max-width:520px;
    color:#95887e;
    font-size:10px;
    line-height:1.6;
}

.submission-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
}

.submission-card{
    padding:20px;
    border:1px solid #e6dacb;
    border-radius:12px;
    background:#fff;
}

.submission-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:14px;
}

.submission-top span{
    color:#a07138;
    font:800 8px Inter,sans-serif;
    letter-spacing:.1em;
}

.submission-top strong{
    color:#8a1b37;
    font-size:10px;
}

.submission-card h4{
    margin:0;
    color:#493a34;
    font-size:14px;
    line-height:1.45;
}

.submission-card p{
    margin:5px 0 0;
    color:#887b71;
    font:600 9px Inter,sans-serif;
    line-height:1.55;
}

.submission-card>a{
    display:inline-block;
    margin-top:9px;
    color:#8b1b38;
    text-decoration:none;
    font:800 11px Inter,sans-serif;
}

.office-time{
    margin-top:14px;
    padding:10px 12px;
    border-radius:8px;
    background:#faf3e5;
}

.office-time span,
.office-time strong{
    display:block;
}

.office-time span{
    color:#a08f7e;
    font:700 8px Inter,sans-serif;
}

.office-time strong{
    margin-top:2px;
    color:#604b3c;
    font:800 10px Inter,sans-serif;
}


/* MOBILE */

@media(max-width:650px){

    .pdf-extra-section{
        margin-top:18px;
    }

    .registration-deadline-card{
        align-items:flex-start;
        gap:13px;
        padding:17px 15px;
        border-radius:11px;
    }

    .deadline-icon{
        width:52px;
        height:52px;
        flex-basis:52px;
        border-radius:14px;
        font-size:17px;
    }

    .deadline-content h3{
        font-size:15px;
    }

    .deadline-content strong{
        font-size:19px;
    }

    .pdf-info-card{
        padding:19px 15px;
        border-radius:11px;
    }

    .venue-main{
        padding:17px 12px;
    }

    .venue-main strong{
        font-size:16px;
    }

    .instruction-list{
        grid-template-columns:1fr;
    }

    .submission-section{
        padding:21px 15px;
        border-radius:11px;
    }

    .submission-grid{
        grid-template-columns:1fr;
    }

    .submission-title h3{
        font-size:18px;
    }
}



/* =========================================================
   SABARMATI ANUGRAHDATA
========================================================= */

.sab-anugrahdata-section{
    position:relative;
    overflow:hidden;
    margin:28px 0 32px;
    padding:28px 28px 30px;
    border:1px solid rgba(161,103,29,.20);
    border-radius:22px;
    background:
        radial-gradient(
            circle at top center,
            rgba(255,231,150,.30),
            transparent 42%
        ),
        linear-gradient(
            145deg,
            #fffdf6 0%,
            #fff8e6 48%,
            #fffdf8 100%
        );
    box-shadow:
        0 14px 40px rgba(98,54,16,.08),
        inset 0 1px 0 rgba(255,255,255,.9);
    text-align:center;
}

.sab-anugrahdata-section::before{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    top:-115px;
    left:-70px;
    border-radius:50%;
    background:rgba(163,31,45,.045);
}

.sab-anugrahdata-section::after{
    content:"";
    position:absolute;
    width:190px;
    height:190px;
    right:-90px;
    bottom:-125px;
    border-radius:50%;
    background:rgba(193,133,32,.07);
}

.sab-anugrahdata-ornament{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-bottom:8px;
}

.sab-anugrahdata-ornament span{
    display:block;
    width:48px;
    height:1px;
    background:linear-gradient(
        90deg,
        transparent,
        #c69435
    );
}

.sab-anugrahdata-ornament span:last-child{
    background:linear-gradient(
        90deg,
        #c69435,
        transparent
    );
}

.sab-anugrahdata-ornament strong{
    color:#b57a1d;
    font-size:14px;
    line-height:1;
}

.sab-anugrahdata-title{
    position:relative;
    z-index:2;
    display:inline-block;
    margin:0 auto;
    color:#941d2c;
    font-size:24px;
    line-height:1.35;
    font-weight:800;
    letter-spacing:.01em;
}

.sab-anugrahdata-subtitle{
    position:relative;
    z-index:2;
    margin-top:4px;
    margin-bottom:20px;
    color:#9a774a;
    font-size:12px;
    font-weight:600;
}

.sab-anugrahdata-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:
        repeat(2,minmax(0,1fr));
    gap:11px;
    max-width:940px;
    margin:0 auto;
}

.sab-anugrahdata-name{
    min-height:66px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    padding:13px 15px;
    border:1px solid rgba(181,123,31,.14);
    border-radius:14px;
    background:rgba(255,255,255,.72);
    box-shadow:
        0 5px 18px rgba(94,52,16,.045);
    color:#57271f;
    font-size:14px;
    line-height:1.65;
    font-weight:700;
    text-align:left;
}

.sab-anugrahdata-dot{
    flex:0 0 auto;
    color:#bd8528;
    font-size:8px;
}

@media (max-width:700px){

    .sab-anugrahdata-section{
        margin:22px 0 26px;
        padding:22px 14px 20px;
        border-radius:18px;
    }

    .sab-anugrahdata-title{
        font-size:21px;
    }

    .sab-anugrahdata-subtitle{
        margin-bottom:15px;
        font-size:11px;
    }

    .sab-anugrahdata-grid{
        grid-template-columns:1fr;
        gap:9px;
    }

    .sab-anugrahdata-name{
        min-height:auto;
        padding:11px 12px;
        border-radius:12px;
        font-size:13px;
        line-height:1.65;
    }

}



/* =========================================================
   ANUGRAHDATA POSITION BELOW EVENT SUMMARY
========================================================= */

.sab-anugrahdata-section{
    max-width:100%;
    margin-top:26px !important;
    margin-bottom:28px !important;
}

@media (max-width:700px){
    .sab-anugrahdata-section{
        margin-top:18px !important;
        margin-bottom:22px !important;
    }
}



/* =========================================================
   SABARMATI REGISTRATION SUCCESS POPUP
========================================================= */

.sab-registration-success-overlay{
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:
        rgba(40,18,18,.70);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}

.sab-registration-success-card{
    position:relative;
    width:min(460px,100%);
    padding:35px 28px 30px;
    border-radius:26px;
    border:1px solid rgba(181,126,41,.30);
    background:
        radial-gradient(
            circle at top center,
            rgba(255,226,138,.22),
            transparent 42%
        ),
        #fffdf7;
    box-shadow:
        0 30px 90px rgba(0,0,0,.30);
    text-align:center;
    animation:
        sabSuccessOpen .35s ease-out;
}

@keyframes sabSuccessOpen{

    from{
        opacity:0;
        transform:
            translateY(15px)
            scale(.96);
    }

    to{
        opacity:1;
        transform:
            translateY(0)
            scale(1);
    }
}

.sab-success-icon{
    width:76px;
    height:76px;
    margin:0 auto 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:
        linear-gradient(
            145deg,
            #188e68,
            #23b584
        );
    box-shadow:
        0 14px 35px
        rgba(29,157,114,.25);
    color:#fff;
    font-family:Arial,sans-serif;
    font-size:37px;
    font-weight:800;
}

.sab-success-small{
    margin-bottom:7px;
    color:#b17d27;
    font-size:9px;
    font-weight:900;
    letter-spacing:.14em;
}

.sab-registration-success-card h2{
    margin:0 0 13px;
    color:#8f1730;
    font-size:28px;
    line-height:1.3;
    font-weight:800;
}

.sab-success-name{
    margin-bottom:10px;
    color:#432a25;
    font-size:16px;
    font-weight:800;
}

.sab-registration-success-card p{
    margin:0;
    color:#4b3a34;
    font-size:15px;
    line-height:1.7;
    font-weight:700;
}

.sab-success-info{
    margin-top:17px;
    padding:14px 15px;
    border-radius:13px;
    background:#fff5df;
    color:#79582a;
    font-size:12px;
    line-height:1.7;
}

.sab-success-button{
    width:100%;
    margin-top:22px;
    padding:13px 18px;
    border:0;
    border-radius:12px;
    background:
        linear-gradient(
            135deg,
            #9d1736,
            #761128
        );
    color:#fff;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
    box-shadow:
        0 10px 24px
        rgba(132,20,48,.18);
}

.sab-success-button:hover{
    transform:translateY(-1px);
}


@media(max-width:600px){

    .sab-registration-success-card{
        padding:29px 19px 24px;
        border-radius:21px;
    }

    .sab-success-icon{
        width:66px;
        height:66px;
        font-size:32px;
    }

    .sab-registration-success-card h2{
        font-size:24px;
    }

}

