/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* Global base layout*/
:root {
  --header-height: 165px;
}

@media (max-width: 600px) {
  :root {
    --header-height: 115px;
  }
}

html {
  scroll-behavior: smooth;
}

#brx-content {
  margin-top: var(--header-height);
}

#brx-content,
.brxe-section {
    width: 100%;
}

.ti-widget {
    overflow: hidden !important;
}

body, html {
    overflow-x: hidden;
    position: relative;
    max-width: 100vw;
}

/* Global hover transition style */
a, button, [role="button"], .btn, input[type="submit"] {
  transition: color 0.2s ease, background-color 0.2s ease,
              border-color 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.bricks-background-secondary:hover svg path {
    fill: var(--text-text-primary);
}

/* Image shadow filter */
.oo-img-shadow {
	filter: 
        drop-shadow(2px 6px 14px rgba(0,0,0,.10))
        drop-shadow(6px 25px 26px rgba(0,0,0,.09))
        drop-shadow(14px 57px 35px rgba(0,0,0,.05));
}

/* Nav */
/* Hide by default (desktop/tablet) */
.oo-nav-hide {
	display: none;
}

/* Show only on mobile */
@media (max-width: 600px) {
	.oo-nav-hide {
		display: flex;
        padding: 10px 16px 18px 16px;
	}
	
	.oo-nav-hide > a {
		display:flex !important;
		align-items:center;
		justify-content:center;
		width:100%;
		height: 60px;
		text-align:center;
		font-weight:600;
    	color: var(--text-text-primary);		
		
		padding:12px 16px;
		border-radius:2px;
		text-decoration:none;
		margin:8px 16px;
		background:var(--background-bkgd-secondary);
	}
	
	.oo-nav-hide > a:hover {
		color: inherit !important;
	}
}

/* ==================================================
   Contact Forms — Shared Styles
   ================================================== */

.oo-form input,
.oo-form textarea,
.oo-light-form input,
.oo-light-form select,
.oo-light-form textarea {
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid #111827 !important;
  border-radius: 10px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 24px !important;
  padding: 14px 17px !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Input dimensions */
.oo-form input,
.oo-light-form input,
.oo-light-form select {
  height: 53px !important;
}

/* Textarea dimensions */
.oo-form textarea,
.oo-light-form textarea {
	resize: vertical;
	min-height: 91px !important;
	height: 91px;
	max-height: 300px;
}

/* Submit container */
.oo-form .wpforms-submit-container,
.oo-light-form .wpforms-submit-container {
  margin-top: 39px !important;
}

/* Submit button */
.oo-form button.wpforms-submit,
.oo-light-form button.wpforms-submit {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 190px !important;
  height: 38px !important;
  padding: 10px !important;
  border: none !important;
  border-radius: 37px !important;
  background: #f7ce46 !important;
  color: #111827 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 24px !important;
}

/* Submit arrow */
.oo-form button.wpforms-submit::after,
.oo-light-form button.wpforms-submit::after {
  content: "";
  display: inline-block;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin-left: 4px;
  background-image: url("https://gillssmashrepairs.optimisedesign.com.au/wp-content/uploads/2026/06/ph_arrow-up-fill.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* Submit hover */
.oo-form button.wpforms-submit:hover,
.oo-light-form button.wpforms-submit:hover {
  background: var(--colour-secondary-secondary-200) !important;
}

/* ==================================================
   Dark Form
   ================================================== */

.oo-form input,
.oo-form textarea {
  border-color: #f3f4f6 !important;
  color: #fff !important;
}

.oo-form input::placeholder,
.oo-form textarea::placeholder {
  color: #fff !important;
  opacity: 1 !important;
}


/* ==================================================
   Light Form
   ================================================== */

.oo-light-form input,
.oo-light-form select,
.oo-light-form textarea {
  border-color: #111827 !important;
  color: #111827 !important;
}

.oo-light-form input::placeholder,
.oo-light-form option .placeholder,
.oo-light-form textarea::placeholder {
  color: #111827 !important;
  opacity: 1 !important;
}

.oo-light-form input:focus,
.oo-light-form select:focus,
.oo-light-form textarea:focus {
  border-color: #111827 !important;
  box-shadow: 0 0 0 1px #111827 !important;
}

/* ==================================================
   Light Form — Select Dropdown
   ================================================== */

.oo-light-form .wpforms-field-select {
  position: relative;
}

/* Remove browser/plugin arrow and add custom arrow */
.oo-light-form .wpforms-field-select select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;

  width: 100% !important;
  padding-right: 50px !important;

  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%23111827' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 18px center !important;
  background-size: 14px 8px !important;
}

/* Hide old Microsoft browser arrow */
.oo-light-form .wpforms-field-select select::-ms-expand {
  display: none;
}

/* ==================================================
   Light Form — File Upload
   ================================================== */

.oo-light-form .wpforms-field-file-upload .wpforms-uploader {
  display: flex !important;
  align-items: center !important;

  width: 100% !important;
  min-height: 53px !important;
  height: fit-content !important;

  padding: 0 17px !important;

  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid #111827 !important;
  border-radius: 10px !important;

  color: #111827 !important;
  box-shadow: none !important;
  cursor: pointer;
}

/* Remove WPForms default dashed upload styling */
.oo-light-form .wpforms-field-file-upload .dz-message {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;

  width: 100% !important;
  min-height: 0 !important;
  margin: 8px !important;
  padding: 0 !important;

  border: none !important;
  background: transparent !important;
  text-align: left !important;
}

/* Hide WPForms' large upload icon */
.oo-light-form .wpforms-field-file-upload .dz-message > svg {
  display: none !important;
}

/* Paperclip icon */
.oo-light-form .wpforms-field-file-upload .dz-message::before {
  content: "";
  display: block;
  flex: 0 0 18px;

  width: 18px;
  height: 18px;

  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M21.44 11.05L12.25 20.24C10.49 22 7.64 22 5.88 20.24C4.12 18.48 4.12 15.63 5.88 13.87L15.07 4.68C16.24 3.51 18.14 3.51 19.31 4.68C20.48 5.85 20.48 7.75 19.31 8.92L10.12 18.11C9.53 18.7 8.58 18.7 8 18.11C7.41 17.52 7.41 16.57 8 15.99L16.48 7.5' stroke='%23111827' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* Hide the original long upload text */
.oo-light-form .wpforms-field-file-upload .modern-title {
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
}

/* Replacement upload label */
.oo-light-form .wpforms-field-file-upload .modern-title::after {
  content: "Image Upload*";

  color: #111827;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
}

/* Focus/hover state */
.oo-light-form .wpforms-field-file-upload .wpforms-uploader:hover,
.oo-light-form .wpforms-field-file-upload .wpforms-uploader:focus-within {
  border-color: #111827 !important;
  box-shadow: 0 0 0 1px #111827 !important;
}

/* ==================================================
   Mobile
   ================================================== */

@media (max-width: 768px) {
  .oo-form button.wpforms-submit,
  .oo-light-form button.wpforms-submit {
    width: 100% !important;
  }
}

/* Logo carousel */
.oo-logo .swiper-slide .image {
    background-size: 60%;
    background-position: center center;
    background-repeat: no-repeat;
}

/* Homepage */
/* Service box */
@media (min-width: 1200px) and (max-width: 1500px) {
  .service-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }

  .service-grid > .service-card {
    grid-column: span 2 !important;
    width: 100%;
  }

  .service-grid > .service-card:nth-child(n + 4) {
    grid-column: span 3 !important;
  }
}

.service-card {
  transition: background-color .3s ease;
}

.service-desc,
.service-btn {
    display: none;
}

.service-card:hover .service-desc,
.service-card:hover .service-b-icon {
    display: block !important;
}

.service-card:hover .service-btn {
	display: inline-flex;
    align-items: center;
    gap: 8px;
}

.service-card .service-btn:hover svg path {
    fill: var(--white);
}

.service-card:hover .service-icon {
    display: none;
}

.service-card:hover .service-title {
    font-size: 18px !important;
    color: #111827 !important;
	font-family: 'Roboto' !important;
	font-weight: 600 !important;
	line-height: var(--Font-Line-Height-Paragraph-text-lg, 28px) !important; /* 155.556% */
	letter-spacing: var(--Font-Letter-Spacing-text-default, 0) !important;
}

@media (max-width: 1024px) {
  /* Remove hover dependency on tablet and mobile */
  .service-card {
    background-color: #fff !important;
  }

  .service-card .service-desc,
  .service-card .service-b-icon {
    display: block !important;
  }

  .service-card .service-icon,
  .service-card .service-btn {
    display: none !important;
  }

  .service-card .service-title {
    font-size: 18px !important;
    color: #111827 !important;
	font-family: 'Roboto' !important;
	font-weight: 600 !important;
	line-height: var(--Font-Line-Height-Paragraph-text-lg, 28px) !important; /* 155.556% */
	letter-spacing: var(--Font-Letter-Spacing-text-default, 0) !important;
  }

  .service-card .service-btn,
  .service-card .service-btn a {
    color: #111827 !important;
  }
}

/* Industries/vision tabs */
.oo-tabs .tab-menu {
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex: 0 1 417px;
    width: 100%;
    max-width: 417px;
}

.oo-tabs .tab-content {
    flex: 1;
}

.oo-tabs .brxe-text li {
    list-style: disc;
}

.oo-tabs .brxe-text li::marker {
    color: #F7CE46; /* Yellow */
}

/* Desktop tab titles only */
.oo-tabs > .tab-menu > .tab-title { 
    display: flex !important; 
    flex-direction: row-reverse !important; 
    align-items: center; 
    justify-content: space-between; 
}

@media (max-width: 1023px) {
	/* Accordion titles only */
	.oo-tabs > .tab-content > .tab-title[data-brx-tab-mode="accordion"] {
		display: flex !important;
		flex-direction: row;
		justify-content: space-between;
		margin-bottom: 20px;
	}
}

/* Smooth icon animation */
.oo-tabs .tab-title svg {
    transition: transform .3s ease;
    transform-origin: center;
}

/* Flip the active icon horizontally */
.oo-tabs .tab-title.brx-open svg,
.oo-tabs .tab-title[aria-expanded="true"] svg {
    transform: scaleX(-1);
}

/* Process tabs */
.oo-process-tabs .tab-title {
    width: 72px;
    aspect-ratio: 1;
    padding: 0;

    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    border-radius: 50%;
    flex-shrink: 0;
}

.oo-process-tabs .tab-menu {
  position: relative;
}

.oo-process-tabs .tab-menu::before,
.oo-process-tabs .tab-menu::after {
  content: "";
  position: absolute;
  top: 50%;
  left: var(--oo-bar-left, 0px);
  height: 4px;
  transform: translateY(-50%);
  z-index: 0;
}

.oo-process-tabs .tab-menu::before {
  width: var(--oo-bar-width, 100%);
  background: #111827;
}

.oo-process-tabs .tab-menu::after {
  width: var(--oo-process-progress, 0px);
  background: #F7CE46 !important;
  transition: width 0.35s ease;
}

.oo-process-tabs .tab-title {
  position: relative;
  z-index: 1;
}

.oo-process-tabs .tab-title.is-complete {
  background: #F7CE46 !important;
  color: #111827 !important;
}

/* Turn into horizontal slider on mobile */
@media (max-width: 768px) {
    .oo-process-tabs {
        position: relative;
        overflow: hidden;
    }

    .oo-process-tabs .tab-menu {
        display: none !important;
    }

    .oo-process-tabs .tab-content {
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;

        width: 100%;
        gap: 10px;
        padding: 0;
        margin: 0;
        list-style: none;

        scrollbar-width: none;
    }

    .oo-process-tabs .tab-content::-webkit-scrollbar {
        display: none;
    }

    .oo-process-tabs .tab-pane {
        display: block !important;
        flex: 0 0 100%;
        min-width: 100%;
        width: 100%;
        scroll-snap-align: start;
    }

    .oo-process-tabs .tab-pane:not(.brx-open) {
        display: block !important;
    }

    .oo-process-tabs-nav {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 15px;
    }

    .oo-process-tabs-nav button {
        width: 53px;
        height: 38px;
		border: 0;
    	border-radius: 37px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }
}

@media (min-width: 768px) {
    .oo-process-tabs-nav {
        display: none !important;
    }
}

/* Testimonial / carousel arrows */
.oo-carousel-arrows .splide__arrows {
  display: flex;
  align-items: center;
  gap: 15px;
}

/* Arrow button */
.oo-carousel-arrows {
    position: relative;
}

.oo-carousel-arrows .splide__arrows {
    position: absolute;
    display: flex;
    gap: 15px;
    z-index: 20;
	margin-top: 30px;
	top: -90px;
    right: 0px;
}

.oo-carousel-arrows .splide__arrow {
    position: static;
    transform: none;
    inset: auto;

    width: 53px;
    height: 38px;
    border: 0;
    border-radius: 37px;
    background: #F7CE46;
}

/* Remove Splide default disabled fade */
.oo-carousel-arrows .splide__arrow:disabled {
  opacity: 0.45;
}

/* Icon size */
.oo-carousel-arrows .splide__arrow svg {
  width: 16px;
  height: 16px;
}

/* Icon colour */
.oo-carousel-arrows .splide__arrow svg path {
  fill: #1f2937;
}

.oo-carousel-arrows .splide__arrow:hover {
  background: var(--colour-secondary-secondary-200);
}

/* Move the btn down on mobile */
@media (max-width: 768px) {
		.oo-carousel-arrows .splide__arrows {
		top: 100% !important;
		left: 0px !important;
	}
}

/* FAQs */
.oo-faq .accordion-item:not(:first-child) {
    margin-top: 30px;
}

.oo-faq .accordion-item:not(:last-child) {
    border-bottom: 1px solid rgba(229, 231, 235, 1);
}

.oo-faq .accordion-content-wrapper a {
    text-decoration: underline;
}

.oo-faq .accordion-content-wrapper a:hover {
    color: var(--text-text-link);
}

/* Insurance Page */
/* Repair cards */
.repair-card {
  transition: background-color .3s ease;
}

.repair-card:hover .repair-content {
	color: var(--Text-text-primary) !important;
}

/* Blog */
/* blog auth avatar */
.oo-author-avatar {
    width: 29px;
    height: 29px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    flex-shrink: 0;
}

/* WYS Styling */
.wys{
    --wys-section-space: 64px;

    --wys-h2-font-family: "Unbounded";
    --wys-h2-font-size: 48px;
    --wys-h2-font-weight: 600;
    --wys-h2-line-height: 56px;

    --wys-h3-font-family: "Unbounded";
    --wys-h3-font-size: 36px;
    --wys-h3-font-weight: 600;
    --wys-h3-line-height: 40px;

    --wys-h4-font-family: "Unbounded";
    --wys-h4-font-size: 28px;
    --wys-h4-font-weight: 600;
    --wys-h4-line-height: 36px;

    --wys-heading-colour: var(--text-text-primary);

	--wys-link-colour: var(--text-text-primary);  
	--wys-link-hover-colour: var(--text-text-link);
}

@media screen and (max-width: 1366px){
	.wys{--wys-section-space: 48px;}
}

@media screen and (max-width: 600px){
	.wys{--wys-section-space: 32px;}
}

.wys p:has(+ h2), 
.wys p:has(+ h3), 
.wys p:has(+ h4), 
.wys p:has(+ h5), 
.wys p:has(+ h6),
.wys p:has(+ img),
.wys p:has(+ figure),
.wys blockquote:has(+ h2), 
.wys blockquote:has(+ h3), 
.wys blockquote:has(+ h4), 
.wys blockquote:has(+ h5), 
.wys blockquote:has(+ h6),
.wys blockquote:has(+ img),
.wys blockquote:has(+ figure),
.wys ul:has(+ h2), 
.wys ul:has(+ h3), 
.wys ul:has(+ h4), 
.wys ul:has(+ h5), 
.wys ul:has(+ h6),
.wys ul:has(+ img),
.wys ul:has(+ figure),
.wys ol:has(+ h2), 
.wys ol:has(+ h3), 
.wys ol:has(+ h4), 
.wys ol:has(+ h5), 
.wys ol:has(+ h6),
.wys ol:has(+ img),
.wys ol:has(+ figure){
	margin-bottom: var(--wys-section-space);
}
.wys h2 + h2{margin-top: var(--wys-section-space);}

.wys hr{margin-bottom: var(--wys-section-space); margin-top: var(--wys-section-space);}
.wys h2,
.wys h3,
.wys h4,
.wys h5,
.wys h6{
	margin-bottom: 12px;
}

.wys h2{
    font-family: var(--wys-h2-font-family), Sans-serif;
    font-size: var(--wys-h2-font-size);
    font-weight: var(--wys-h2-font-weight);
    line-height: var(--wys-h2-line-height);
	color: var(--wys-heading-colour);
}
.wys h3{
    font-family: var(--wys-h3-font-family), Sans-serif;
    font-size: var(--wys-h3-font-size);
    font-weight: var(--wys-h3-font-weight);
    line-height: var(--wys-h3-line-height);
	color: var(--wys-heading-colour);
}
.wys h4, .wys h5, .wys h6{
    font-family: var(--wys-h4-font-family), Sans-serif;
    font-size: var(--wys-h4-font-size);
    font-weight: var(--wys-h4-font-weight);
    line-height: var(--wys-h4-line-height);
	color: var(--wys-heading-colour);
}
.wys blockquote {position: relative;margin-left: 0;margin-right: 0;padding-left: calc(var(--wys-section-space) / 2);}
.wys blockquote::before {content: "";position: absolute;left: 0;height: 100%;width: 4px;background: var(--e-global-color-accent);}
.wys figcaption{color: var(--e-global-color-text); margin-top: 8px;}
.wys ul, .wys ol{margin-block-end: 0.9rem;}
.wys a {
    color: var(--wys-link-colour);
    font-weight: 600;
}
.wys a:hover {
    color: var(--wys-link-hover-colour);
}

/* Footer */
.oo-by-oo a:hover {
	color: #F7CE46 !important;
}

.oo-footer a:hover,
.oo-footer a:hover span,
.oo-footer a:focus span,
.oo-footer a:active span {
  color: #F7CE46 !important;
}