/*
Theme Name:   Giveaway Ranch Child
Theme URI:    https://giveawayranch.com
Description:  Child theme for Giveaway Ranch — adds the brand palette, button overrides, custom Add-to-Cart label, sold-out overlay polish, sticky mobile CTA, and cleaner checkout. Built on Hello Elementor.
Author:       Giveaway Ranch
Author URI:   https://giveawayranch.com
Template:     hello-elementor
Version:      1.1.3
Text Domain:  giveaway-ranch-child
*/

/* ----- Full-bleed layout + no duplicate titles on designed pages ------- */
.home .site-main, .page-id-24 .site-main, .page-id-25 .site-main, .page-id-26 .site-main,
.page-id-27 .site-main, .page-id-28 .site-main, .page-id-29 .site-main, .page-id-30 .site-main,
.page-id-32 .site-main {
	padding: 0 !important;
	max-width: 100% !important;
}
.home .entry-title, .page-id-24 .entry-title, .page-id-25 .entry-title, .page-id-26 .entry-title,
.page-id-27 .entry-title, .page-id-28 .entry-title, .page-id-29 .entry-title, .page-id-30 .entry-title,
.page-id-32 .entry-title {
	display: none;
}

/* ----- Brand palette ------------------------------------------------- */
:root {
	--gr-cream:        #F4EBD9;
	--gr-cream-soft:   #FFF4E5;
	--gr-wood:         #3E2E1E;
	--gr-wood-soft:    #6B5942;
	--gr-orange:       #C45000;
	--gr-orange-dark:  #9C3F00;
	--gr-leather:      #8B2E1F;
	--gr-text:         #3E2E1E;
}

body, .elementor-widget-text-editor {
	color: var(--gr-text);
	background-color: var(--gr-cream);
}

a { color: var(--gr-orange); }
a:hover, a:focus { color: var(--gr-leather); }

h1, h2, h3, h4, h5, h6 {
	color: var(--gr-wood);
	font-family: Georgia, "Times New Roman", serif;
	letter-spacing: .25px;
}

/* ----- WooCommerce buttons (orange w/ white text) -------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
	background: var(--gr-orange);
	color: #FFF;
	border-radius: 4px;
	border: none;
	padding: 12px 24px;
	font-weight: bold;
	letter-spacing: .5px;
	text-transform: uppercase;
	transition: background .15s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background: var(--gr-leather);
	color: #FFF;
}

/* ----- Add to Cart on webinar products -------------------------------
 * The seat picker JS (in webinar-seat-manager.php) takes over the button
 * label dynamically: "Pick a seat above" when nothing's selected, and
 * "Claim N Seat(s)" once at least one seat is picked. We just need a
 * starting state that doesn't say "Add to Cart" before the JS has run. */
.woocommerce.product-type-webinar_giveaway button.single_add_to_cart_button {
	font-weight: bold;
	letter-spacing: .5px;
}
.woocommerce.product-type-webinar_giveaway button.single_add_to_cart_button[data-wsm-active="0"] {
	opacity: .7;
}

/* Hide the WooCommerce qty input on webinar products — quantity is
 * derived from the number of seats picked in the seat grid, not typed in. */
.woocommerce.product-type-webinar_giveaway .quantity {
	display: none !important;
}

/* ----- "N of T seats left" badge on archive tiles ---------------------- */
.woocommerce ul.products li.product .gr-seats-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	background: var(--gr-orange);
	color: #FFF;
	font-size: 12px;
	font-weight: bold;
	padding: 5px 12px;
	border-radius: 99px;
	z-index: 5;
	pointer-events: none;
}

/* ----- My Account: branded login/register forms ------------------------ */
.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register {
	background: #FFF;
	border: 2px solid var(--gr-wood) !important;
	border-radius: 10px !important;
	padding: 24px !important;
}
.woocommerce-account .u-columns h2 {
	font-family: Georgia, "Times New Roman", serif;
	color: var(--gr-wood);
}
.woocommerce form .woocommerce-form-row input.input-text {
	border: 1px solid var(--gr-wood);
	border-radius: 4px;
	padding: 11px 12px;
}

/* ----- Sold-out polish on archive (works with the seat-manager CSS)  ----- */
.woocommerce ul.products li.product.outofstock .price,
.woocommerce ul.products li.product.outofstock .button {
	opacity: .5;
}

/* ----- Sticky "Active Webinars" mobile CTA (bottom-right) ----------
 * Rendered as a real <a class="gr-mobile-fab"> from functions.php so it's
 * actually clickable (a body::after pseudo-element can't take a link). */
.gr-mobile-fab { display: none; }
@media (max-width: 768px) {
	.gr-mobile-fab {
		display: block;
		position: fixed;
		bottom: 18px;
		right: 18px;
		background: var(--gr-orange);
		color: #FFF;
		padding: 12px 18px;
		border-radius: 28px;
		font-weight: bold;
		font-size: 14px;
		z-index: 999;
		box-shadow: 0 4px 12px rgba(62, 46, 30, .4);
		text-decoration: none;
	}
	.gr-mobile-fab:hover, .gr-mobile-fab:focus { color: #FFF; background: var(--gr-leather); }
	body.gr-hide-fab .gr-mobile-fab { display: none; }
}

/* ----- Cleaner checkout: single column, larger inputs, orange total -- */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
	width: 100% !important;
	float: none !important;
	max-width: 720px;
	margin: 0 auto !important;
}

