/*
Theme Name: Dayboro Block
Theme URI: https://new.dayboro.au
Template: twentytwentyfive
Author: help4bis
Author URI: https://dayboro.au
Description: Dayboro.au block-based child theme. Replaces Elementor with native Gutenberg blocks. Built on Twenty Twenty-Five for speed, SEO, and Core Web Vitals. Brand tokens per Dayboro-Style-Guide.md v1.1.
Version: 1.5.0
License: Proprietary
Text Domain: dayboro-block
Tags: block-theme, hyperlocal, weather
*/

/* Override parent thin-weight body text */
body,
body.wp-site-blocks,
.editor-styles-wrapper,
p {
    font-family: 'ABeeZee', -apple-system, system-ui, sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    line-height: 1.65;
}

/* Force Poppins on all headings */
h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.wp-block-button__link {
    font-family: 'Poppins', -apple-system, system-ui, sans-serif !important;
    letter-spacing: 0 !important;
}

h1 { font-weight: 800 !important; }
h2 { font-weight: 700 !important; color: var(--wp--preset--color--deep-emerald); }
h3 { font-weight: 600 !important; color: var(--wp--preset--color--deep-emerald); }
h4 { font-weight: 500 !important; color: var(--wp--preset--color--deep-emerald); }

/* Link colours — brand rule */
a,
a:visited { color: var(--wp--preset--color--dark-forest-green); }
a:hover   { color: var(--wp--preset--color--deep-emerald); }

.has-dark-forest-green-background-color a,
.has-deep-emerald-background-color a,
.wp-block-cover a { color: #FFFFFF; }

/* On dark surfaces headings flip to white */
.has-dark-forest-green-background-color h1,
.has-dark-forest-green-background-color h2,
.has-dark-forest-green-background-color h3,
.has-dark-forest-green-background-color h4,
.has-deep-emerald-background-color h1,
.has-deep-emerald-background-color h2,
.has-deep-emerald-background-color h3,
.has-deep-emerald-background-color h4,
.wp-block-cover h1,
.wp-block-cover h2,
.wp-block-cover h3,
.wp-block-cover h4 { color: #FFFFFF !important; }

/* KPI stat callout */
.dayboro-stat {
    font-family: 'Poppins', -apple-system, system-ui, sans-serif !important;
    font-weight: 700 !important;
    color: var(--wp--preset--color--amber-gold);
    line-height: 1.1;
}

/* Zero out root side padding */
body {
    --wp--style--root--padding-left: 0 !important;
    --wp--style--root--padding-right: 0 !important;
}

/* =========================================================================
   WIDTH RULE — v1.4.0 (2026-04-20)
   Fix: v1.3.0 applied 80% to every nested hlp-* section too, so inner
   sections compounded (80% × 80% = 64%) and the hero looked further indented.
   v1.4.0: 90% applied ONLY to top-level wrappers. Nested widget sections
   inherit full width (100% of their now-90% parent), so every section lines up.
   ========================================================================= */
.wp-block-group.alignfull,
.wp-block-group.alignwide,
.wp-block-cover.alignfull,
.wp-block-cover.alignwide,
.wp-block-html {
    width: 90%;
    max-width: 1500px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

/* Explicit full-width for the widget itself + ALL sections inside it so they
   all line up flush with the .wp-block-html wrapper.
   v1.5.0 fix: previous rule listed wrong class names (hlp-forecast vs
   hlp-forecast-section). Now using a broad selector that catches every
   <section> inside the widget regardless of its specific class. */
.wp-block-html > .db-widget,
.wp-block-html > .db-widget.hlp {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
}
.db-widget.hlp > section,
.db-widget.hlp > .hlp-hero,
.db-widget.hlp > .hlp-forecast-section,
.db-widget.hlp > .hlp-app-section,
.db-widget.hlp > .hlp-posts-section,
.db-widget.hlp > .hlp-events-section,
.db-widget.hlp > .hlp-biz-section,
.db-widget.hlp > .hlp-accuracy-section,
.db-widget.hlp > .hlp-community-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* Mobile — give back more width */
@media (max-width: 900px) {
    .wp-block-group.alignfull,
    .wp-block-group.alignwide,
    .wp-block-cover.alignfull,
    .wp-block-cover.alignwide,
    .wp-block-html {
        width: 98%;
    }
}

/* Inner padding so content breathes */
.wp-block-group.alignfull > .wp-block-group.is-layout-constrained,
.wp-block-cover.alignfull .wp-block-cover__inner-container {
    padding-left: clamp(16px, 3vw, 40px);
    padding-right: clamp(16px, 3vw, 40px);
}

/* Gap between stacked sections */
.wp-block-group.alignfull + .wp-block-group.alignfull,
.wp-block-cover.alignfull + .wp-block-group.alignfull,
.wp-block-html + .wp-block-group,
.wp-block-group + .wp-block-html {
    margin-top: 24px;
}
