/* ============================================================
   PC Finishing — site-wide custom CSS (child theme)
   Add all bespoke CSS here. Bump the version in functions.php
   (pcf-custom) after edits so the browser fetches the new file.
   ============================================================ */

/* Buttons use Elementor Pro's native hover control (button_background_hover_color)
   — not custom CSS. Kept out of here on purpose. */

/* ---- Enquiry form inputs (Contact page) ---- */
.elementor-field-group { margin-bottom: 16px; }
.elementor-field-group > .elementor-field-label {
	font-size: 14px; font-weight: 500; color: #151726; margin-bottom: 4px;
}
.elementor-field-textual {
	background: #fff; color: #151726; border: 1px solid #858DA0;
	border-radius: 4px; padding: 12px; font-size: 16px; min-height: 51px; box-shadow: none;
}
textarea.elementor-field-textual { min-height: 96px; }
.elementor-field-textual:focus {
	border-color: #3233B8; box-shadow: 0 0 0 3px rgba(50, 51, 184, .45); outline: none;
}

/* ---- Enquiry/apply submit button: hug content, left-aligned (mockup).
       Scoped to exclude the Trade portal (page 44), whose login button is full-width. ---- */
body:not(.page-id-44) .elementor-form .elementor-field-group.elementor-field-type-submit { align-items: flex-start !important; }
body:not(.page-id-44) .elementor-form .elementor-field-type-submit .elementor-button {
	display: inline-flex !important;
	width: auto !important;
	max-width: max-content !important;
	align-self: flex-start !important;
	flex: 0 0 auto !important;
}
/* Trade portal login: full-width submit to match the mockup */
.page-id-44 .elementor-form .elementor-field-type-submit .elementor-button { width: 100% !important; justify-content: center; }

/* ---- Required-field mark: brand purple (mockup), not Elementor's default red ---- */
.elementor-form .elementor-field-label::after,
.elementor-form .elementor-mark-required .elementor-field-label::after { color: #3233B8 !important; }
.elementor-form .elementor-field-required-indicator { color: #3233B8 !important; }

/* ---- Reset page: style the Theme My Login form to the mockup card ---- */
#pcf-reset-card .tml { margin: 0; }
#pcf-reset-card .tml-alerts, #pcf-reset-card .tml-links { margin: 0 0 12px; font-size: 14px; }
#pcf-reset-card .tml-field-wrap { margin-bottom: 16px; }
#pcf-reset-card .tml label { display: block; font-size: 14px; font-weight: 500; color: #151726; margin-bottom: 4px; }
#pcf-reset-card .tml input[type="text"],
#pcf-reset-card .tml input[type="email"] {
	width: 100%; box-sizing: border-box; background: #fff; color: #151726;
	border: 1px solid #858DA0; border-radius: 4px; padding: 12px; font-size: 16px; min-height: 51px;
}
#pcf-reset-card .tml input[type="text"]:focus,
#pcf-reset-card .tml input[type="email"]:focus {
	border-color: #3233B8; box-shadow: 0 0 0 3px rgba(50, 51, 184, .45); outline: none;
}
#pcf-reset-card .tml input[type="submit"],
#pcf-reset-card .tml .tml-button {
	width: 100%; background: #3233B8; color: #fff; border: 0; border-radius: 8px;
	padding: 12px 24px; font-size: 16px; font-weight: 600; cursor: pointer; min-height: 48px;
}
#pcf-reset-card .tml input[type="submit"]:hover,
#pcf-reset-card .tml .tml-button:hover { background: #4446D6; }

/* ---- Mobile hamburger: white, mockup size ---- */
.elementor-menu-toggle { color: #fff; }
.elementor-menu-toggle i,
.elementor-menu-toggle svg { font-size: 26px; width: 26px; height: 26px; fill: #fff; }

/* ---- Mobile nav dropdown: full width below the sticky header ---- */
@media (max-width: 860px) {
	[data-elementor-type="header"] .elementor-nav-menu--dropdown {
		position: fixed; left: 0; right: 0; width: 100vw; max-width: 100vw; top: 79px;
	}
	/* Header "Order online" button: desktop only (mockup hides it on mobile) */
	[data-elementor-type="header"] .elementor-element-e5f6a7b { display: none !important; }
}

/* ---- Trade portal brand panel: vertical scrim gradient over the image (mockup: .55 top -> .88 bottom) ---- */
#pcf-portal-brand { position: relative; overflow: hidden; }
#pcf-portal-brand::before {
	content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(180deg, rgba(21, 23, 38, .55) 0%, rgba(21, 23, 38, .88) 100%);
}
#pcf-portal-brand > .e-con-inner,
#pcf-portal-brand > .elementor-element { position: relative; z-index: 2; }

/* ---- Hero scrim: exact 3-stop gradient (heroes carry .pcf-hero) ---- */
.pcf-hero .elementor-background-overlay {
	background-image: linear-gradient(90deg,
		rgba(21, 23, 38, .93) 0%,
		rgba(21, 23, 38, .72) 55%,
		rgba(21, 23, 38, .38) 100%);
}
