/* Keep theme spacing out of nested components. Size content, not the viewport. */
.elementor .rbe-trust { padding: 0; }
.elementor.elementor-2195 .elementor-element.elementor-element-154d4cf,
.elementor.elementor-2195 .elementor-element.elementor-element-a3d2db2 { padding: 0 24px 24px; }
.elementor.elementor-2195 .elementor-element.elementor-element-154d4cf > .elementor-container,
.elementor.elementor-2195 .elementor-element.elementor-element-a3d2db2 > .elementor-container { max-width: 1180px; padding: 0; }
.elementor-2195 .rbe-trust .rt-wrap { padding: 0; }
.elementor.elementor-2195 .elementor-element.elementor-element-15ff2d0 { padding: 64px 24px 36px; }
.elementor.elementor-2195 .elementor-element.elementor-element-15ff2d0 > .elementor-container { align-items: center; max-width:1180px; padding:0; }
.elementor.elementor-2195 .elementor-element.elementor-element-15ff2d0 .elementor-shape-bottom { display:none; }
.elementor.elementor-2195 .elementor-element.elementor-element-rbefx001 { height:0; margin:0; }
.elementor .elementor-column, .elementor .elementor-widget-wrap, .elementor .elementor-widget { min-width:0; }
.rbe-address-frame { position:relative; display:block; width:100% !important; max-width:100%; height:340px; border:0; background:transparent; }
.rbe-checker-wrap { width:100%; max-width:620px; margin-inline:auto; }
.rbe-checker-fallback { margin:8px 0 0; font-size:14px; text-align:center; }
.rbe-checker-fallback a { color:#152e81; text-decoration:underline; }
.elementor.elementor-2195 .elementor-element.elementor-element-15ff2d0 .rbe-checker-fallback a,
.rbe-pd-hero .rbe-checker-fallback a { color:#fff; }
/* The NBN plan browser owns its own spacing. Avoid cumulative Elementor gutters. */
.elementor.elementor-647 .elementor-element.elementor-element-dd1e87e { padding:48px 24px; background-image:none; }
.elementor.elementor-647 .elementor-element.elementor-element-dd1e87e > .elementor-container { max-width:1180px; padding:0; }
.elementor.elementor-647 .elementor-element.elementor-element-rbeplans { padding:0 !important; width:100%; }
.elementor.elementor-647 .elementor-element.elementor-element-rbeplans .elementor-widget-wrap { padding:0; }
.elementor.elementor-647 .elementor-element.elementor-element-rbeplans .elementor-container { width:100%; max-width:100%; padding:0; }
.elementor.elementor-647 .elementor-element.elementor-element-rbeplcol { width:100%; }
#rbe-plans-embed { width:100%; min-width:0; }
#rbe-plans-embed .rbe-pw { padding:0; margin:24px 0 0; min-width:0; }
#rbe-plans-embed section { padding:0; }
#rbe-plans-embed .rbe-pw-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); }
#rbe-plans-embed .rbe-pw-card { min-width:0; }
.elementor.elementor-647 .elementor-element.elementor-element-6576c408 { padding:0 24px 40px; background:#f4f6fb; }
.elementor.elementor-647 .elementor-element.elementor-element-6576c408 > .elementor-container { max-width:1180px; padding:0; }
.elementor.elementor-647 .elementor-element.elementor-element-4164d9f { padding:48px 24px; min-height:0; }
.elementor.elementor-647 .elementor-element.elementor-element-4164d9f > .elementor-container { min-height:0; }
.elementor.elementor-647 .elementor-element.elementor-element-977cea8 { background:#f4f6fb; padding:40px 24px 8px; }
.elementor.elementor-647 .elementor-element.elementor-element-977cea8 .elementor-heading-title { font-size:clamp(26px,4vw,36px); }
@media(max-width:767px) {
  .elementor.elementor-2195 .elementor-element.elementor-element-15ff2d0 { padding:36px 20px 24px; }
  .elementor.elementor-2195 .elementor-element.elementor-element-15ff2d0 > .elementor-container { gap:24px; }
  .elementor.elementor-2195 .elementor-element.elementor-element-15ff2d0 .elementor-column { width:100%; }
  .elementor.elementor-2195 .elementor-element.elementor-element-15ff2d0 .elementor-widget-wrap { padding:0; }
  .elementor.elementor-2195 .elementor-element.elementor-element-15ff2d0 h1 { font-size:clamp(30px,7.8vw,42px); line-height:1.15; }
  .elementor.elementor-2195 .elementor-element.elementor-element-154d4cf,
  .elementor.elementor-2195 .elementor-element.elementor-element-a3d2db2 { padding:0 20px 28px; }
  .elementor .rbe-trust .rt-item { min-width:0; }
  .elementor.elementor-647 .elementor-element.elementor-element-dd1e87e { padding:32px 20px; }
  .elementor.elementor-647 .elementor-element.elementor-element-6576c408 { padding:0 20px 32px; }
}
@media(prefers-reduced-motion:reduce) {
  .rbe-hero-fx span { animation:none !important; }
}
/* One gutter per section, including nested Elementor rows. */
.elementor .elementor-inner-section > .elementor-container { padding-inline:0 !important; }
.elementor.elementor-2195 > .elementor-top-section > .elementor-container { padding-inline:0; }
.elementor.elementor-2195 > .elementor-top-section > .elementor-container > .elementor-column > .elementor-widget-wrap { padding-inline:0; }
.elementor.elementor-2195 .elementor-element.elementor-element-2d0fc75 { padding:40px 24px; }
.elementor-2195 .rbe-hook { padding:0; }
.elementor-2195 .rbe-trust .rt-ic { color:#f5a56d; }
.elementor-2195 .rbe-trust.on-light .rt-ic { color:#a63f00; }
.elementor-2195 .elementor-element-91f5739 .elementor-heading-title,
.elementor-2195 .elementor-element-f94bba7 .elementor-heading-title,
.elementor-2195 .elementor-element-e9ee039 .elementor-heading-title,
.elementor-2195 .elementor-element-8f90e30 .elementor-heading-title { color:#a63f00 !important; }
.elementor a.elementor-button, .rbe-hook .rh-cta, .rbe-footer a.phone,
.rbe-pw .rbe-btn-primary { background-color:#b94700 !important; color:#fff !important; }
@media(max-width:767px) {
 .elementor.elementor-2195 > .elementor-top-section:not(.elementor-element-15ff2d0):not(.elementor-element-154d4cf):not(.elementor-element-a3d2db2) { padding:40px 20px; }
 .elementor.elementor-2195 .elementor-element.elementor-element-15ff2d0 { padding-top:28px; }
 .elementor-2195 .elementor-element-cc9dfbe .elementor-heading-title { font-size:11px; letter-spacing:1px; }
 .elementor-2195 .elementor-element-f037161 p { margin-bottom:0; }
 .elementor-2195 .rbe-hook .rh-wrap { padding-inline:0; }
}
.rbe-pw .rbe-btn--primary, .rbe-pw-modal .rbe-btn--primary, .rbe-pw .rbe-pw-flag { background:#b94700 !important; color:#fff !important; }
.rbe-pd-faq a { text-decoration:underline; }
.rbe-pd-hero [style*="#8a90a2"], .rbe-pd-hero [style*="#9aa0a6"] { color:#d5def5 !important; }
.rra-job { color:#515b70 !important; }
.rbe-content-filtering { --rbe-muted:#596273; --rbe-success:#247747; }
.rbe-content-filtering .wsp-lbl b, .rbe-content-filtering .wsp-cat { background:#b94700; }
.rbe-content-filtering .isp-tag.pass, .rbe-content-filtering .wsp-saved { color:#246b40; }
.elementor input::placeholder, .elementor textarea::placeholder { color:#666; opacity:1; }
.elementor button[type=submit] { background:#b94700; color:#fff; }
.elementor .elementor-element-f49942c { color:#555 !important; }
.rbe-header .rbe-menu-toggle { color:#152e81; }
.rbe-header .rbe-menu-toggle:focus-visible { outline:3px solid #152e81; outline-offset:3px; }
.rbe-plan-detail .hero .rbe-checker-fallback a { color:#fff; }
.elementor .elementor-field::placeholder { color:#666 !important; opacity:1 !important; }
.elementor .elementor-form button.elementor-button { background-color:#b94700 !important; color:#fff !important; }
.rbe-content-filtering .btn-primary, .rbe-plan-detail .btn-primary,
.rbe-plan-detail .foot-check button { background:#b94700 !important; color:#fff !important; }
.rbe-content-filtering .cat-locked-lbl, .rbe-plan-detail .slug { color:#a63f00 !important; }
.rbe-plan-detail { --rbe-muted:#596273; }
.rbe-plan-detail .b > span, .rbe-plan-detail .tw > span, .rbe-plan-detail .fc-hint { color:#596273 !important; }
.rbe-plan-detail .hero .eyebrow-light { color:#ffb27f !important; }
.rbe-plan-detail .foot-check .fc-form label { color:#4e545b !important; }
/* Light-background helper text in Elementor plan illustrations. */
.elementor [style*="color:#8a90a2"], .elementor [style*="color: #8a90a2"] { color:#596273 !important; }
.elementor .elementor-form .elementor-field { color:#555 !important; }
.elementor-element-7d3c58b3 .elementor-heading-title,
.elementor-element-3b9ab413 .elementor-heading-title,
.elementor-element-ef1032ff .elementor-heading-title,
.elementor-element-7dc88296 .elementor-heading-title,
.elementor-element-eb5e3759 .elementor-heading-title,
.elementor-element-4c1f6df5 .elementor-heading-title,
.elementor-element-203c907e .elementor-heading-title,
.elementor-element-9683fad7 .elementor-heading-title,
.rra-fast .rra-t { color:#a63f00 !important; }
@media(min-width:768px) {
 .elementor.elementor-2195 > .elementor-top-section > .elementor-container > .elementor-element-a53c609 > .elementor-widget-wrap { padding-right:40px; }
}
/* Fade decorative hero effects into the matching trust-strip background. */
.elementor-2195 .rbe-hero-fx {
 -webkit-mask-image:linear-gradient(to bottom,#000 45%,transparent 100%);
 mask-image:linear-gradient(to bottom,#000 45%,transparent 100%);
}
.elementor-2195 .elementor-element-15ff2d0 .rbe-checker-fallback { margin-top:12px; font-size:13px; }
.elementor-2195 .elementor-element-15ff2d0 .rbe-checker-fallback a { color:#e0e7fb; text-underline-offset:3px; }
/* The theme's button padding otherwise collapses the SVG inside a 44px button. */
.rbe-header button.rbe-menu-toggle {
 width:44px; min-width:44px; height:44px; padding:0; flex:0 0 44px;
 color:#152e81; background:#fff; line-height:1; appearance:none;
}
.rbe-header .rbe-menu-toggle svg { display:block; width:24px; height:24px; flex:0 0 24px; stroke:currentColor; }
.rbe-header .rbe-menu-toggle[aria-expanded=true] { background:#eef1f8; border-color:#152e81; }
/* Footer: aligned navigation columns, direct contact links and compact hours. */
.elementor .rbe-footer { padding:48px 24px 24px; }
.elementor .rbe-footer > .inner {
 display:grid; grid-template-columns:1.1fr .6fr .7fr 1.15fr;
 gap:32px 40px; align-items:start; max-width:1180px; margin:0 auto; padding:0;
}
.elementor .rbe-footer .inner > div { min-width:0; }
.elementor .rbe-footer .logo-white { display:block; width:190px; max-width:100%; margin:0 0 18px; }
.elementor .rbe-footer .brandcol > p { margin:0 0 18px; max-width:290px; font-size:14px; line-height:1.65; color:#b9bec8; }
.elementor .rbe-footer .aus-badge { margin:0; padding:10px 12px; display:inline-flex; gap:10px; align-items:center; }
.elementor .rbe-footer .brandcol .phone { display:none; }
.elementor .rbe-footer h3 { margin:0 0 16px; padding:0; color:#fff; font-size:16px; line-height:1.4; }
.elementor .rbe-footer ul { list-style:none; padding:0; margin:0; gap:2px; }
.elementor .rbe-footer li { padding:0; margin:0; }
.elementor .rbe-footer a { text-decoration:none; text-underline-offset:3px; }
.elementor .rbe-footer a:hover, .elementor .rbe-footer a:focus-visible { text-decoration:underline; }
.elementor .rbe-footer a:focus-visible { outline:2px solid #f5a56d; outline-offset:4px; }
.elementor .rbe-footer .inner > div:not(.contactcol):not(.legal) > ul a { display:inline-block; padding:5px 0; font-size:14px; line-height:1.5; color:#d1d5dc; }
.elementor .rbe-footer .contactcol > ul { display:grid; gap:12px; margin:0 0 20px; }
.elementor .rbe-footer .contactcol > ul > li { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:center; gap:10px; }
.elementor .rbe-footer .contactcol .lbl { display:none; }
.elementor .rbe-footer .contactcol > ul svg { width:18px; height:18px; margin:0; color:#f5a56d; }
.elementor .rbe-footer .contactcol > ul a { justify-self:start; margin:0; text-align:left; font-size:15px; color:#fff; overflow-wrap:anywhere; }
.elementor .rbe-footer .hours { margin:0; padding:16px; border-radius:8px; }
.elementor .rbe-footer .hours h4 { display:flex; align-items:center; gap:8px; margin:0 0 12px; padding:0 0 10px; font-size:12px; line-height:1.4; letter-spacing:.08em; }
.elementor .rbe-footer .hours h4 svg { width:15px; height:15px; margin:0; flex:0 0 15px; color:#f5a56d; }
.elementor .rbe-footer .hours p { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; margin:6px 0 0; font-size:13px; line-height:1.6; }
.elementor .rbe-footer .hours p span { color:#c6cbd4; }
.elementor .rbe-footer .hours p b { white-space:nowrap; font-weight:500; color:#fff; }
.elementor .rbe-footer .legal { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 24px; padding:20px 0 0; margin:0; font-size:12px; }
.elementor .rbe-footer .legal .compliance { display:flex; flex-wrap:wrap; gap:10px 20px; width:auto; padding:0; }
.elementor .rbe-footer .legal > span { margin:0; }
.elementor .rbe-footer .legal > span:last-child { flex-basis:100%; }
@media(max-width:1100px) {
 .elementor .rbe-footer > .inner { grid-template-columns:1fr 1fr; gap:32px 48px; }
 .elementor .rbe-footer .brandcol { grid-column:1; grid-row:1; }
 .elementor .rbe-footer .contactcol { grid-column:2; grid-row:1; }
 .elementor .rbe-footer .inner > div:nth-child(2) { grid-column:1; grid-row:2; }
 .elementor .rbe-footer .inner > div:nth-child(3) { grid-column:2; grid-row:2; }
 .elementor .rbe-footer .legal { grid-row:3; }
}
@media(max-width:700px) {
 .elementor .rbe-footer { padding:36px 20px 24px; }
 .elementor .rbe-footer > .inner { grid-template-columns:1fr 1fr; gap:28px 24px; }
 .elementor .rbe-footer .brandcol { grid-column:1/-1; grid-row:1; }
 .elementor .rbe-footer .brandcol > p { max-width:440px; }
 .elementor .rbe-footer .inner > div:nth-child(2) { grid-column:1; grid-row:2; }
 .elementor .rbe-footer .inner > div:nth-child(3) { grid-column:2; grid-row:2; }
 .elementor .rbe-footer .contactcol { grid-column:1/-1; grid-row:3; }
 .elementor .rbe-footer .legal { grid-row:4; gap:14px; }
 .elementor .rbe-footer .legal .compliance { gap:8px 16px; }
 .elementor .rbe-footer .legal > span { flex-basis:100%; }
}

/* Small orange text needs AA contrast on the white header and plan panels. */
.elementor .rbe-header .nav-util,
.elementor .rbe-header a[href$="mail.rbe.net.au/"],
.elementor .elementor-element.elementor-element-a571918d .elementor-heading-title {
 color:#b94700 !important;
}
.elementor .rra-slow .rra-t { color:#626970 !important; }
/* Persistent contact labels inherit a red theme color unless set explicitly. */
.elementor-553 .elementor-element-ceedd13 .elementor-field-label {
 color:#343a40 !important;
}
.elementor-553 .elementor-element-ceedd13 .elementor-field-required .elementor-field-label:after {
 color:#a12622 !important;
}
/* Fixed Wireless comparison kicker uses the same small orange text treatment. */
.elementor .elementor-element.elementor-element-c97bd957 .elementor-heading-title {
 color:#b94700 !important;
}

/* Plan templates can load after this stylesheet. Keep the fallback legible. */
.rbe-plan-detail .hero .rbe-checker-wrap .rbe-checker-fallback a { color:#fff !important; }
/* Elementor's initial-width widget otherwise shrink-wraps the 300px iframe. */
.elementor .elementor-widget:has(.rbe-checker-wrap) { width:100% !important; }
.elementor .elementor-top-section:has(.rbe-checker-wrap) .rbe-checker-fallback a { color:#fff; }
@media(max-width:767px) {
 .elementor .elementor-top-section:has(.rbe-checker-wrap) { padding:36px 20px; }
 .elementor .elementor-top-section:has(.rbe-checker-wrap) > .elementor-container { padding-inline:0; }
 .elementor .elementor-top-section:has(.rbe-checker-wrap) > .elementor-container > .elementor-column > .elementor-widget-wrap { padding-inline:0; }
}
