.db-sleep {
	margin-top: 1.25rem;
	padding: clamp(1.15rem, 3vw, 2rem);
	border-radius: 20px;
	background: #f6eee6;
	box-shadow: 0 12px 32px rgba(84, 55, 36, .06);
}
.db-sleep h3 { margin: 0 0 .35rem; font: 500 clamp(22px, 3vw, 30px)/1.25 var(--db-font); }
.db-sleep p { max-width: 42rem; color: var(--db-taupe); font-size: 15px; line-height: 1.65; }
.db-sleep .db-button {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 47px; padding: 0 18px; border: 1px solid var(--db-accent);
	color: #fff; background: var(--db-accent); font-size: 15px; font-weight: 500;
	letter-spacing: .04em; text-decoration: none; cursor: pointer;
}
.db-sleep .db-button:hover { color: var(--db-accent); background: #fff; }
.db-sleep-ghost {
	min-height: 44px; padding: 0 10px; border: 0; background: none;
	color: var(--db-taupe); font: 500 14px/1 var(--db-font); text-decoration: underline; cursor: pointer;
}
.db-sleep-kicker { margin: 0; color: var(--db-accent); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.db-sleep-title { margin: .15rem 0 1rem; color: var(--db-black); font: 500 clamp(20px, 3vw, 28px)/1.2 var(--db-font); }
.db-sleep-hero {
	margin: 0 0 1rem; padding: 1.1rem 1.2rem; border-radius: 18px; background: #fffaf4;
	box-shadow: inset 0 0 0 1px rgba(171,122,86,.28);
	text-align: center;
}
.db-sleep-hero b {
	display: block; margin: .35rem 0; color: var(--db-black);
	font: 500 clamp(28px, 6vw, 40px)/1.1 var(--db-font); letter-spacing: .02em;
}
.db-sleep-conf { margin: .4rem 0 0; color: var(--db-accent); font-size: 14px; }
.db-sleep-note { font-size: 12px !important; }
.db-sleep-src { font-size: 12px !important; }
.db-sleep-src a { color: var(--db-accent); }
.db-sleep-fb { display: flex; flex-wrap: wrap; gap: .45rem; justify-content: center; margin: .8rem 0 0; }
.db-sleep-fb button {
	min-height: 44px; padding: 0 12px; border: 1px solid rgba(171,122,86,.35); border-radius: 999px;
	background: #fffaf4; color: var(--db-black); font: 500 13px/1 var(--db-font); cursor: pointer;
}
.db-sleep-fb button.is-on { color: #fff; background: var(--db-accent); border-color: var(--db-accent); }
.db-sleep-tabs { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 .8rem; }
.db-sleep-tabs button {
	min-height: 42px; padding: 0 14px; border: 1px solid rgba(171,122,86,.35); border-radius: 999px;
	background: #fffaf4; color: var(--db-black); font: 500 13px/1 var(--db-font); cursor: pointer;
}
.db-sleep-tabs button.is-on { color: #fff; background: var(--db-accent); border-color: var(--db-accent); }
.db-sleep-line { list-style: none; margin: 0 0 1rem; padding: 0; }
.db-sleep-line li {
	display: grid; grid-template-columns: 7.2rem 1fr; gap: .4rem; padding: .45rem 0;
	border-bottom: 1px dashed rgba(171,122,86,.28); font-size: 14px; color: var(--db-black);
}
.db-sleep-line li.is-est { color: var(--db-taupe); font-style: italic; }
.db-sleep-cards { display: grid; gap: .65rem; }
@media (min-width: 720px) { .db-sleep-cards { grid-template-columns: 1fr 1fr; } }
.db-sleep-card {
	margin: 0; padding: .85rem 1rem; border-radius: 16px; background: #fffaf4;
	box-shadow: inset 0 0 0 1px rgba(171,122,86,.2);
}
.db-sleep-card h4 { margin: 0 0 .35rem; font: 500 16px/1.3 var(--db-font); }
.db-sleep-stats { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; margin: 0 0 1rem; }
.db-sleep-stat { margin: 0; padding: .65rem .8rem; border-radius: 14px; background: #fffaf4; }
.db-sleep-stat b { display: block; font-size: 16px; color: var(--db-black); }
.db-sleep-stat span { color: var(--db-taupe); font-size: 12px; }
.db-sleep-timer { margin: 0 0 1rem; padding: 1rem; border-radius: 16px; background: #fffaf4; text-align: center; }
.db-sleep-timer b { display: block; font-size: clamp(28px, 7vw, 40px); font-variant-numeric: tabular-nums; }
.db-sleep-form label { display: grid; gap: .3rem; margin: 0 0 .6rem; font-size: 13px; font-weight: 600; }
.db-sleep-form input {
	min-height: 44px; max-width: 9rem; padding: 0 10px; border: 1px solid rgba(171,122,86,.35);
	border-radius: 12px; background: #fffaf4; font: 500 15px/1 var(--db-font);
}
.db-sleep-guest { padding: .75rem 1rem; border-radius: 12px; background: #fffaf4; font-size: 14px; }
.db-sleep-guest a { color: var(--db-accent); }
.db-sleep select {
	min-height: 44px; border-radius: 12px; border: 1px solid rgba(171,122,86,.35);
	background: #fffaf4; padding: 0 10px; font: 500 14px/1 var(--db-font);
}
@media (max-width: 700px) {
	.db-sleep { padding: 1.05rem; }
	.db-sleep .db-button { width: 100%; }
}
