/* ==========================================================================
   HUTT ROSSUM — Astra theme overrides
   Neutralizes Astra defaults so our brand styles render exactly.
   Loaded only when "Override Astra" is enabled in plugin settings.
   ========================================================================== */

/* Full-bleed container — Astra wraps content in a narrow container */
.hr-astra-override .ast-container,
.hr-astra-override .site-content > .ast-container,
.hr-astra-override .entry-content {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.hr-astra-override .site-content {
    padding: 0 !important;
    background: var(--paper) !important;
}

.hr-astra-override .ast-single-post .entry-content,
.hr-astra-override .ast-page .entry-content {
    padding: 0 !important;
}

/* Hide Astra header, footer, page title — we provide our own via Elementor */
.hr-astra-override.hutt-rossum-template .ast-primary-header-bar,
.hr-astra-override.hutt-rossum-template .site-header,
.hr-astra-override.hutt-rossum-template #masthead,
.hr-astra-override.hutt-rossum-template .site-footer,
.hr-astra-override.hutt-rossum-template #colophon,
.hr-astra-override.hutt-rossum-template .ast-page-builder-template .entry-header,
.hr-astra-override.hutt-rossum-template .entry-header,
.hr-astra-override.hutt-rossum-template .post-navigation,
.hr-astra-override.hutt-rossum-template .ast-breadcrumbs {
    display: none !important;
}

/* Astra removes block gap/padding when in Elementor Page Builder template, but if user
   has not selected it, force fluid layout on hr-template body classes */
.hr-astra-override .ast-page-builder-template .site-content > .ast-container,
.hr-astra-override .ast-no-sidebar .site-content > .ast-container {
    max-width: 100%;
    padding: 0;
}

/* Astra adds margin under headings — reset within Hutt sections */
.hr-site h1, .hr-site h2, .hr-site h3, .hr-site h4 {
    margin: 0;
}

/* Astra body font override */
.hr-site body,
.hr-site {
    font-family: 'Manrope', system-ui, sans-serif;
    color: var(--ink);
    background: var(--paper);
}

/* Astra primary button reset where conflicting */
.hr-site .ast-button, .hr-site button.ast-button {
    background: transparent;
    color: inherit;
    border: 0;
    padding: 0;
    font: inherit;
    cursor: pointer;
}

/* Astra adds outline on inputs — let our form chips render correctly */
.hr-site .chips input[type="checkbox"],
.hr-site .chips input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

/* Elementor section reset when Astra adds .ast-container padding */
.hr-site .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: var(--max);
}

/* Ensure Elementor doesn't wrap our hero in unwanted padding */
.hr-site .elementor-widget-hr-hero,
.hr-site .elementor-widget-hr-dhero,
.hr-site .elementor-widget-hr-pagehead,
.hr-site .elementor-widget-hr-footer,
.hr-site .elementor-widget-hr-topbar,
.hr-site .elementor-widget-hr-nav {
    margin: 0 !important;
}

/* Make room for our fixed/sticky header so it doesn't overlap page content.
   Values mirror Praktijk d'Hollosy: desktop ~140px, tablet ~120px, mobile ~104px. */
.hr-site .elementor,
.hr-site body #content {
    padding-top: 140px !important;
}
@media (max-width: 1024px) {
    .hr-site .elementor,
    .hr-site body #content { padding-top: 120px !important; }
}
@media (max-width: 600px) {
    .hr-site .elementor,
    .hr-site body #content { padding-top: 104px !important; }
}

/* Sticky nav must escape Astra wrapper */

.hr-site .nav {
    position: fixed;
    top: var(--hr-topbar-height, 40px);
    left: 0;
    right: 0;
    z-index: 100;
}

/* Disable Astra's smooth-scroll override if any */
.hr-site html {
    scroll-behavior: smooth !important;
}

/* Astra wp-admin-bar offset for sticky nav */
.admin-bar.hr-site .nav { top: calc(var(--hr-topbar-height, 40px) + 32px); }
@media (max-width: 782px) {
    .admin-bar.hr-site .nav { top: calc(var(--hr-topbar-height, 40px) + 46px); }
}
