/*======================================================
 HVAC BTU CALCULATOR
 HVACSenior.com
=======================================================*/

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

.btu-page{

    background:#f4f7fc;

    padding:20px 0 20px;

}

.btu-container{

    width:95%;

    max-width:1450px;

    margin:auto;

}

/*======================================================
BREADCRUMB
=======================================================*/

.btu-breadcrumb{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:20px;

    font-size:14px;

    color:#64748b;

}

.btu-breadcrumb a{

    text-decoration:none;

    color:#64748b;

}

.btu-breadcrumb strong{

    color:#1e293b;

}

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

.btu-header{

    background:#fff;

    border-radius:18px;

    border:1px solid #e7edf5;

    padding:10px;

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    margin-bottom:22px;

    box-shadow:0 8px 24px rgba(15,23,42,.05);

}

.btu-header-left{

    display:flex;

    gap:20px;

}

.calculator-icon{

    width:76px;

    height:76px;

    border-radius:18px;

    background:linear-gradient(135deg,#3b82f6,#2563eb);

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

}

.calculator-icon i{

    font-size:38px;

    color:#fff;

}

.header-text h1{

    font-size:54px;

    font-weight:800;

    color:#0f172a;

    line-height:1.1;

    margin-bottom:12px;

}

.header-text p{

    max-width:760px;

    font-size:18px;

    line-height:1.7;

    color:#64748b;

}

.btu-header-right a{

    display:flex;

    align-items:center;

    gap:8px;

    text-decoration:none;

    color:#2563eb;

    font-size:15px;

    font-weight:700;

}

/*======================================================
GRID
=======================================================*/

.btu-calculator-grid{

    display:grid;

    grid-template-columns:1.8fr 1fr .8fr;

    gap:22px;

}

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

.card{

    background:#fff;

    border:1px solid #e7edf5;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 8px 24px rgba(15,23,42,.05);

}

.card-header{

    padding:16px 22px;

    color:#fff;

    display:flex;

    align-items:center;

    gap:12px;

    font-size:18px;

    font-weight:700;

}

.blue{

    background:linear-gradient(90deg,#1d4ed8,#2563eb);

}

.green{

    background:linear-gradient(90deg,#059669,#10b981);

}

.card-body{

    padding:22px;

}
/*======================================================
ROOM INFORMATION FORM
======================================================*/

.form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:18px;

    margin-bottom:18px;

}

.form-group{

    margin-bottom:18px;

}

.form-group label{

    display:block;

    font-size:15px;

    font-weight:700;

    color:#1f2937;

    margin-bottom:8px;

}

/*====================================
INPUTS
====================================*/

.input-unit{

    display:flex;

    border:1px solid #dbe4ef;

    border-radius:10px;

    overflow:hidden;

    background:#fff;

}

.input-unit input{

    flex:1;

    border:none;

    outline:none;

    padding:13px 14px;

    font-size:15px;

    color:#1f2937;

}

.input-unit input::placeholder{

    color:#94a3b8;

}

.input-unit span{

    width:46px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#f8fafc;

    border-left:1px solid #e5e7eb;

    font-weight:700;

    color:#334155;

}

/*====================================
SUN EXPOSURE
====================================*/

.sun-options{

    display:grid;

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

    gap:14px;

}

.sun-card{

    border:2px solid #e5e7eb;

    border-radius:12px;

    padding:2px;

    cursor:pointer;

    text-align:center;

    transition:.25s;

    position:relative;

    background:#fff;

}

.sun-card:hover{

    border-color:#2563eb;

}

.sun-card input{

    display:none;

}

.sun-card.active{

    border-color:#2563eb;

    background:#eff6ff;

}

.sun-icon{

    font-size:20px;

    margin-bottom:8px;

}

.sun-card h4{

    font-size:16px;

    margin-bottom:4px;

    color:#0f172a;

}

.sun-card small{

    color:#64748b;

    font-size:13px;

}

/*====================================
COUNTER
====================================*/

.counter{

    display:flex;

    border:1px solid #dbe4ef;

    border-radius:10px;

    overflow:hidden;

}

.counter button{

    width:42px;

    border:none;

    background:#f8fafc;

    cursor:pointer;

    font-size:22px;

    color:#334155;

}

.counter input{

    flex:1;

    border:none;

    text-align:center;

    font-size:16px;

    outline:none;

}

/*====================================
SELECT
====================================*/

select{

    width:100%;

    height:46px;

    border:1px solid #dbe4ef;

    border-radius:10px;

    padding:0 14px;

    font-size:15px;

    background:#fff;

}

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

.calculate-btn{

    width:100%;

    border:none;

    border-radius:10px;

    background:linear-gradient(90deg,#2563eb,#1d4ed8);

    color:#fff;

    font-size:18px;

    font-weight:700;

    padding:15px;

    margin-top:8px;

    cursor:pointer;

    transition:.3s;

}

.calculate-btn:hover{

    opacity:.95;

}

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

.tip-box{

    margin-top:18px;

    background:#f8fbff;

    border:1px solid #dbeafe;

    border-radius:10px;

    padding:14px;

    font-size:14px;

    line-height:1.0;

    color:#2563eb;

}
/*====================================================
RESULTS PANEL
====================================================*/

.result-box{

    border-radius:14px;

    padding:22px;

    text-align:center;

    margin-bottom:18px;

    border:1px solid #e5e7eb;

}

.green-box{

    background:#f0fdf4;

    border-color:#bbf7d0;

}

.blue-box{

    background:#eff6ff;

    border-color:#bfdbfe;

}

.orange-box{

    background:#fff7ed;

    border-color:#fed7aa;

}

.result-title{

    font-size:16px;

    font-weight:700;

    margin-bottom:12px;

    color:#334155;

}

.result-value{

    font-size:44px;

    font-weight:800;

    color:#059669;

    margin-bottom:14px;

}

.blue-text{

    color:#2563eb;

}

.orange-text{

    color:#ea580c;

}

.result-tag{

    display:inline-block;

    background:#fff;

    padding:8px 16px;

    border-radius:999px;

    font-size:14px;

    border:1px solid #e5e7eb;

}

.result-note{

    margin-top:18px;

    font-size:13px;

    color:#64748b;

    line-height:1.7;

}
/*======================================================
RIGHT SIDEBAR
======================================================*/

.guide-card{

    padding:20px;

}

.guide-section{

    margin-bottom:28px;

}

.guide-title{

    display:flex;

    align-items:center;

    gap:10px;

    font-size:18px;

    font-weight:700;

    margin-bottom:16px;

    color:#0f172a;

}

.guide-title i{

    color:#2563eb;

}

.guide-step{

    display:flex;

    gap:12px;

    margin-bottom:16px;

    align-items:flex-start;

    font-size:15px;

    color:#475569;

}

.step-number{

    width:30px;

    height:30px;

    border-radius:50%;

    background:#2563eb;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:700;

    flex-shrink:0;

}

.quick-guide{

    list-style:none;

    padding:0;

}

.quick-guide li{

    padding:10px 0;

    border-bottom:1px solid #eef2f7;

    font-size:15px;

    color:#475569;

}

.download-box{

    margin-top:25px;

    background:linear-gradient(135deg,#2563eb,#1d4ed8);

    color:#fff;

    border-radius:16px;

    padding:24px;

    text-align:center;

}

.download-box i{

    font-size:34px;

    margin-bottom:12px;

}

.download-box h3{

    margin-bottom:10px;

    font-size:22px;

}

.download-box p{

    font-size:14px;

    line-height:1.6;

    margin-bottom:20px;

}

.download-btn{

    display:inline-block;

    padding:12px 22px;

    border-radius:10px;

    background:#fff;

    color:#2563eb;

    font-weight:700;

    text-decoration:none;

}
/*======================================================
BOTTOM FEATURES
======================================================*/

.btu-features{

    margin-top:35px;

    display:grid;

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

    gap:20px;

}

.feature-card{

    background:#fff;

    border:1px solid #e5e7eb;

    border-radius:16px;

    padding:28px;

    text-align:center;

    box-shadow:0 8px 24px rgba(15,23,42,.05);

    transition:.3s;

}

.feature-card:hover{

    transform:translateY(-5px);

}

.feature-icon{

    width:70px;

    height:70px;

    margin:0 auto 18px;

    border-radius:50%;

    background:#eff6ff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:34px;

}

.feature-card h3{

    font-size:22px;

    color:#0f172a;

    margin-bottom:12px;

}

.feature-card p{

    font-size:15px;

    color:#64748b;

    line-height:1.7;

}
/*======================================================
RESPONSIVE
======================================================*/

@media (max-width:1200px){

    .btu-calculator-grid{

        grid-template-columns:1fr;

    }

    .btu-features{

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

    }

}

@media (max-width:768px){

    .btu-header{

        flex-direction:column;

        gap:20px;

    }

    .btu-header-left{

        flex-direction:column;

        align-items:center;

        text-align:center;

    }

    .header-text h1{

        font-size:34px;

    }

    .form-row{

        grid-template-columns:1fr;

    }

    .sun-options{

        grid-template-columns:1fr;

    }

    .btu-features{

        grid-template-columns:1fr;

    }

}
.card{

    transition:.3s;

}

.card:hover{

    transform:translateY(-4px);

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

}

.input-unit{

    transition:.25s;

}

.input-unit:focus-within{

    border-color:#2563eb;

    box-shadow:0 0 0 3px rgba(37,99,235,.15);

}

.calculate-btn{

    transition:.3s;

}

.calculate-btn:hover{

    transform:translateY(-2px);

}

.result-box{

    transition:.3s;

}

.result-box:hover{

    transform:scale(1.02);

}

/* ===== FIX FOR LARGE EMPTY WHITE SPACE ===== */
.room-card,
.results-card,
.guide-card{
    height:auto !important;
    min-height:0 !important;
    align-self:start;
}

.card-body{
    height:auto !important;
    min-height:0 !important;
}

.btu-calculator-grid{
    align-items:start;
}