.woocommerce-checkout #order_review {
	background: var(--gr-cream);
	border: 1px solid var(--gr-wood);
	border-radius: 6px;
	padding: 20px;
	margin-top: 20px;
}

.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
	font-size: 16px !important;
	padding: 12px 14px !important;
	border-radius: 4px !important;
	border: 1px solid var(--gr-wood) !important;
}

.woocommerce-checkout-review-order-table tfoot tr.order-total .woocommerce-Price-amount {
	color: var(--gr-orange);
	font-size: 20px;
	font-weight: bold;
}

/* ----- Header: wood-brown bar, cream nav, orange accents -------------- */
.site-header, header.site-header, header#site-header {
	background: var(--gr-wood) !important;
	border-bottom: 3px solid var(--gr-orange);
	max-width: 100% !important;
	width: 100% !important;
	padding: 14px max(16px, calc((100% - 1140px) / 2)) !important;

}
.site-header .site-title, .site-header .site-title a,
.site-header h1, .site-header h1 a, .site-header h4, .site-header h4 a {
	font-family: Georgia, "Times New Roman", serif;
	color: var(--gr-cream) !important;
	letter-spacing: 1px;
	text-decoration: none;
}
.site-header .site-description { color: #FFD9B0 !important; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; }
.site-header .custom-logo, .site-header .site-logo img, .site-header img {
	max-height: 80px;
	width: auto;
}
.site-header nav a, .site-header .menu a, .site-header ul li a {
	color: var(--gr-cream) !important;
	font-weight: bold;
	font-size: 14px;
	letter-spacing: .5px;
	text-decoration: none;
}
.site-header nav a:hover, .site-header .menu a:hover { color: #FFD9B0 !important; }
.site-header .current-menu-item > a, .site-header .current_page_item > a { color: var(--gr-orange) !important; }
@media (max-width: 768px) {
	.site-header { padding: 10px 16px !important; }
	.site-header img, .site-header .custom-logo { max-height: 50px; }
	.site-header nav a, .site-header .menu a, .site-header ul li a { font-size: 13px; }
	.site-header ul { flex-wrap: wrap; justify-content: center; }
}

/* ----- WooCommerce archive: card-style product tiles ------------------- */
.woocommerce ul.products li.product {
	background: #FFF;
	border: 2px solid var(--gr-wood);
	border-radius: 10px;
	padding: 0 0 18px !important;
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(62, 46, 30, .08);
	transition: transform .12s ease, box-shadow .12s ease;
	text-align: center;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 22px rgba(62, 46, 30, .16);
}
.woocommerce ul.products li.product img { margin-bottom: 12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 18px;
	color: var(--gr-wood);
	padding: 0 14px;
}
.woocommerce ul.products li.product .price {
	color: var(--gr-orange) !important;
	font-size: 18px;
	font-weight: bold;
}
.woocommerce ul.products li.product .price::after { content: " / seat"; font-size: 12px; color: var(--gr-wood-soft); font-weight: normal; }
.woocommerce ul.products li.product .button { margin-top: 8px; }

/* ----- Single product: cleaner summary column -------------------------- */
.single-product div.product .product_title {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 34px;
	color: var(--gr-wood);
}
.single-product div.product p.price { color: var(--gr-orange) !important; font-size: 26px; font-weight: bold; }
.single-product div.product p.price::after { content: " per seat"; font-size: 14px; color: var(--gr-wood-soft); font-weight: normal; }
.single-product div.product .woocommerce-product-details__short-description { font-size: 16px; color: var(--gr-wood-soft); }

/* ----- WC notices in brand colors -------------------------------------- */
.woocommerce-message, .woocommerce-info {
	border-top-color: var(--gr-orange) !important;
	background: var(--gr-cream-soft) !important;
	color: var(--gr-wood) !important;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--gr-orange) !important; }
.woocommerce-error { border-top-color: var(--gr-leather) !important; background: var(--gr-cream-soft) !important; color: var(--gr-wood) !important; }

/* ----- Cart + checkout + account tables -------------------------------- */
.woocommerce table.shop_table {
	background: #FFF;
	border: 1px solid var(--gr-wood);
	border-radius: 6px;
}
.woocommerce table.shop_table th { color: var(--gr-wood); background: var(--gr-cream-soft); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	background: #FFF;
	border: 1px solid var(--gr-wood);
	border-radius: 6px;
	padding: 10px 16px;
	margin-bottom: 6px;
	color: var(--gr-wood);
	font-weight: bold;
	text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: var(--gr-orange);
	border-color: var(--gr-orange);
	color: #FFF;
}

/* ----- Page titles on inner pages -------------------------------------- */
.entry-title, .page-title { font-family: Georgia, "Times New Roman", serif; color: var(--gr-wood); }

/* ----- Footer mini AMOE notice ---------------------------------------- */
.gr-amoe-footer {
	background: var(--gr-wood);
	color: var(--gr-cream);
	padding: 18px 20px;
	text-align: center;
	font-size: 13px;
	line-height: 1.5;
}
.gr-amoe-footer a {
	color: var(--gr-orange);
	font-weight: bold;
}
