/*
Theme Name: Danielle SR
Theme URI: https://daniellesr.com
Author: Danielle SR
Description: A calm, high-contrast block theme for Danielle SR. Warm off-white, ink, and sage. Built for easy reading.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: daniellesr
*/

/* Visible keyboard focus everywhere */
:where(a, button, input, textarea, select, .wp-element-button):focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
	border-radius: 4px;
}

/* Calm: respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Numbered step badges */
.dsr-step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-soft);
	color: var(--wp--preset--color--accent-strong);
	font-weight: 700;
}

/* Cards */
.dsr-card {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px;
}

/* Before / after labels */
.dsr-label {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.8rem;
	font-weight: 700;
}

/* Lists with roomy spacing */
.wp-block-list li + li { margin-top: 0.6em; }

/* Header nav: keep on one line on desktop */
.dsr-header .wp-block-navigation { gap: 1.75rem; }

/* Skip link visible on focus (core supplies it; just style it) */
.skip-link.screen-reader-text:focus { background: var(--wp--preset--color--ink); color: #fff; }

/* ---------- Ledger (where the week goes) ---------- */
.dsr-ledger {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px;
	box-shadow: 0 1px 0 var(--wp--preset--color--line);
}
.dsr-ledger table { border-collapse: collapse; width: 100%; font-variant-numeric: tabular-nums; }
.dsr-ledger td, .dsr-ledger th { border: 0; padding: 0.55rem 0; vertical-align: bottom; }
.dsr-ledger tbody tr { border-bottom: 1px dashed var(--wp--preset--color--line); }
.dsr-ledger td:last-child, .dsr-ledger th:last-child { text-align: right; white-space: nowrap; padding-left: 1rem; }
.dsr-ledger tfoot td { border-top: 3px double var(--wp--preset--color--ink); font-weight: 700; padding-top: 0.75rem; }
.dsr-ledger thead th { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--wp--preset--color--muted); text-align: left; border-bottom: 1px solid var(--wp--preset--color--ink); }
.dsr-ledger figcaption { text-align: left; color: var(--wp--preset--color--muted); font-size: 0.95rem; margin-top: 0.75rem; }

/* ---------- Crossed-off list ---------- */
.dsr-done ul { list-style: none; padding-left: 0; }
.dsr-done li { padding-left: 2rem; position: relative; }
.dsr-done li::before {
	content: "";
	position: absolute; left: 0; top: 0.3em;
	width: 1.15rem; height: 1.15rem;
	border: 2px solid var(--wp--preset--color--accent);
	border-radius: 4px;
	background: var(--wp--preset--color--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat;
}
.dsr-done s { color: var(--wp--preset--color--muted); text-decoration-thickness: 2px; text-decoration-color: var(--wp--preset--color--accent); }

/* Italic sage emphasis inside headings */
h1 em, h2 em { color: var(--wp--preset--color--accent); font-style: italic; }

/* Small "eyebrow" text */
.dsr-eyebrow { text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.85rem; font-weight: 700; color: var(--wp--preset--color--accent-strong); }

/* Photo placeholder */
.dsr-photo-slot {
	aspect-ratio: 4 / 5;
	border: 2px dashed var(--wp--preset--color--line);
	border-radius: 14px;
	display: flex; align-items: center; justify-content: center; text-align: center;
	color: var(--wp--preset--color--muted);
}

/* Stack header nav cleanly on small screens */
@media (max-width: 781px) {
	.dsr-header-cta { display: none; }
}

/* ---------- Section helpers (class-based so blocks stay valid) ---------- */
.dsr-section { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.dsr-section.dsr-hero { padding-top: var(--wp--preset--spacing--60); }
.dsr-band { background: var(--wp--preset--color--surface); }
.dsr-dark { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--base); }
.dsr-dark :where(h1, h2, h3) { color: var(--wp--preset--color--base); }
.dsr-dark .wp-element-button { background: var(--wp--preset--color--base); color: var(--wp--preset--color--ink); }
.dsr-dark .wp-element-button:hover { background: var(--wp--preset--color--accent-soft); color: var(--wp--preset--color--ink); }
.dsr-card { padding: clamp(1.25rem, 3vw, 2rem); }
.dsr-card > :first-child { margin-top: 0; }
.dsr-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.5; color: var(--wp--preset--color--muted); }
.dsr-muted { color: var(--wp--preset--color--muted); }
.dsr-arrow a { font-weight: 700; text-decoration: none; }
.dsr-arrow a:hover { text-decoration: underline; }
.wp-block-button.is-style-outline > .wp-element-button { background: transparent; color: var(--wp--preset--color--ink); border: 2px solid var(--wp--preset--color--ink); }
.wp-block-button.is-style-outline > .wp-element-button:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--base); }
.dsr-steps h3 { margin-top: 0.75rem; }
.wp-block-details summary { font-weight: 700; cursor: pointer; }
.dsr-dark .wp-block-button.is-style-outline > .wp-element-button { color: var(--wp--preset--color--base); border-color: var(--wp--preset--color--base); }
/* Page template: let full-width sections touch the footer */
main > .entry-content > .alignfull:last-child { margin-bottom: 0; }
