/*
Theme Name: Big Red Rentals
Theme URI: https://bigredrentals.com.au/
Description: Controlled Hello Elementor child theme for Big Red Rentals.
Author: North Coast Web Design
Template: hello-elementor
Version: 1.1.0
Text Domain: big-red-rentals
*/

@import url("assets/css/static-base.css");

.brr-gravity-form .gform_wrapper { margin: 0; }
.brr-gravity-form .gform_heading { margin-bottom: 1.5rem; }
.brr-gravity-form .gform_title { font: 600 2.5rem/.95 var(--font-display); text-transform: uppercase; }
.brr-gravity-form .gform_description { color: var(--muted); line-height: 1.65; }
.brr-gravity-form .gform_fields { gap: 1.25rem; }
.brr-gravity-form .gfield_label { margin-bottom: .35rem; }
.brr-gravity-form input:not([type="checkbox"]),
.brr-gravity-form textarea,
.brr-gravity-form select { background: #fff; border: 1px solid #d6d3ce; padding: .8rem; }
.brr-gravity-form .gchoice { align-items: center; gap: .5rem; display: flex; }
.brr-gravity-form input[type="checkbox"] { accent-color: var(--red); width: 1rem; }
.brr-gravity-form .gform_button { background: var(--red); color: #fff; cursor: pointer; border: 0; padding: 1rem 1.6rem; text-transform: uppercase; font-size: .75rem; font-weight: 800; }
.brr-gravity-form .gform_button:hover { background: #c90e16; }

/* WordPress and Elementor compatibility */
@font-face { font-family: "BRR Inter"; src: url("assets/fonts/inter.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; }
@font-face { font-family: "BRR Barlow Condensed"; src: url("assets/fonts/barlow-condensed.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; }
:root { --font-body: "BRR Inter"; --font-display: "BRR Barlow Condensed"; }
body.admin-bar .site-header { top: 32px; }
.elementor-page .page-content,
.elementor-page main { overflow: clip; }
.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0;
  position: absolute !important; width: 1px; word-wrap: normal !important;
}
.custom-logo-link { display: block; }
.custom-logo-link img { object-fit: contain; width: 190px; height: 66px; }
.desktop-navigation ul { display: flex; align-items: center; gap: 36px; margin: 0; padding: 0; list-style: none; }
.desktop-navigation li { position: relative; }
.desktop-navigation .sub-menu { background: #151515; color: #fff; display: none; min-width: 245px; padding: 14px 0; position: absolute; top: 100%; left: -18px; z-index: 30; }
.desktop-navigation li:hover > .sub-menu,
.desktop-navigation li:focus-within > .sub-menu { display: block; }
.desktop-navigation .sub-menu li,
.desktop-navigation .sub-menu a { display: block; width: 100%; }
.desktop-navigation .sub-menu a { padding: 10px 18px; }
.mobile-menu-toggle { background: transparent; align-items: center; gap: 9px; padding: 10px; text-transform: uppercase; }
.mobile-navigation { background: #151515; color: #fff; position: absolute; z-index: 90; left: 0; right: 0; padding: 18px 5vw 28px; }
.mobile-navigation ul { list-style: none; margin: 0; padding: 0; }
.mobile-navigation a { border-bottom: 1px solid #343434; display: block; font: 600 19px var(--font-display); padding: 13px 0; text-transform: uppercase; }
.mobile-navigation .sub-menu { padding-left: 24px; }
.mobile-navigation .sub-menu a { color: #c8c8c8; font-size: 17px; }
.mobile-navigation .mobile-nav-quote { background: var(--red); border: 0; color: #fff; margin-top: 18px; padding: 15px 18px; text-align: center; }
.brr-route-links { border-top: 1px solid #ddd; border-left: 1px solid #ddd; display: grid; grid-template-columns: repeat(2, 1fr); }
.brr-route-links > a { border-bottom: 1px solid #ddd; border-right: 1px solid #ddd; justify-content: space-between; align-items: center; gap: 25px; min-height: 145px; padding: 28px 30px; transition: all .2s; display: flex; }
.brr-route-links strong, .brr-route-links small { display: block; }
.brr-route-links strong { font: 600 30px var(--font-display); text-transform: uppercase; }
.brr-route-links small { color: var(--muted); margin-top: 8px; font-size: 13px; line-height: 1.6; }
.brr-route-links b { color: var(--red); font-size: 24px; }
@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}
@media (min-width: 901px) { .mobile-menu-toggle, .mobile-navigation { display: none !important; } }
@media (max-width: 900px) { .desktop-navigation, .header-quote { display: none; } .mobile-menu-toggle { display: flex; margin-left: auto; } }
@media (max-width: 700px) { .brr-route-links { grid-template-columns: 1fr; } .brr-route-links > a { min-height: 0; padding: 24px 22px; } }
