/**
 * D&C Interieurs – landing page base styles.
 * Shared pieces only; each section has its own file in ./sections/.
 */

html { scroll-behavior: smooth; }
.lp-main [id] { scroll-margin-top: 24px; }
.lp-main .wp-block-post-content > * { margin-block: 0; }

/* Eyebrow / tab title (D&C/Label/Tab title H6) */
.lp-eyebrow {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--eyebrow);
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

/* Buttons: Primary (default) + Light */
.wp-block-button .wp-block-button__link { transition: background-color .25s ease, color .25s ease, border-color .25s ease; }
.wp-block-button.is-style-light .wp-block-button__link {
	background: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--black);
}
.wp-block-button.is-style-light .wp-block-button__link:hover,
.wp-block-button.is-style-light .wp-block-button__link:focus-visible {
	background: transparent;
	color: var(--wp--preset--color--white);
}
/* Primary button on dark backgrounds keeps a visible hover */
.has-black-background-color .wp-block-button:not(.is-style-light) .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--white);
}

/* Header */
.lp-header { position: relative; z-index: 20; }
.lp-header__logo { line-height: 0; flex-shrink: 0; }

.lp-header .wp-block-navigation { font-size: 13px; text-transform: uppercase; letter-spacing: 0.02em; }
.lp-header .wp-block-navigation__responsive-container.is-menu-open { padding: 32px var(--wp--preset--spacing--gutter); }
.lp-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 20px; font-size: 16px; }
@media (max-width: 1100px) {
	/* Burger sits on the outer edge, appointment button before it. */
	.lp-header__nav > .wp-block-navigation { order: 2; }
	.lp-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.lp-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
@media (max-width: 600px) {
	.lp-header__logo img { width: 128px !important; }
	.lp-header__nav { gap: 16px !important; }
	.lp-header__cta .wp-block-button__link { padding: 10px 14px; font-size: 11px; white-space: nowrap; }
}
@media (max-width: 400px) {
	.lp-header__logo img { width: 104px !important; }
	.lp-header__nav { gap: 12px !important; }
}
@media (max-width: 359px) {
	.lp-header__cta { display: none; }
}

/* Footer */
.lp-footer__signature { margin: 0 0 8px; transform: rotate(-4deg); line-height: 0; }
.lp-footer__nav { font-size: 13px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.1em; }
.lp-footer__nav a { text-decoration: none; }
.lp-footer__nav a:hover, .lp-footer__nav a:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
.lp-footer p { margin: 0; color: var(--wp--preset--color--grey-300); }
.lp-footer__contact { font-size: 14px; }
.lp-footer p a { color: inherit; text-decoration: none; }
.lp-footer p a:hover, .lp-footer p a:focus-visible { color: var(--wp--preset--color--white); text-decoration: underline; text-underline-offset: 3px; }
.lp-footer__sep { margin: 0 12px; opacity: 0.5; }
.lp-footer__social { margin: 0; }
.lp-footer__rule { border-color: rgba(255, 255, 255, 0.15) !important; opacity: 1; width: 100%; }
.lp-footer__legal { opacity: 0.7; }
@media (max-width: 600px) {
	.lp-footer__contact .lp-footer__sep, .lp-footer__legal .lp-footer__sep { display: block; height: 4px; overflow: hidden; color: transparent; }
}

/* -------------------------------------------------------------------------
 * Forms
 * Wrap any form (plain HTML, Contact Form 7, Gravity Forms) in `.lp-form`.
 * Add `.lp-form--dark` when the form sits on a black section.
 * ---------------------------------------------------------------------- */
.lp-form { --lp-input-bg: var(--wp--preset--color--white); --lp-input-text: var(--wp--preset--color--black); --lp-input-border: var(--wp--preset--color--grey-300); --lp-input-placeholder: var(--wp--preset--color--grey-600); }
.lp-form--dark { --lp-input-bg: var(--wp--preset--color--input-dark); --lp-input-text: var(--wp--preset--color--white); --lp-input-border: var(--wp--preset--color--input-dark); --lp-input-placeholder: var(--wp--preset--color--white); }

.lp-form form,
.lp-form .lp-form__fields { display: flex; flex-direction: column; gap: 16px; margin: 0; }
.lp-form p { margin: 0; }
.lp-form label:not(.lp-form__check) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.lp-form input[type="text"],
.lp-form input[type="email"],
.lp-form input[type="tel"],
.lp-form input[type="number"],
.lp-form input[type="url"],
.lp-form input[type="date"],
.lp-form select,
.lp-form textarea {
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 10px 16px;
	min-height: 38px;
	background: var(--lp-input-bg);
	border: 1px solid var(--lp-input-border);
	border-radius: 0;
	color: var(--lp-input-text);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--input);
	line-height: 1.2;
	appearance: none;
	transition: border-color .2s ease;
}
.lp-form textarea { min-height: 120px; resize: vertical; }
.lp-form ::placeholder { color: var(--lp-input-placeholder); opacity: 1; text-transform: uppercase; }
.lp-form input:focus,
.lp-form select:focus,
.lp-form textarea:focus { outline: none; border-color: currentColor; }
.lp-form--dark input:focus,
.lp-form--dark select:focus,
.lp-form--dark textarea:focus { border-color: var(--wp--preset--color--white); }

.lp-form__check { display: flex; gap: 10px; align-items: flex-start; font-size: var(--wp--preset--font-size--label); line-height: 1.5; }

.lp-form button[type="submit"],
.lp-form input[type="submit"] {
	align-self: flex-start;
	margin-top: 6px;
	padding: 14px 28px;
	border: 1px solid var(--wp--preset--color--black);
	border-radius: 0;
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
.lp-form button[type="submit"]:hover,
.lp-form input[type="submit"]:hover { background: transparent; color: var(--wp--preset--color--black); }
.lp-form--dark button[type="submit"],
.lp-form--dark input[type="submit"] { background: var(--wp--preset--color--white); border-color: var(--wp--preset--color--white); color: var(--wp--preset--color--black); }
.lp-form--dark button[type="submit"]:hover,
.lp-form--dark input[type="submit"]:hover { background: transparent; color: var(--wp--preset--color--white); }

/* Plugin compatibility */
.lp-form .wpcf7-form-control-wrap { display: block; }
.lp-form .wpcf7-not-valid-tip,
.lp-form .gfield_validation_message { margin-top: 6px; font-size: 13px; color: #e5484d; }
.lp-form .wpcf7-response-output { margin: 8px 0 0 !important; padding: 10px 16px !important; font-size: 14px; }
.lp-form .wpcf7-spinner { margin: 12px 0 0; }
.lp-form .gform_wrapper .gform_fields { row-gap: 16px !important; }
.lp-form .gform_wrapper .gfield_label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.lp-form .gform_wrapper .gform_footer { margin: 6px 0 0 !important; padding: 0 !important; }

/* -------------------------------------------------------------------------
   Scroll animations (assets/js/landing-animations.js)
   html.lp-anim is set in <head> only when motion is allowed; hides the hero
   content until GSAP fades it in, so it never flashes.
   ------------------------------------------------------------------------- */
.lp-anim .lp-hero__content > * { visibility: hidden; }
