/*
Theme Name: Luxfilm
Theme URI: https://luxfilm.sg
Author: Zeus Marketing (Freemansland Consultancy Pte Ltd)
Author URI: https://zeusmarketing.sg
Description: Field-driven classic WordPress theme for Luxfilm, the luxury watch protection film service. Built from the approved static HTML build: the markup is unchanged and all content is edited through labelled fields under the page editor, so the layout cannot be broken from the dashboard. Includes a Products catalogue with brand filtering, an enquiry system and a one-click catalogue importer. No page builder and no premium plugins required.
Version: 1.0.3
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: luxfilm
Tags: custom-theme, luxury, catalogue, classic-theme, one-column
*/

/*
 * ---------------------------------------------------------------------------
 * This file exists to declare the theme to WordPress.
 * All real styling lives in assets/css/style.css — the original stylesheet from
 * the approved build, byte for byte — and is enqueued from functions.php.
 * Do not add rules here; put them in a child theme instead.
 * ---------------------------------------------------------------------------
 */


/* ---------------------------------------------------------------------
 * Contact Form 7 forms (contact page and booking page)
 *
 * CF7 wraps every control in an inline <span>, which collapses the widths
 * the approved layout relies on. These rules hand the design back its own
 * form styling; nothing here changes the look, only restores it.
 *
 * .lux-cf7 is added by the templates via the shortcode's html_class.
 * ------------------------------------------------------------------ */

form.wpcf7-form.lux-cf7 { margin: 0; }
.lux-cf7 .wpcf7-form-control-wrap { display: block; width: 100%; }
.lux-cf7 .form-field input[type="text"],
.lux-cf7 .form-field input[type="tel"],
.lux-cf7 .form-field input[type="email"],
.lux-cf7 .form-field input[type="date"],
.lux-cf7 .form-field select,
.lux-cf7 .form-field textarea { width: 100%; }
.lux-cf7 input.wpcf7-submit { width: 100%; }
.lux-cf7 .wpcf7-spinner { margin: 0 0 0 10px; vertical-align: middle; }

.lux-cf7 .wpcf7-not-valid-tip {
	display: block;
	margin-top: 6px;
	font-size: 12.5px;
	color: #c0392b;
}

.lux-cf7 .wpcf7-response-output {
	margin: 16px 0 0;
	padding: 14px 18px;
	border-radius: 10px;
	background: var(--c-gold-soft);
	border: 1px solid var(--c-border-gold);
	font-size: 13.5px;
}

/* The contact panel sits on white, the booking card on dark glass. */
.contact-panel-form .lux-cf7 .wpcf7-response-output { color: var(--c-ink); }
.card.glass .lux-cf7 .wpcf7-response-output { color: var(--c-white); }

.lux-cf7.invalid .wpcf7-response-output,
.lux-cf7.unaccepted .wpcf7-response-output,
.lux-cf7.spam .wpcf7-response-output,
.lux-cf7.failed .wpcf7-response-output {
	background: rgba(192, 57, 43, 0.10);
	border-color: rgba(192, 57, 43, 0.35);
}
.contact-panel-form .lux-cf7.invalid .wpcf7-response-output,
.contact-panel-form .lux-cf7.unaccepted .wpcf7-response-output,
.contact-panel-form .lux-cf7.spam .wpcf7-response-output,
.contact-panel-form .lux-cf7.failed .wpcf7-response-output,
.card.glass .lux-cf7.invalid .wpcf7-response-output,
.card.glass .lux-cf7.unaccepted .wpcf7-response-output,
.card.glass .lux-cf7.spam .wpcf7-response-output,
.card.glass .lux-cf7.failed .wpcf7-response-output { color: #8c2f1d; }

/* Honeypot: never seen, never focusable. */
.lux-hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
