/* Date Utilities Engine 4 — content styles only. Header, menu and footer come from the active theme. */
:root{--dfu-green:#1f5c3f;--dfu-border:#dcdcdc;--dfu-maxw:1100px}
body.dfu-page .entry-title,body.dfu-page .wp-block-post-title{display:none}
.dfu-main{display:block;color:#000;font-size:16px;line-height:1.7}
.dfu-main *,.dfu-main *::before,.dfu-main *::after{box-sizing:border-box}
.dfu-content>*:not(.dfu-hero){max-width:var(--dfu-maxw);width:100%;margin-left:auto;margin-right:auto}
.dfu-content>*:not(.dfu-hero):not(.dfu-card){padding-left:20px;padding-right:20px}
.dfu-content>.dfu-card{width:calc(100% - 40px);max-width:calc(var(--dfu-maxw) - 40px)}
.dfu-content>.dfu-card,.dfu-content>.dfu-related-grid{margin-top:20px;margin-bottom:20px}
.dfu-content>h2,.dfu-content>.wp-block-heading{font-size:1.6rem;line-height:1.3;margin:40px auto 12px;color:#000}
.dfu-content>p{margin-top:0;margin-bottom:14px;color:#000}

/* hero: sits directly under the theme navigation */
.dfu-hero{background:var(--dfu-green);color:#fff;padding:36px 20px 40px;margin:0}
.dfu-hero>*{max-width:var(--dfu-maxw);margin-left:auto;margin-right:auto}
.dfu-hero h1{font-size:2rem;line-height:1.25;margin:0 auto 12px;color:#fff;font-weight:700}
.dfu-hero p{color:#fff;margin-top:0;margin-bottom:12px}
.dfu-hero-value{font-size:4.5rem;line-height:1.05;font-weight:700;margin:6px auto 0;color:#fff}
.dfu-hero-value.is-text{font-size:3rem}
.dfu-hero-unit{font-size:1.2rem;margin:4px auto 0}
.dfu-hero-sub{opacity:.9;margin:2px auto 14px}

/* forms */
.dfu-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:16px auto 0}
.dfu-form label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:#fff}
.dfu-form input,.dfu-form select{font:inherit;padding:9px 10px;border:1px solid #fff;border-radius:4px;background:#fff;color:#000;min-width:170px}
.dfu-form button{font:inherit;font-weight:600;padding:10px 20px;border:2px solid #fff;border-radius:4px;background:#fff;color:#000;cursor:pointer}
.dfu-form button:hover{background:#000;color:#fff;border-color:#000}

/* cards: white, black text, 6px coloured left border (colour set per card) */
.dfu-card{background:#fff;color:#000;border:1px solid var(--dfu-border);border-left:6px solid var(--dfu-accent,var(--dfu-green));border-radius:4px;padding:22px 24px}
.dfu-card h2{font-size:1.4rem;line-height:1.3;margin:0 0 10px;color:#000}
.dfu-card h3{font-size:1.1rem;line-height:1.35;margin:0 0 10px;color:#000}
.dfu-card p{margin:0 0 12px;color:#000}
.dfu-card p:last-child{margin-bottom:0}
.dfu-card a{color:#000}
.dfu-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.dfu-stats div{border:1px solid var(--dfu-border);border-radius:4px;padding:12px 14px;background:#fff}
.dfu-stats strong{display:block;font-size:1.35rem;line-height:1.25;color:#000}
.dfu-stats span{font-size:.85rem;color:#000}

/* FAQ */
.dfu-faq details{border-top:1px solid var(--dfu-border);padding:10px 0}
.dfu-faq details:first-of-type{border-top:0}
.dfu-faq summary{cursor:pointer;font-weight:600;color:#000}
.dfu-faq details p{margin:8px 0 0}
.wp-block-details{border:1px solid var(--dfu-border);border-radius:4px;padding:10px 14px;margin:0 auto 8px;background:#fff}
.wp-block-details summary{cursor:pointer;font-weight:600}

/* link groups */
.dfu-related-title{font-size:1.5rem;margin:36px 0 8px}
.dfu-related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;align-items:start}
.dfu-linklist{list-style:none;margin:0;padding:0;columns:1;font-size:.95rem}
.dfu-linklist li{margin:0 0 5px;break-inside:avoid}
.dfu-linklist a{text-decoration:underline;text-underline-offset:2px}
.dfu-linklist a:hover{text-decoration:none}

/* tiles and quick answers */
.dfu-tilegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin:0 0 8px}
.dfu-tile{display:block;text-decoration:none}
a.dfu-tile strong{display:block;font-size:1.05rem;margin-bottom:4px}
a.dfu-tile span{font-size:.92rem}
.dfu-quick{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
a.dfu-qcard{display:block;text-decoration:none;padding:16px 18px}
a.dfu-qcard strong{display:block;font-size:1.5rem;line-height:1.2;margin-bottom:4px}
a.dfu-qcard span{font-size:.9rem}
a.dfu-qcard:hover,a.dfu-tile:hover{background:#fafafa}

/* tables and calendar */
.dfu-table{width:100%;border-collapse:collapse;font-size:.95rem}
.dfu-table th,.dfu-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--dfu-border);color:#000}
.dfu-table th{background:#f3f3f3}
.dfu-extra{overflow-x:auto}
.dfu-extra h3{margin:18px 0 8px}
.dfu-list{margin:0 0 0 20px}
.dfu-cal{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.dfu-month{border-collapse:collapse;width:100%;font-size:.85rem;text-align:center}
.dfu-month caption{font-weight:700;text-align:left;padding-bottom:4px;color:#000}
.dfu-month th,.dfu-month td{padding:4px 2px;color:#000}
.dfu-month td.dfu-today{background:#000;color:#fff;border-radius:3px}
.dfu-weeklinks{display:flex;flex-wrap:wrap;gap:6px}
.dfu-weeklinks a{border:1px solid var(--dfu-border);padding:3px 9px;border-radius:3px;text-decoration:none}

/* buttons from the block editor */
.dfu-main .wp-block-button__link{background:#fff;color:#000;border:2px solid #fff;border-radius:4px;padding:10px 20px;font-weight:600;text-decoration:none}
.dfu-main .wp-block-button__link:hover{background:#000;color:#fff;border-color:#000}
.dfu-main .dfu-hero .wp-block-buttons{margin-top:18px}
.dfu-error{padding:24px;text-align:center}

/* home timers with loading animation */
.dfu-timers{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:22px auto 0}
.dfu-timer{position:relative;display:flex;align-items:center;gap:16px;padding:18px 20px}
.dfu-timer h3{font-size:.95rem;font-weight:600;margin:0 0 2px}
.dfu-timer-num{font-size:2.6rem;font-weight:700;line-height:1.1;color:#000;font-variant-numeric:tabular-nums}
.dfu-timer p{font-size:.85rem;margin:2px 0 0}
.dfu-ring{width:84px;height:84px;flex:none;transform:rotate(-90deg)}
.dfu-ring circle{fill:none;stroke-width:11}
.dfu-ring-bg{stroke:#ececec}
.dfu-ring-fg{stroke:var(--ring,#1f5c3f);stroke-linecap:round;transition:stroke-dashoffset 1.6s cubic-bezier(.2,.8,.2,1)}
.dfu-timers.is-loading .dfu-ring-fg{stroke-dashoffset:100!important;transition:none}
.dfu-timers.is-loading .dfu-timer{animation:dfu-pulse 1s ease-in-out infinite}
.dfu-timer::after{content:"";position:absolute;top:12px;right:12px;width:8px;height:8px;border-radius:50%;background:var(--ring);animation:dfu-blink 2s ease-in-out infinite}
@keyframes dfu-pulse{50%{opacity:.55}}
@keyframes dfu-blink{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.dfu-timer::after,.dfu-timers.is-loading .dfu-timer{animation:none}.dfu-ring-fg{transition:none}}

@media (max-width:640px){
 .dfu-hero h1{font-size:1.6rem}.dfu-hero-value{font-size:3.2rem}.dfu-hero-value.is-text{font-size:2.2rem}
 .dfu-card{padding:16px}.dfu-form label,.dfu-form input,.dfu-form select{width:100%}.dfu-form button{width:100%}
}
@media (min-width:900px){.dfu-group .dfu-linklist{columns:1}.dfu-related-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}
