/*
 Theme Name:   Hello Elementor Child
 Theme URI:    https://example.com/
 Description:  A lightweight child theme for Hello Elementor.
 Author:       You
 Author URI:   https://example.com/
 Template:     hello-elementor
 Version:      1.0.0
 Text Domain:  hello-elementor-child
*/

/* General ************************************************ */


.glass-effect{
	-webkit-backdrop-filter: blur(22px) saturate(95%);
	backdrop-filter: blur(22px) saturate(95%);
}

.text-highlight-color span{
	color: rgb(226, 197, 146);
}

/* Image Slider ************************************************ */
.image-slider .elementor-slides-wrapper{ border-radius: 8px; }


/* Schedule Table ************************************************ */
#schedule-table {
	font-size: 16px;
}

#schedule-table table{
	border: none; /* removes outer border */
	border-collapse: collapse;
  	width: 100%;
	table-layout: fixed; /* makes column widths respect the CSS */
}

#schedule-table td:first-child, #schedule-table th:first-child {
  width: 35%; /* or px value */
  padding-right: 20px;
  font-weight: bold;
}

#schedule-table th,
#schedule-table td {
    border: none; /* removes cell borders */
	padding: 6px; /* smaller padding */
	text-align: left;
}

#schedule-table td:first-child, #schedule-table th:first-child {
	padding-right: 20px; /* Adjust the value for more or less spacing */
	font-weight: bold; /* makes first column bold */
}


/* WooCommerce ************************************************ */
.variations_form .variations{
	background-color: white;
}

.variations_form table td, .variations_form table th {
    border: 1px solid #DADAE2;
}

.woocommerce-thankyou-order-received{
	font-size: 1.1rem;
    color: #3caa4ef0;
    border: 1px solid #d7d7d7;
    padding: 1.5rem;
    margin-bottom: 3rem;
    border-radius: 8px;
    display: inline-block;
	line-height: 1.2em;
}

/* Single Product */

.woocommerce div.product form.cart .variations label {
    font-size: 18px;
}

