/* =====================================
   PREMIUM BABY SLEEP TRACKER
===================================== */


.sleep-app {

max-width:1100px;
margin:40px auto;
padding:0;
background:linear-gradient(180deg,#f4f8ff,#ffffff);
display:grid;
grid-template-columns:1fr 1fr;
gap:28px;

align-items:start;

}


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


.sleep-main-card,
.sleep-results-card {

background:#ffffff;

padding:32px;

border-radius:18px;

border:1px solid #edf2f8;

box-shadow:0 8px 25px rgba(20,40,80,.06);

}


/* HEADINGS */

#todayNaps{
    margin-top: 15px;
    }
    
#dailyTimeline{
    
    margin-bottom: 15px;
    
    }

.sleep-main-card h2,
.sleep-results-card h2 {

font-size:22px;

font-weight:900;

color:#173b6d;

text-align:center;

margin:0 0 25px;

}


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


.sleep-main-card label {

display:block;

font-size:14px;

font-weight:800;

color:#374151;

margin-top:18px;

margin-bottom:8px;

}

input[type="time"] {
    appearance:none;
    -webkit-appearance:none;
    display:block;
}

.sleep-main-card input,
.sleep-main-card select,
.nap-row input,
.nap-row select {


width:100%;

box-sizing:border-box;

padding:14px 16px;

font-size:15px;

font-family:inherit;

background:#f8fafc;

border:1px solid #e5eaf2;

border-radius:14px;

transition:.2s ease;

}



.sleep-main-card input:focus,
.sleep-main-card select:focus,
.nap-row input:focus,
.nap-row select:focus {


outline:none;

background:white;

border-color:#6da5ff;

box-shadow:0 0 0 4px rgba(109,165,255,.15);

}



/* =====================================
   SWEET SPOT FEATURE
===================================== */


.sweet-spot-card {


margin-top:28px;

padding:26px 20px;

border-radius:18px;

background:#f4f8ff;

border:1px solid #dceaff;

text-align:center;

}



.sweet-spot-card h3 {


font-size:16px;

font-weight:900;

color:#2864b7;

margin:0 0 12px;

}



.sweet-spot-card strong {


display:block;

font-size:38px;

font-weight:900;

letter-spacing:-1px;

color:#173b6d;

margin:12px 0;

}



.sweet-spot-card p {


font-size:14px;

color:#64748b;

margin:0;

}



/* =====================================
   NAPS
===================================== */


#napList {

margin-top:15px;

}



.nap-row {


background:#fbfcfe;

border:1px solid #edf2f7;

padding:16px;

border-radius:16px;

margin-bottom:12px;

}



/* REMOVE BUTTON */


.remove-nap {


margin-top:12px;

width:100%;

padding:11px;

border-radius:12px;

border:none;

background:#fff1f2;

color:#be123c;

font-weight:800;

cursor:pointer;

}



.remove-nap:hover {


background:#ffe4e6;

}



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


.secondary-button,
.download-button {

text-align:center;
width:100%;

padding:15px;

border-radius:14px;

border:none;

font-size:15px;

font-weight:900;

font-family:inherit;

cursor:pointer;

transition:.2s ease;

}

.sleep-main-card .download-button {
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.secondary-button {


margin-top:15px;

background:#eef5ff;

color:#2864b7;

}



.secondary-button:hover {


background:#dfebff;

}



.download-button {


margin-top:14px;

background:#2d7ef7;

color:white;

box-shadow:0 8px 18px rgba(45,126,247,.25);

}



.download-button:hover {


background:#2168d8;

transform:translateY(-2px);

}



/* =====================================
   SUMMARY
===================================== */


.summary-grid {


display:grid;

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

gap:12px;

margin:20px 0 30px;

}



.summary-grid div {


background:#f8fafc;

border:1px solid #edf2f7;

padding:16px 10px;

border-radius:14px;

text-align:center;

}



.summary-grid strong {


display:block;

font-size:13px;

color:#64748b;

}



.summary-grid span {


display:block;

margin-top:8px;

font-weight:900;

color:#173b6d;

}



/* =====================================
   TIMELINE
===================================== */


.sleep-timeline {

display:flex;

flex-direction:column;

gap:12px;

}



.timeline-item{
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:14px;
}



.timeline-icon {


font-size:24px;

}



/* =====================================
   BEDTIME CARD
===================================== */


.bedtime-card {


margin-top:25px;

padding:24px;

border-radius:18px;

background:#f8fafc;

border:1px solid #edf2f7;

text-align:center;

}



.bedtime-card h3 {


font-size:16px;

color:#173b6d;

}



.bedtime-card strong {


display:block;

font-size:36px;

font-weight:900;

color:#2d7ef7;

margin:10px 0;

}



/* =====================================
   BENEFITS
===================================== */


.sleep-benefits {


display:grid;

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

gap:18px;

}



.sleep-benefits div {


background:white;

border:1px solid #edf2f7;

padding:22px;

border-radius:18px;

text-align:center;

transition:.2s ease;

}



.sleep-benefits div:hover {


transform:translateY(-4px);

box-shadow:0 10px 25px rgba(0,0,0,.06);

}



.sleep-benefits strong {


display:block;

margin:10px 0;

color:#173b6d;

}



.sleep-benefits span {


font-size:14px;

color:#64748b;

line-height:1.5;

}



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


@media(max-width:900px){


.sleep-app {

grid-template-columns:1fr;

}



.sleep-benefits {

grid-template-columns:1fr 1fr;

}


}



@media(max-width:600px){


.sleep-main-card,
.sleep-results-card {


padding:22px;

}



.summary-grid {


grid-template-columns:1fr;

}



.sweet-spot-card strong {


font-size:30px;

}



.sleep-benefits {


grid-template-columns:1fr;

}


}

/* =====================================
   SLEEP FAQ SECTION
===================================== */

.sleep-faq{
max-width:900px;
margin:70px auto 40px;
padding:35px;
background:#fff7fb;
border-radius:28px;
box-shadow:0 10px 30px rgba(0,0,0,.06);
}


.sleep-faq h2{
text-align:center;
font-size:30px;
font-weight:900;
color:#1d4f91;
margin-bottom:30px;
}


.sleep-faq > div{
background:#ffffff;
padding:22px;
border-radius:20px;
margin-bottom:16px;
box-shadow:0 5px 18px rgba(0,0,0,.05);
}


.sleep-faq h3{
font-size:18px;
font-weight:900;
color:#2b2b2b;
margin:0 0 10px;
}


.sleep-faq p{
font-size:16px;
line-height:1.6;
color:#666;
margin:0;
}


/* Mobile */

@media(max-width:600px){

.sleep-faq{
margin-top:50px;
padding:22px 16px;
border-radius:22px;
}


.sleep-faq h2{
font-size:24px;
}


.sleep-faq > div{
padding:18px;
}


.sleep-faq h3{
font-size:16px;
}


.sleep-faq p{
font-size:15px;
}

}