
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;600;700&family=Manrope:wght@300;400;500;600;700;800&display=swap');

/*=========================================================
ROOT VARIABLES
=========================================================*/

:root{

    --primary:#7B0E1B;
    --primary-dark:#56000c;
    --gold:#D4AF37;
    --champagne:#F7E7CE;

    --bg:#FCF9F8;
    --card:#ffffff;
    --light:#F6F3F2;
    --border:#E8D9D0;

    --text:#1C1B1B;
    --muted:#8A7D78;

    --shadow:0 8px 28px rgba(0,0,0,.05);
    --transition:.35s ease;

}

/*=========================================================
RESET
=========================================================*/

 

html{
    scroll-behavior:smooth;
}

body{background:var(--bg);color:var(--text);font-family:'Manrope',sans-serif;font-size:15px;line-height:1.7;overflow-x:hidden;}
img{max-width:100%;display:block;}a{text-decoration:none;}ul{list-style:none;}button{border:none;outline:none;}input,textarea,select,button{font-family:'Manrope',sans-serif;}

/*=========================================================
TYPOGRAPHY
=========================================================*/
h1,h2,h3,h4,h5,h6{font-family:'EB Garamond',serif;color:var(--primary);font-weight:600;}
.main-title{font-size:36px;line-height:1.15;margin-bottom:8px;}.subtitle{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:#847871;font-weight:600;}.section-title{font-size:26px;margin-bottom:20px;}.small-title{font-size:22px;margin-bottom:18px;}
/*=========================================================
HEADER
=========================================================*/
.site-header{background:#FCF9F8;border-bottom:1px solid var(--border);padding:18px 0;}.site-header img{height:70px;width:auto;}

/*=========================================================
PAGE
=========================================================*/
.registration-page{padding:55px 0 70px;}.registration-wrapper{margin-top:40px;}

/*=========================================================
CARD
=========================================================*/
.card-box{background:#fff;border:1px solid #eee;box-shadow:var(--shadow);padding:40px;position:relative;}.card-box::before{content:"";position:absolute;top:25px;right:25px;width:90px;height:90px;opacity:.04;background:url(images/diamond.svg) no-repeat center;background-size:contain;}

/*=========================================================
STEP BAR
=========================================================*/
.step-bar{display:flex;align-items:center;margin-bottom:40px;font-size:16px;}.step-bar .active{color:var(--primary);font-weight:700;border-bottom:2px solid var(--primary);padding-bottom:6px;}.step-divider{margin:0 15px;color:#ccc;}.step-inactive{color:#999;}
/*=========================================================
FORM
=========================================================*/
.form-label{font-size:11px;font-weight:700;color:#777;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;}.form-control,.form-select{border:none;border-bottom:1px solid var(--border);border-radius:0;background:transparent;padding:10px 0;font-size:15px;color:#222;box-shadow:none !important;}.form-control:focus,.form-select:focus{border-color:var(--primary);}.form-control::placeholder{color:#b6b6b6;}
/*=========================================================
RADIO
=========================================================*/
.form-check{padding-left:1.8rem;}.form-check-input{width:18px;height:18px;margin-top:2px;border:2px solid var(--border);}.form-check-input:checked{background-color:var(--primary);border-color:var(--primary);}.form-check-label{font-size:14px;cursor:pointer;}
/*=========================================================
ADVANCE PAYMENT
=========================================================*/
.payment-title{font-size:28px;margin-bottom:30px;}.amount-box{position:relative;}.amount-box span{position:absolute;left:0;bottom:12px;color:var(--primary);font-size:18px;font-weight:700;}.amount-box .form-control{padding-left:22px;font-size:28px;font-weight:600;font-family:'EB Garamond',serif;}

/*=========================================================
PAYMENT METHOD
=========================================================*/
.payment-method{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px;}.payment-card{border:1px solid var(--border);background:#fff;text-align:center;padding:18px;cursor:pointer;transition:var(--transition);}.payment-card i{font-size:30px;color:var(--primary);margin-bottom:10px;}.payment-card h6{font-family:'Manrope',sans-serif;font-size:12px;font-weight:700;letter-spacing:1px;margin:0;text-transform:uppercase;}.payment-card:hover{border-color:var(--primary);transform:translateY(-3px);}.payment-card.active{border-color:var(--primary);background:#faf6f6;}

/*=========================================================
QR CARD
=========================================================*/
.qr-card{background:#f7f7f7;border:1px dashed var(--border);text-align:center;padding:20px;height:100%;}.qr-card img{width:260px;margin:auto;background:#fff;padding:10px;box-shadow:0 5px 15px rgba(0,0,0,.08);}.qr-card h6{margin-top:15px;font-size:12px;font-family:'Manrope',sans-serif;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:1px;}.qr-card p{font-size:11px;color:#888;margin:4px 0 0;}
/*=========================================================
UPLOAD AREA
=========================================================*/
.upload-box{border:2px dashed #e6d6ca;background:#fff;text-align:center;padding:45px 20px;margin-top:30px;cursor:pointer;transition:var(--transition);}.upload-box:hover{border-color:var(--primary);background:#fff9f9;}.upload-box i{font-size:46px;color:#c6b9b2;margin-bottom:15px;}.upload-box p{color:#777;margin-bottom:5px;}.upload-box span{color:var(--primary);font-weight:700;text-decoration:underline;}.upload-box small{color:#aaa;display:block;}

/*=========================================================
BUTTON
=========================================================*/
.btn-primary-custom{width:100%;height:58px;background:var(--primary);color:#fff;border:none;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;transition:var(--transition);border-radius:0px;}.btn-primary-custom:hover{background:#450009;color:#fff;}.btn-primary-custom i{margin-left:8px;transition:.3s;}.btn-primary-custom:hover i{transform:translateX(5px);}
/*=========================================================
RIGHT SIDEBAR
=========================================================*/
.sidebar-card{margin-bottom:35px;}.sidebar-card img{width:100%;box-shadow:var(--shadow);height:320px;}.sidebar-card p{color:#777;margin-top:15px;line-height:1.8;font-size:18px;}.sidebar-title{font-size:28px;margin-bottom:18px;}
.heritage{position:absolute;bottom:25%;right:18%;color:#fff;font-size:26px;font-family:'EB Garamond', serif;font-style: italic; }
.heritage-28{position:absolute;bottom:20%;right:20%;color:#fff !important;font-size:15px !important; font-family: 'Manrope', sans-serif; opacity: 0.8; }
/*=========================================================
REGISTRATION PROCESS
=========================================================*/
.process-card{background:#f8f6f5;border-left:4px solid var(--primary);padding:35px;}.process-list{margin-top:30px;}.process-item{position:relative;padding-left:38px;padding-bottom:32px;}.process-item:last-child{padding-bottom:0;}.process-item::before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;border:2px solid #ddd;left:0;top:3px;background:#fff;}.process-item.active::before{background:var(--primary);border-color:var(--primary);}.process-item.active::after{content:"✓";position:absolute;left:5px;top:3px;color:#fff;font-size:11px;}.process-item h6{font-family:'Manrope',sans-serif;font-size:16px;text-transform:uppercase;font-weight:700;color:var(--primary);margin-bottom:4px;}.process-item p{font-size:13px;color:#777;margin:0;}
/*=========================================================
SUPPORT CARD
=========================================================*/
.support-card{border:1px solid #e8d9d07a;background:#fff;padding:30px;position:relative;}.support-card i{position:absolute;top:25px;right:25px;color:var(--primary);font-size:22px;}.support-card h5{font-size:18px;margin-bottom:10px;font-family: 'Manrope';text-transform: uppercase;}.support-card p{color:#777;margin-bottom:15px;}.support-card a{color:var(--primary);font-weight:700;display:block;margin-bottom:5px;}
 
/*=========================================================
LINKS
=========================================================*/
a{transition:var(--transition);}.text-primary{color:var(--primary)!important;}.text-gold{color:var(--gold)!important;}

/*=========================================================
CUSTOM SCROLLBAR
=========================================================*/
::-webkit-scrollbar{width:10px;}::-webkit-scrollbar-track{background:#f2f2f2;}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:30px;}::-webkit-scrollbar-thumb:hover{background:#56000c;}

/*=========================================================
BOOTSTRAP OVERRIDES
=========================================================*/
.container{max-width:1280px;}.row{--bs-gutter-x:3rem;}.card{border:none;border-radius:0;}.form-control:focus,.form-select:focus{box-shadow:none;}.btn:focus{box-shadow:none;}.form-check-input:focus{box-shadow:none;}
/*=========================================================
ANIMATIONS
=========================================================*/
@keyframes fadeUp{from{opacity:0;transform:translateY(25px);}to{opacity:1;transform:translateY(0);}}.fade-up{animation:fadeUp .8s ease;}@keyframes pulse{0%{transform:scale(1);}50%{transform:scale(1.05);}100%{transform:scale(1);}}.payment-card.active{animation:pulse .5s;}

/*=========================================================
IMAGE STYLES
=========================================================*/
img{max-width:100%;height:auto;}.floor-plan{overflow:hidden;border:1px solid var(--border);}.floor-plan img{transition:1s;}.floor-plan:hover img{transform:scale(1.05);}

/*=========================================================
SPACING HELPERS
=========================================================*/
.mt-40{margin-top:40px;}.mt-50{margin-top:50px;}.mb-40{margin-bottom:40px;}.mb-50{margin-bottom:50px;}.py-70{padding:70px 0;}
/*=========================================================
RESPONSIVE
=========================================================*/
@media (max-width:1199px){
.main-title{font-size:38px;}
.card-box{padding:35px;}
.sidebar-title{font-size:24px;}
}

@media (max-width:991px){
.registration-page{padding:40px 0;}
.card-box{margin-bottom:40px;}
.site-header{text-align:center;}
.footer-links{justify-content:center;margin:25px 0;}
.footer-copy{text-align:center;}
.payment-method{margin-bottom:30px;}
}

@media (max-width:767px){
.main-title{font-size:30px;line-height:1.2;}
.subtitle{font-size:10px;letter-spacing:1px;}
.card-box{padding:25px;}
.payment-method{grid-template-columns:1fr;}
.process-card{padding:25px;}
.sidebar-title{font-size:22px;}
.footer-links{flex-direction:column;gap:15px;text-align:center;}
.footer-copy{margin-top:20px;}
.btn-primary-custom{height:54px;font-size:13px;}
}

@media (max-width:575px){
.main-title{font-size:26px;}
.card-box{padding:20px;}
.payment-title{font-size:24px;}
.section-title{font-size:26px;}
.small-title{font-size:20px;}
.form-control,.form-select{font-size:14px;}
.qr-card img{width:110px;}
}

/*=========================================================
END OF FILE
=========================================================*/
 
.company-section{
    margin-bottom:40px;
}

.document-list{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px 40px;
    margin-top:25px;
}

.document-item{
    display:flex;
    align-items:center;
    gap:10px;
    cursor:pointer;
}

.document-item i{
    color:var(--gold);
    font-size:15px;
}

.document-item span{
    font-size:13px;
}

.requirement-box{
    margin-top:30px;
}

.requirement-box textarea{
    min-height:110px;
    resize:vertical;
}

.kit-card{
    background:#faf7f5;
    border:1px solid var(--border);
    padding:25px;
}

.kit-banner{
    margin-bottom:20px;
}

.kit-banner img{
    width:100%;
    display:block;
}

.manual-btn{
    width:100%;
    height:46px;
    border:1px solid var(--primary);
    color:var(--primary);
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 20px;
    transition:.3s;
}

.manual-btn:hover{
    background:var(--primary);
    color:#fff;
}

.kit-list{
    margin-top:25px;
}

.kit-item{
    border-top:1px solid var(--border);
    padding:15px 0;
}

.kit-item h6{
    font-family:'Manrope';
    font-size:13px;
    color:var(--primary);
    margin-bottom:5px;
}

.kit-item p{
    font-size:12px;
    color:#777;
    margin:0;
}
/*==============================
Kit Inclusions
==============================*/

.kit-title{
    font-size:18px;
    font-weight:700;
    color:var(--primary);
    text-transform:uppercase;
    letter-spacing:1px;
    border-bottom:1px solid #e5d8c7;
    padding-bottom:12px;
    margin-bottom:25px;
}

.kit-list{
    margin:0;
    padding:0;
}

.kit-list li{
    display:flex;
    align-items:flex-start;
    gap:18px;
    margin-bottom:28px;
}

.kit-list li:last-child{
    margin-bottom:0;
}

.kit-number{
    min-width:30px;
    width:30px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid var(--gold);
    border-radius:50%;
    font-family:'EB Garamond',serif;
    font-size:16px;
    font-weight:700;
    color:var(--gold);
    flex-shrink:0;
}

.kit-list strong{
    display:block;
    font-size:14px;
    font-weight:700;
    color:#1C1B1B;
    margin-bottom:6px;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.kit-list p{
    margin:0;
    font-size:14px;
    line-height:1.7;
    color:#666;
}

.kit-list li:hover .kit-number{
    background:var(--gold);
    color:#fff;
    transition:.3s;
}

.kit-list li:hover strong{
    color:var(--gold);
    transition:.3s;
}
/*==============================
Outline Primary Button
==============================*/

.btn-outline-primary-custom{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:100%;
    padding:14px 20px;
    border:1px solid var(--primary);
    background:#fff;
    color:var(--primary);
    font-size:15px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.6px;
    border-radius:0px;
    text-decoration:none;
    transition:all .35s ease;
}

.btn-outline-primary-custom i{
    font-size:18px;
    transition:transform .35s ease;
}

.btn-outline-primary-custom:hover{
    background:var(--primary);
    color:#fff;
    border-color:var(--primary);
    transform:translateY(-2px);
    box-shadow:0 10px 25px rgba(123,14,27,.18);
}

.btn-outline-primary-custom:hover i{
    transform:translateY(2px);
}

.btn-outline-primary-custom:focus{
    box-shadow:none;
    outline:none;
}

.btn-outline-primary-custom:active{
    transform:scale(.98);
}

.company-section{
    background:#fff;
}

.document-upload{
    position:relative;
    display:flex;
    align-items:center;
    gap:18px;
    padding:10px 15px;
    cursor:pointer;
    transition:.3s ease;
}

.document-upload input[type="file"]{
    position:absolute;
    inset:0;
    opacity:0;
    cursor:pointer;
}

.document-upload label{
    display:flex;
    align-items:center;
    gap:15px;
    width:100%;
    margin:0;
    cursor:pointer;
    font-size:15px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:#171717;
    line-height:1.5;
}

.document-upload label i{
    width:28px;
    color:#D4A72C;
    font-size:26px;
    flex-shrink:0;
}

.document-upload:hover label{
    color:#8B0000;
}

.document-upload:hover label i{
    color:#8B0000;
}


/* Document Grid */

.row.g-3{
    row-gap:0px;
}

textarea.form-control {
    min-height: calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));
    border: 1px solid var(--border);
    padding: 10px;
}
/* Mobile */

@media(max-width:767px){

    .document-upload{
        padding:18px 10px;
    }

    .document-upload label{
        font-size:13px;
        gap:12px;
    }

    .document-upload label i{
        font-size:22px;
    }

}