.woocommerce-product-gallery{
	margin-bottom: 0 !important;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .stock{
	color: #bf9b5a !important;
}

.pswp__item .pswp__img{
	border-radius: 8px;
}

.elementor-widget-woocommerce-product-price .price{
	margin-bottom: .1rem;
}

.elementor-add-to-cart .stock{
	margin-bottom: 0;
}

.woocommerce-variation-description{
	border-left: 2px solid #E2C592;
    padding-left: 1rem;
    margin: 2rem 0;
}

/* WooCommerce - Payment Plan Suite Extension ************************************************ */
.ppn-payment-plans-wrapper .ppn-payment-plans-form {
	background-color: #F7F7F8;
    padding: 1.5rem;
	border-radius: 8px;
	margin: 2rem 0;
}

.ppn-payment-plans-wrapper label[for="ppn_payment_type"], .ppn-payment-plans-wrapper label[for="ppn_payment_plan_selection_radio"] {
	font-weight: 700;
	font-size: 18px;
	margin-bottom: 1.3rem;
}

.ppn-payment-plans-wrapper label[for="ppn_payment_plan_selection_radio"] {
	font-size: 16px;
	width: 100%;
    border-bottom: 1px solid #c1bbbb;
    padding: 0 0 1rem 0;
	text-transform: uppercase;
}

/* Product Total Amount */
.woocommerce-variation .woocommerce-Price-amount{
	font-size: 1.5rem;
}

/* General spacing for the plan table rows */
.ppn-plan-meta .ppn-installments-table .shop_table td {
  padding: 12px 16px !important;
}

.ppn-payment-plans{
	margin-top: 1.5rem;
}

/* Adds pointer style to checkboxes */
.ppn-payment-plans-wrapper input[type=radio]{
	cursor: pointer;
}

/* Extra left padding on the Amount column only */
.ppn-plan-meta .ppn-installments-table .shop_table td:first-child {
  padding-left: 24px !important; /* tweak as needed */
}

/* Align radio button with label for Payment Type section */
.ppn-payment-selection-handle-row {
  display: flex;
  align-items: center;
  gap: 10px; /* space between button and text */
  margin-bottom: 10px; /* spacing between options */
}

/* Optional: slightly tighten the whole Payment Type box */
.ppn-payment-type-wrapper {
  line-height: 1.4;
}


/* Align radio button with label for Payment Plan section */
.ppn-payment-plans label[for="ppn_payment_plan_selection_1356"], .ppn-payment-plans label[for="ppn_payment_plan_selection_1357"]{
	margin-top: -4px;
	margin-left: 3px;
}




/* WooCommerce - Roommate Form ************************************************ */
/* === FORCE VERTICAL, FULL-WIDTH LAYOUT (no reflow) === */

/* Cart/variation containers – block + full width from first paint */
.woocommerce div.product .summary form.cart,
.woocommerce div.product .summary form.cart .single_variation_wrap,
.woocommerce div.product .summary form.cart .woocommerce-variation-add-to-cart,
.elementor .elementor-widget-woocommerce-product-add-to-cart form.cart,
.elementor .elementor-widget-woocommerce-product-add-to-cart form.cart .single_variation_wrap,
.elementor .elementor-widget-woocommerce-product-add-to-cart form.cart .woocommerce-variation-add-to-cart,
.product .summary form.cart,
.product .summary form.cart .single_variation_wrap,
.product .summary form.cart .woocommerce-variation-add-to-cart {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Some themes wrap with .cart or .variations_button – force block */
.woocommerce div.product .summary form.cart .cart,
.woocommerce div.product .summary form.cart .variations_button,
.elementor .elementor-widget-woocommerce-product-add-to-cart form.cart .cart,
.elementor .elementor-widget-woocommerce-product-add-to-cart form.cart .variations_button {
  display: block !important;
  width: 100% !important;
}

/* Button on its own line, full width */
.woocommerce div.product .summary form.cart .single_add_to_cart_button,
.elementor .elementor-widget-woocommerce-product-add-to-cart form.cart .single_add_to_cart_button {
  display: block !important;
  width: 100% !important;
  margin-top: 12px !important;
  height: auto !important;
  line-height: 1.2 !important;
  border-radius: 16px; /* match your style */
}

/* Optional: hide qty (typical for bookings) */
.woocommerce div.product .summary form.cart .quantity { 
  display: none !important; 
}

/* === ROOMMATE FIELD (full width above button) === */

/* Hidden by default; JS shows it for Couple */
#tww-roommate-wrap {
  display: none;              /* do not use !important so JS can override */
  width: 100%;
  max-width: 100%;
  margin: 14px 0 10px;
  clear: both;
}

#tww-roommate-wrap label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
}

#tww-roommate-wrap input {
  width: 100%;
  max-width: 100%;
  padding: 10px 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  box-sizing: border-box;
}

#tww-roommate-wrap small {
  display: block;
  margin-top: 4px;
  font-size: 13px;
  color: #777;
}

/* === GUARDS AGAINST LATE FLEX/GRID INJECTIONS === */

/* If any parent re-applies flex/grid, neutralize it */
.woocommerce div.product .summary form.cart,
.elementor .elementor-widget-woocommerce-product-add-to-cart form.cart {
  gap: 0 !important;
  align-items: stretch !important;
}

/* Reserve minimal height so variation block appearing doesn't shift layout */
.woocommerce div.product .summary form.cart .single_variation_wrap { 
  min-height: 1px; 
}


/* WooCommerce - Account Page ************************************************ */
.woocommerce-form-login{
	max-width: 600px;
    margin: 0 auto !important;
}


.woocommerce-account .page-header{
	max-width: 1240px;
    margin: 10rem auto 1rem auto;
	border-bottom: solid 1px #e3e3e3;
    padding-bottom: 0.5rem;
}
.woocommerce-account .page-header h1{
	font-size: 2rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--backinstock{display: none;}

.woocommerce-account .page-content{
	max-width: 1240px;
    margin: 4rem auto 5rem auto;
}

/* WooCommerce - Out of Stock Notification Form ************************************************ */

#wc_bis_product_form input{
	margin-bottom: 1rem;
	border: 2px solid #F7F7F8;
}
#wc_bis_product_form button{
	background-color: #E2C592;
	font-weight: normal;
	padding: .9rem 1.7rem;
	border-radius: 50px;
	color: #172028;
}

#wc_bis_product_form button:hover{
	background-color: #F9E6C6;
}

