/*
 Theme Name:   Impact Production (Bricks)
 Theme URI:    https://impactproductionsla.com/
 Description:  Bricks child theme for the 2026 Impact Production site. Layout, colors and type live in Bricks (palette "Impact", theme style "Impact", ip-* global classes); this file only holds what Bricks has no control for.
 Author:       Armour Creative, LLC
 Template:     bricks
 Version:      1.0.0
 Text Domain:  bricks
*/

/* ---- One-page scroll: anchor targets clear the sticky header (100px, 72px on phones) + 24px air ---- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
section[id] { scroll-margin-top: 124px; }
@media (max-width: 478px) { section[id] { scroll-margin-top: 96px; } }

/* ---- Single-line text elements: spacing comes from the ip-* classes, not the browser's <p> margin ---- */
p.brxe-text-basic { margin-block: 0; }

/* ---- Unstyled lists inside rich text (capabilities columns) ---- */
.ip-plain-list { list-style: none; margin: 0; padding: 0; }

/* ---- Buttons built from Bricks blocks with a custom <button> tag ---- */
button.ip-print-trigger,
button.ip-popup__close { background: none; border: 0; padding: 0; font: inherit; cursor: pointer; }
button.ip-popup__close { background: var(--bricks-color-yellow); }

/* ---- Copyright: brand name in black, as drawn ---- */
.ip-copyright__brand { color: var(--bricks-color-ink); }

/* ---- Work slider: dim the off-center slides' captions slightly so the active one leads ---- */
.ip-work-slider .splide__slide .ip-work-copy { transition: opacity .3s ease; }
.ip-work-slider .splide__slide:not(.is-active) .ip-work-copy { opacity: .55; }
.ip-work-slider video { object-fit: cover; }

/* ---- Print-ready popup body ---- */
.ip-popup__body h3 { font-size: 20px; font-weight: 700; color: var(--bricks-color-ink); margin: 28px 0 8px; }
.ip-popup__body ul { margin: 0 0 8px; padding-left: 1.2em; }
.ip-popup__body li { margin-bottom: 4px; }
.ip-popup__body p { margin: 0 0 8px; }

/* ---- Footer "Drop us a line" field: white pill, mail icon, round yellow submit inside ---- */
.ip-footer-form { position: relative; }
.ip-footer-form .form-group { padding: 0; margin: 0; }
.ip-footer-form input[type=email] {
	height: 70px;
	width: 100%;
	border: 0;
	border-radius: 35px;
	padding: 0 72px 0 60px;
	font-size: 17px;
	color: var(--bricks-color-ink);
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='15' viewBox='0 0 20 15'%3E%3Crect x='1' y='1' width='18' height='13' rx='2' fill='none' stroke='%23666' stroke-width='1.6'/%3E%3Cpath d='M2 2.5l8 5.5 8-5.5' fill='none' stroke='%23666' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat 20px center;
}
.ip-footer-form input[type=email]::placeholder { color: var(--bricks-color-body); opacity: 1; }
.ip-footer-form .submit-button-wrapper { position: absolute; top: 10px; right: 10px; margin: 0; width: auto; }
.ip-footer-form button[type=submit] {
	width: 50px; height: 50px; min-height: 0; padding: 0;
	border: 0; border-radius: 50%; background: none;
	font-size: 0; line-height: 0;
}
.ip-footer-form button[type=submit] svg { width: 50px; height: 50px; }
/* Messages sit on the black footer: drop Bricks' pale success/error boxes, keep the text readable */
.ip-footer-form .message,
.ip-footer-form .message.success,
.ip-footer-form .message.error { background: none; color: #fff; margin-top: 12px; }
.ip-footer-form .message .text { padding: 4px 0 0 24px; }
.ip-footer-form .message.success .text::before { content: "✓ "; color: var(--bricks-color-yellow); font-weight: 700; }
.ip-footer-form .message.error { color: #ff9e8f; }
.ip-footer-form .message .close { color: inherit; padding: 4px 24px 0; }

/* =============== Gravity Forms order pages (carried over from the impact theme) =============== */
.gform_wrapper {
	max-width: 768px;
	margin-inline: auto;
	padding: 30px;
	background: #fff;
	border: 1px solid #e0dede;
	box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
.gform_wrapper .gsection {
	border-bottom: 2px solid var(--bricks-color-yellow);
	margin: 1.75rem 0 1.25rem;
	padding-bottom: .4rem;
}
.gform_wrapper .gsection .gsection_title {
	font-size: 1rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #1a1a1a;
	margin: 0;
}
.gform_wrapper .gform_description { display: block; margin-bottom: 1.5rem; }
/* Inside a popup the form is already in a card: no second box */
.brx-popup .gform_wrapper { max-width: none; margin-top: 24px; padding: 0; border: 0; box-shadow: none; }
.brx-popup .ip-popup__body a { color: var(--bricks-color-ink); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.gform_wrapper .gfield_label { font-size: 1rem; font-weight: 700; color: #333; }
.gform_wrapper .gfield_required { color: #1a1a1a; }
.gform_wrapper.gform-theme--orbital {
	--gf-ctrl-btn-bg-color-primary: var(--bricks-color-yellow);
	--gf-ctrl-btn-bg-color-hover-primary: #1a1a1a;
	--gf-ctrl-btn-color-primary: #1a1a1a;
	--gf-ctrl-btn-color-hover-primary: var(--bricks-color-yellow);
	--gf-color-primary: #1a1a1a;
	--gf-color-primary-rgb: 26, 26, 26;
	--gf-color-primary-contrast: #ffffff;
	--gf-form-gap-y: 25px;
}
/* Orbital out-specifies theme CSS and loads later, so the submit button needs !important. */
.gform_wrapper.gform-theme--orbital .gform_footer .gform_button,
.gform_wrapper.gform-theme--orbital .gform_footer button[type=submit],
.gform_wrapper.gform-theme--orbital .gform_footer input[type=submit] {
	background: var(--bricks-color-yellow) !important;
	color: #1a1a1a !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: .05em !important;
	text-transform: uppercase !important;
	padding: .85rem 1.6rem !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	min-height: 0 !important;
	width: auto !important;
}
.gform_wrapper.gform-theme--orbital .gform_footer .gform_button:hover,
.gform_wrapper.gform-theme--orbital .gform_footer button[type=submit]:hover,
.gform_wrapper.gform-theme--orbital .gform_footer input[type=submit]:hover {
	background: #1a1a1a !important;
	color: var(--bricks-color-yellow) !important;
}
/* Number range hint is shown once under each section, not under every field. */
.gform_wrapper .gfield--type-number .gfield_description.instruction { display: none; }
