/*
Theme Name: Le Rendez-Vous
Theme URI:
Author: ServiQual Ltd
Author URI:
Description: A custom theme made for Le Rendez-Vous website
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 5.7
Version:
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: le-rendez-vous
Tags:
Requires Styles: woocommerce-general, woocommerce-layout, woocommerce-smallscreen
*/

/* ==========================================================================
   WooCommerce Typography Overrides
   Using theme.json font sizes for consistent typography
   ========================================================================== */

/* Cart and Checkout Block Typography */
.woocommerce-page .input-text,
.woocommerce-page .select2-container,
.woocommerce-page select,
.woocommerce-page table.variations tr td select {
	font-size: var(--wp--preset--font-size--normal) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.woocommerce-page .woocommerce-cart-form #coupon_code {
	font-size: var(--wp--preset--font-size--normal) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

/* Order overview and customer details */
.woocommerce-page ul.woocommerce-order-overview {
	font-size: var(--wp--preset--font-size--small) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.woocommerce-page .woocommerce-column__title,
.woocommerce-page .woocommerce-customer-details h2,
.woocommerce-page .woocommerce-thankyou-order-received {
	font-size: var(--wp--preset--font-size--large) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.woocommerce-page .cart-collaterals h2 {
	font-size: var(--wp--preset--font-size--medium) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

/* WooCommerce Block Components Typography */
.wc-block-components-product-name {
	font-size: var(--wp--preset--font-size--normal) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.wc-block-components-product-title,
.wc-block-components-product-title h3,
.wc-block-components-product-title h4 {
	font-size: var(--wp--preset--font-size--medium) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.wc-block-components-product-price {
	font-size: var(--wp--preset--font-size--normal) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.wc-block-components-product-sale-badge {
	font-size: var(--wp--preset--font-size--extra-small) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.wc-block-components-product-summary h1,
.wc-block-components-product-summary h2,
.wc-block-components-product-summary h3,
.wc-block-components-product-summary h4,
.wc-block-components-product-summary h5,
.wc-block-components-product-summary h6 {
	font-size: var(--wp--preset--font-size--normal) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.wc-block-components-product-stock-indicator {
	font-size: var(--wp--preset--font-size--extra-small) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

/* Cart Block Specific */
.wp-block-woocommerce-cart .wc-block-cart-item__product .wc-block-cart-item__wrap{
	@media (min-width: 1200px){
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
}


.wp-block-woocommerce-cart .wc-block-cart__totals-title,
.wp-block-woocommerce-cart .wc-block-components-totals-coupon h4 {
	font-size: var(--wp--preset--font-size--medium) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.wp-block-woocommerce-cart .wc-block-cart-item__product-name,
.wp-block-woocommerce-cart .wc-block-cart-item__product-permalink {
	font-size: var(--wp--preset--font-size--normal) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.wp-block-woocommerce-cart .wc-block-cart-item__product-price,
.wp-block-woocommerce-cart .wc-block-formatted-money-amount {
	font-size: var(--wp--preset--font-size--normal) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.wp-block-woocommerce-cart .wc-block-cart-item__remove-link,
.wp-block-woocommerce-cart .wc-block-cart__remove-link {
	font-size: var(--wp--preset--font-size--small) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.wp-block-woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button {
	font-size: var(--wp--preset--font-size--normal) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

/* Checkout Block Specific */
.wp-block-woocommerce-checkout .wc-block-checkout__actions .wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout .wc-block-components-button {
	font-size: var(--wp--preset--font-size--normal) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.wp-block-woocommerce-checkout .wc-block-checkout__main h3,
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title {
	font-size: var(--wp--preset--font-size--medium) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-text-input,
.wp-block-woocommerce-checkout .wc-block-components-combobox-control,
.wp-block-woocommerce-checkout .wc-block-components-select-control,
.wp-block-woocommerce-checkout input[type="text"],
.wp-block-woocommerce-checkout input[type="email"],
.wp-block-woocommerce-checkout input[type="tel"],
.wp-block-woocommerce-checkout select,
.wp-block-woocommerce-checkout textarea {
	font-size: var(--wp--preset--font-size--normal) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-text-input label,
.wp-block-woocommerce-checkout .wc-block-components-form-element label {
	font-size: var(--wp--preset--font-size--small) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.wp-block-woocommerce-checkout .wc-block-checkout-order-summary__title,
.wp-block-woocommerce-checkout .wc-block-components-totals-wrapper h4 {
	font-size: var(--wp--preset--font-size--medium) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__title,
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__quantity {
	font-size: var(--wp--preset--font-size--normal) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__price,
.wp-block-woocommerce-checkout .wc-block-components-totals-item__value {
	font-size: var(--wp--preset--font-size--normal) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-payment-method-label,
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option {
	font-size: var(--wp--preset--font-size--normal) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-validation-error,
.wp-block-woocommerce-checkout .wc-block-components-notice-banner {
	font-size: var(--wp--preset--font-size--small) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

/* Product Loop Typography (for consistency) */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: var(--wp--preset--font-size--medium) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.woocommerce ul.products li.product .price {
	font-size: var(--wp--preset--font-size--normal) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

/* Reviews Typography */
.woocommerce .woocommerce-Reviews .comment-reply-title {
	font-size: var(--wp--preset--font-size--medium) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

/* Button Typography Override */
.woocommerce .wc-block-components-button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	font-size: var(--wp--preset--font-size--normal) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

/* Account Navigation */
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	font-size: var(--wp--preset--font-size--normal) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

/* Form Elements Consistency */
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row select,
.woocommerce-page form .form-row textarea.input-text {
	font-size: var(--wp--preset--font-size--normal) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.woocommerce-page form .form-row label {
	font-size: var(--wp--preset--font-size--small) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

.woocommerce-page .select2-container .select2-search--dropdown .select2-search__field {
	font-size: var(--wp--preset--font-size--normal) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
}

/* Currency Symbol Spacing */
.woocommerce .woocommerce-Price-currencySymbol,
.wc-block-formatted-money-amount .woocommerce-Price-currencySymbol,
.wc-block-components-formatted-money-amount .woocommerce-Price-currencySymbol,
.wp-block-woocommerce-cart .woocommerce-Price-currencySymbol,
.wp-block-woocommerce-checkout .woocommerce-Price-currencySymbol,
.wc-block-components-product-price .woocommerce-Price-currencySymbol {
	margin-right: 0.25rem !important;
}

/* Responsive Typography Adjustments */
@media (max-width: 768px) {
	.wp-block-woocommerce-cart .wc-block-cart-item__product-name,
	.wp-block-woocommerce-checkout .wc-block-components-text-input,
	.woocommerce-page .input-text,
	.woocommerce-page select {
		font-size: var(--wp--preset--font-size--small) !important;
		font-family: var(--wp--preset--font-family--inter) !important;
	}
	
	.wp-block-woocommerce-cart .wc-block-cart__totals-title,
	.wp-block-woocommerce-checkout .wc-block-checkout__main h3 {
		font-size: var(--wp--preset--font-size--normal) !important;
		font-family: var(--wp--preset--font-family--inter) !important;
	}
}



/* ==========================================================================
   Contact Form 7 Custom Styling
   Matching WooCommerce checkout form appearance
   ========================================================================== */

/* Base Form Container */
.cf7-custom-form {
	font-family: var(--wp--preset--font-family--inter) !important;
}

/* Form Row Structure */
.cf7-custom-form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

/* Input Fields - Text, Email, Tel, URL, Number */
.cf7-custom-form input[type="text"],
.cf7-custom-form input[type="email"],
.cf7-custom-form input[type="tel"],
.cf7-custom-form input[type="url"],
.cf7-custom-form input[type="number"],
.cf7-custom-form input[type="date"] {
	font-family: var(--wp--preset--font-family--inter) !important;
	font-size: var(--wp--preset--font-size--normal) !important;
	font-weight: 400;
	letter-spacing: normal;
	padding: 0.5em;
	display: block;
	background-color: #fff;
	border: 1px solid rgba(32, 7, 7, 0.8);
	border-radius: 4px;
	color: #000;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	line-height: normal;
	height: auto;
}

/* Textarea Fields */
.cf7-custom-form textarea {
	font-family: var(--wp--preset--font-family--inter) !important;
	font-size: var(--wp--preset--font-size--normal) !important;
	font-weight: 400;
	letter-spacing: normal;
	padding: 0.5em;
	display: block;
	background-color: #fff;
	border: 1px solid rgba(32, 7, 7, 0.8);
	border-radius: 4px;
	color: #000;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	line-height: 1.5;
	height: 4em;
	box-shadow: none;
}

/* Select Dropdown Fields */
.cf7-custom-form select {
	font-family: var(--wp--preset--font-family--inter) !important;
	font-size: var(--wp--preset--font-size--normal) !important;
	font-weight: 400;
	letter-spacing: normal;
	padding: 0.5em;
	padding-right: 3em;
	display: block;
	background-color: #fff;
	border: 1px solid rgba(32, 7, 7, 0.8);
	border-radius: 4px;
	color: #000;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	line-height: normal;
	height: auto;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hldnJvbi1kb3duIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4=);
	background-repeat: no-repeat;
	background-size: 16px;
	background-position: calc(100% - 0.5em) 50%;
}

/* Focus States */
.cf7-custom-form input[type="text"]:focus,
.cf7-custom-form input[type="email"]:focus,
.cf7-custom-form input[type="tel"]:focus,
.cf7-custom-form input[type="url"]:focus,
.cf7-custom-form input[type="number"]:focus,
.cf7-custom-form input[type="date"]:focus,
.cf7-custom-form textarea:focus,
.cf7-custom-form select:focus {
	border-color: currentColor;
	outline: none;
}

/* Submit Button */
.cf7-custom-form input[type="submit"],
.cf7-custom-form button[type="submit"] {
	font-family: var(--wp--preset--font-family--inter) !important;
	font-size: var(--wp--preset--font-size--normal) !important;
	font-weight: 700;
	padding: 0.618em 1em;
	background-color: #e9e6ed;
	color: #515151;
	border: 0;
	border-radius: 3px;
	cursor: pointer;
	display: inline-block;
	text-decoration: none;
	line-height: 1;
	box-shadow: none;
	text-shadow: none;
	transition: background-color 0.3s ease;
}

.cf7-custom-form input[type="submit"]:hover,
.cf7-custom-form button[type="submit"]:hover {
	background-color: #dcd7e2;
	color: #515151;
}

/* Label Styling */
.cf7-custom-form label {
	font-family: var(--wp--preset--font-family--inter) !important;
	font-size: var(--wp--preset--font-size--small) !important;
	font-weight: 700;
	line-height: 2;
	display: block;
	margin-bottom: 0.25em;
}

/* Validation Error States */
.cf7-custom-form .wpcf7-not-valid {
	border-color: #a00 !important;
}

.cf7-custom-form .wpcf7-not-valid-tip {
	color: #a00;
	font-size: 0.75em;
	font-family: var(--wp--preset--font-family--inter) !important;
	margin-top: 0.5em;
	display: block;
}

/* Success/Error Messages */
.cf7-custom-form .wpcf7-response-output {
	font-family: var(--wp--preset--font-family--inter) !important;
	font-size: var(--wp--preset--font-size--small) !important;
	padding: 1em 2em 1em 3.5em;
	margin: 2em 0 0;
	position: relative;
	border-top: 3px solid;
	list-style: none;
	background-color: #f6f5f8;
}

.cf7-custom-form .wpcf7-mail-sent-ok {
	border-top-color: #8fae1b;
	color: #515151;
}

.cf7-custom-form .wpcf7-validation-errors,
.cf7-custom-form .wpcf7-mail-sent-ng {
	border-top-color: #b81c23;
	color: #515151;
}

.cf7-custom-form .wpcf7-spam-blocked {
	border-top-color: #ffba00;
	color: #515151;
}

/* Checkbox and Radio Inputs */
.cf7-custom-form input[type="checkbox"],
.cf7-custom-form input[type="radio"] {
	display: inline-block;
	margin: 0 8px 0 0;
	vertical-align: middle;
	width: auto;
}

.cf7-custom-form .wpcf7-list-item {
	margin: 0 0 0.5em;
	display: block;
}

.cf7-custom-form .wpcf7-list-item-label {
	font-weight: 400;
	font-size: var(--wp--preset--font-size--normal) !important;
	display: inline;
}

/* File Upload */
.cf7-custom-form input[type="file"] {
	font-family: var(--wp--preset--font-family--inter) !important;
	font-size: var(--wp--preset--font-size--normal) !important;
	padding: 0.5em;
	border: 1px solid rgba(32, 7, 7, 0.8);
	border-radius: 4px;
	background-color: #fff;
	width: 100%;
	box-sizing: border-box;
}

/* Acceptance (Terms) */
.cf7-custom-form .wpcf7-acceptance {
	margin: 1em 0;
}

.cf7-custom-form .wpcf7-acceptance label {
	font-weight: 400;
	font-size: var(--wp--preset--font-size--small) !important;
	display: inline;
}

/* Form Spacing */
.cf7-custom-form p {
	margin: 0 0 1em;
}

.cf7-custom-form br {
	display: none;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
	.cf7-custom-form input[type="text"],
	.cf7-custom-form input[type="email"],
	.cf7-custom-form input[type="tel"],
	.cf7-custom-form input[type="url"],
	.cf7-custom-form input[type="number"],
	.cf7-custom-form input[type="date"],
	.cf7-custom-form textarea,
	.cf7-custom-form select {
		font-size: var(--wp--preset--font-size--small) !important;
	}
	
	.cf7-custom-form label {
		font-size: var(--wp--preset--font-size--extra-small) !important;
	}
}

/* Placeholder Styling */
.cf7-custom-form ::-webkit-input-placeholder {
	line-height: normal;
	opacity: 0.7;
}

.cf7-custom-form :-moz-placeholder {
	line-height: normal;
	opacity: 0.7;
}

.cf7-custom-form :-ms-input-placeholder {
	line-height: normal;
	opacity: 0.7;
}

/* Loading State */
.cf7-custom-form .wpcf7-spinner {
	visibility: hidden;
}

/* Required Field Indicator */
.cf7-custom-form .wpcf7-form-control-wrap abbr {
	color: #a00;
	font-weight: 700;
	border: 0;
	text-decoration: none;
}