/* =============================================================================
   HER AGENCY — Single Product Page
   All rules scoped to #her-product-page to beat Showit pub.css specificity.
   ============================================================================= */

:root {
	--her-dark: #2b2b2b;
	--her-accent: #8b7355;
	--her-light-bg: #f9f7f4;
	--her-border: #e0dbd3;
	--her-text: #555;
	--her-muted: #888;
}

/* ── Page wrapper ── */
#her-product-page {
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding: 40px 24px 60px !important;
	box-sizing: border-box !important;
	font-family: "Public Sans", sans-serif !important;
	font-size: 16px !important;
	color: var(--her-text) !important;
}

/* ── Breadcrumb ── */
#her-product-page .woocommerce-breadcrumb {
	font-size: 12px !important;
	color: var(--her-muted) !important;
	margin-bottom: 24px !important;
}

#her-product-page .woocommerce-breadcrumb a {
	color: var(--her-muted) !important;
	text-decoration: none !important;
}

/* ── 2-column product layout ── */
#her-product-page .her-product-layout {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 60px !important;
	align-items: start !important;
	margin-bottom: 48px !important;
}

@media (max-width: 768px) {
	#her-product-page .her-product-layout {
		grid-template-columns: 1fr !important;
		gap: 30px !important;
	}
}

#her-product-page .her-product-gallery {
	width: 100% !important;
	min-width: 0 !important;
	/* Fix for Swiper in flex/grid */
}

#her-product-page .her-gallery-container {
	position: relative !important;
	width: 100% !important;
	display: block !important;
}

#her-product-page .her-main-swiper {
	width: 100% !important;
	margin-bottom: 12px !important;
	border-radius: 4px !important;
	overflow: hidden !important;
}

#her-product-page .her-main-swiper img {
	width: 100% !important;
	height: auto !important;
	display: block !important;
}

#her-product-page .her-thumb-swiper {
	width: 100% !important;
	padding: 2px 0 !important;
	position: relative !important;
}

#her-product-page .her-thumb-swiper .swiper-button-next,
#her-product-page .her-thumb-swiper .swiper-button-prev {
	color: #fff !important;
	background: rgba(0, 0, 0, 0.3) !important;
	width: 30px !important;
	height: 30px !important;
	border-radius: 50% !important;
	z-index: 10 !important;
}

#her-product-page .her-thumb-swiper .swiper-button-next::after,
#her-product-page .her-thumb-swiper .swiper-button-prev::after {
	font-size: 12px !important;
}

#her-product-page .her-thumb-swiper .swiper-slide {
	cursor: pointer !important;
	opacity: 0.6 !important;
	transition: opacity 0.3s !important;
}

#her-product-page .her-thumb-swiper .swiper-slide-thumb-active {
	opacity: 1 !important;
}

#her-product-page .her-thumb-swiper img {
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	border-radius: 2px !important;
	border: 1px solid transparent !important;
}

#her-product-page .her-thumb-swiper .swiper-slide-thumb-active img {
	border-color: var(--her-dark) !important;
}

#her-product-page .her-main-swiper .swiper-button-next,
#her-product-page .her-main-swiper .swiper-button-prev {
	color: #fff !important;
	background: rgba(0, 0, 0, 0.3) !important;
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	z-index: 10 !important;
}

#her-product-page .her-main-swiper .swiper-button-next::after,
#her-product-page .her-main-swiper .swiper-button-prev::after {
	font-size: 16px !important;
	font-weight: bold !important;
}

#her-product-page .her-main-swiper .swiper-button-next {
	right: 15px !important;
}

#her-product-page .her-main-swiper .swiper-button-prev {
	left: 15px !important;
}

/* Hide fallback WC elements if present */
#her-product-page .flex-control-nav.flex-control-thumbs {
	display: none !important;
}

/* ── Summary column ── */
#her-product-page .her-product-summary {
	width: 100% !important;
	float: none !important;
}

#her-product-page .her-product-summary .product_title {
	font-family: "Cormorant Garamond", serif !important;
	font-size: 56px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: -1.28px !important;
	color: var(--her-dark) !important;
	margin: 0 0 14px !important;
	line-height: 1.1 !important;
}

/* Price + rating row */
#her-product-page .her-price-rating-row {
	display: flex !important;
	align-items: center !important;
	gap: 20px !important;
	flex-wrap: wrap !important;
	margin-bottom: 14px !important;
}

#her-product-page .her-price-rating-row .price {
	font-size: 18px !important;
	font-weight: 600 !important;
	color: var(--her-dark) !important;
}

#her-product-page .her-price-rating-row .price del {
	color: var(--her-muted) !important;
	font-weight: 400 !important;
	margin-left: 6px !important;
}

#her-product-page .her-price-rating-row ins {
	text-decoration: none !important;
}

#her-product-page .her-price-rating-row .woocommerce-product-rating {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	margin: 0 !important;
}

#her-product-page .her-price-rating-row .woocommerce-review-link {
	font-size: 13px !important;
	color: var(--her-muted) !important;
}

/* Short description */
#her-product-page .woocommerce-product-details__short-description {
	font-size: 16px !important;
	line-height: 1.6 !important;
	color: var(--her-text) !important;
	margin-bottom: 24px !important;
}

/* Variations */
#her-product-page .variations_form .variations {
	width: 100% !important;
	border: none !important;
}

#her-product-page .variations_form .variations tr {
	display: block !important;
	margin-bottom: 12px !important;
}

#her-product-page .variations_form .variations th,
#her-product-page .variations_form .variations td {
	display: block !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	width: 100% !important;
}

#her-product-page .variations_form .variations th {
	display: none !important;
}

#her-product-page .variations_form .variations select {
	width: 100% !important;
	padding: 14px 14px !important;
	border: 1px solid var(--her-border) !important;
	border-radius: 0 !important;
	font-size: 14px !important;
	color: var(--her-text) !important;
	background-color: #fff !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	cursor: pointer !important;
	box-sizing: border-box !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%232b2b2b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
}

/* Remove white background / border from gallery zoom trigger */
#her-product-page .woocommerce-product-gallery__trigger {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

#her-product-page .woocommerce-product-gallery__trigger img,
#her-product-page .woocommerce-product-gallery__trigger::before {
	filter: none !important;
}

/* Add to cart form — row layout for variant + qty */
#her-product-page form.cart {
	display: flex !important;
	flex-direction: column !important;
	gap: 20px !important;
	margin-bottom: 24px !important;
}

/* Container for Variant/Qty row */
#her-product-page .her-variant-qty-row,
#her-product-page .woocommerce-variation-add-to-cart {
	display: grid !important;
	grid-template-columns: 1fr 120px !important;
	gap: 15px !important;
	align-items: end !important;
}

#her-product-page .woocommerce-variation-add-to-cart .single_add_to_cart_button {
	grid-column: 1 / -1 !important;
	margin-top: 10px !important;
}

@media (max-width: 480px) {

	#her-product-page .her-variant-qty-row,
	#her-product-page .woocommerce-variation-add-to-cart {
		grid-template-columns: 1fr !important;
	}
}

#her-product-page .her-detail-content {
	font-size: 16px !important;
	line-height: 1.6 !important;
	color: var(--her-text) !important;
}

#her-product-page .her-row-label {
	font-size: 16px !important;
	font-weight: 500 !important;
	color: var(--her-dark) !important;
	margin-bottom: 10px !important;
	display: block !important;
}

#her-product-page form.cart .quantity {
	display: flex !important;
	align-items: center !important;
	border: 1px solid var(--her-border) !important;
	border-radius: 0 !important;
	overflow: hidden !important;
	background: #fff !important;
	height: 50px !important;
	box-sizing: border-box !important;
}

#her-product-page form.cart .quantity .qty {
	width: 40px !important;
	text-align: center !important;
	border: none !important;
	outline: none !important;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 15px !important;
	background: transparent !important;
	-moz-appearance: textfield !important;
	flex: 1 !important;
}

#her-product-page .her-qty-btn {
	width: 35px !important;
	height: 100% !important;
	background: transparent !important;
	border: none !important;
	color: var(--her-dark) !important;
	font-size: 18px !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	transition: opacity 0.2s !important;
}

#her-product-page .her-qty-btn:hover {
	opacity: 0.6 !important;
}

/* Locked / Simple variant styling */
#her-product-page .her-locked-select {
	width: 100% !important;
	padding: 14px 14px !important;
	border: 1px solid var(--her-border) !important;
	background: #fdfdfd !important;
	color: var(--her-muted) !important;
	font-size: 14px !important;
	height: 50px !important;
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
}

/* Add to Cart button */
#her-product-page .single_add_to_cart_button,
#her-product-page form.cart .button {
	width: 100% !important;
	padding: 14px 20px !important;
	background: var(--her-accent) !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	border: none !important;
	border-radius: 3px !important;
	cursor: pointer !important;
	text-align: center !important;
	transition: background 0.2s, color 0.2s !important;
	box-sizing: border-box !important;
}

#her-product-page .single_add_to_cart_button:hover,
#her-product-page form.cart .button:hover {
	background: #7a6449 !important;
	color: #fff !important;
}

/* Buy Now button */
#her-product-page form.cart .her-buy-now-btn.button {
	display: block !important;
	width: 100% !important;
	text-align: center !important;
	padding: 14px 20px !important;
	background: #fff !important;
	color: var(--her-accent) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	border: 1px solid var(--her-accent) !important;
	border-radius: 3px !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	transition: background 0.2s, color 0.2s, border-color 0.2s !important;
	margin-top: 10px !important;
}

#her-product-page form.cart .her-buy-now-btn.button:hover {
	background: var(--her-accent) !important;
	color: #fff !important;
	border-color: var(--her-accent) !important;
}

/* Free shipping note */
#her-product-page .her-free-shipping {
	font-size: 12px !important;
	color: var(--her-muted) !important;
	text-align: center !important;
	margin: 10px 0 0 !important;
}

/* Hide meta (category/tags) */
#her-product-page .product_meta {
	display: none !important;
}

/* ── Accordion Tabs ── */
#her-product-page .her-product-tabs {
	border-top: 1px solid var(--her-border) !important;
	margin-bottom: 0 !important;
}

#her-product-page .her-accordion-tabs {
	width: 100% !important;
}

#her-product-page .her-accordion-item {
	border-bottom: 1px solid var(--her-border) !important;
}

#her-product-page .her-accordion-trigger {
	width: 100% !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	padding: 18px 0 !important;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	color: var(--her-dark) !important;
	cursor: pointer !important;
	text-align: left !important;
}

#her-product-page .her-accordion-trigger .her-accordion-icon {
	font-size: 22px !important;
	font-weight: 300 !important;
	color: var(--her-muted) !important;
	transition: transform 0.2s !important;
	line-height: 1 !important;
	flex-shrink: 0 !important;
}

#her-product-page .her-accordion-trigger[aria-expanded="true"] .her-accordion-icon {
	transform: rotate(45deg) !important;
}

#her-product-page .her-accordion-panel {
	display: none !important;
	padding: 4px 0 20px !important;
	font-size: 14px !important;
	line-height: 1.8 !important;
	color: var(--her-text) !important;
}

#her-product-page .her-accordion-trigger[aria-expanded="true"]+.her-accordion-panel {
	display: block !important;
}

/* Summary Details (Accordions in summary) */
#her-product-page .her-summary-details {
	margin-top: 30px !important;
	border-top: 1px solid var(--her-border) !important;
}

#her-product-page .her-summary-details .her-accordion-item {
	border-bottom: 1px solid var(--her-border) !important;
}

#her-product-page .her-summary-details .her-accordion-trigger {
	padding: 20px 0 !important;
	font-size: 14px !important;
	letter-spacing: 0.05em !important;
}

#her-product-page .her-summary-details .her-accordion-panel {
	padding: 0 0 24px !important;
}

/* ── Benefits Strip ── */
#her-product-page .her-benefits-strip {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	background: #292726 !important;
	color: #fff !important;
	text-align: center !important;
	padding: 48px 24px !important;
	margin: 0 -24px !important;
	gap: 0 !important;
}

@media (max-width: 600px) {
	#her-product-page .her-benefits-strip {
		grid-template-columns: 1fr !important;
	}
}

#her-product-page .her-benefit-item {
	padding: 20px 30px !important;
	border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
}

#her-product-page .her-benefit-item:last-child {
	border-right: none !important;
}

#her-product-page .her-benefit-icon {
	width: 48px !important;
	height: 48px !important;
	margin: 0 auto 14px !important;
}

#her-product-page .her-benefit-icon svg {
	width: 100% !important;
	height: 100% !important;
	stroke: #fff !important;
}

#her-product-page .her-benefit-icon img {
	width: 48px !important;
	height: 48px !important;
	object-fit: contain !important;
	display: block !important;
	margin: 0 auto !important;
}

#her-product-page .her-benefit-title {
	font-family: "Cormorant Garamond", serif !important;
	font-size: 24px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: -.48px !important;
	color: #fff !important;
	margin: 0 0 8px !important;
	line-height: 1.1 !important;
}

#her-product-page .her-benefit-text {
	font-size: 16px !important;
	line-height: 1.5 !important;
	color: rgba(255, 255, 255, 0.9) !important;
	margin: 0 !important;
}


/* ── Related Products ── */
#her-product-page .her-related-products,
#her-product-page .related.products,
#her-product-page .upsells.products {
	margin: 60px 0 !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
}

/* Space out if both Upsell and Related exist */
#her-product-page .her-upsell-products+.her-related-products {
	margin-top: 0 !important;
}

#her-product-page .her-related-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 28px !important;
}

#her-product-page .her-related-header h2 {
	font-family: "Cormorant Garamond", serif !important;
	font-size: 56px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: -1.28px !important;
	margin: 0 !important;
	color: var(--her-dark) !important;
	line-height: 1.1 !important;
}

#her-product-page .her-view-all-btn {
	background: #000 !important;
	color: #fff !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	text-decoration: none !important;
	padding: 10px 24px !important;
	transition: opacity 0.2s !important;
}

#her-product-page .her-view-all-btn:hover {
	opacity: 0.8 !important;
}

#her-product-page .her-related-grid,
#her-product-page .related.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 20px !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	float: none !important;
}

@media (max-width: 900px) {

	#her-product-page .her-related-grid,
	#her-product-page .related.products ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

#her-product-page .her-related-product {
	display: flex !important;
	flex-direction: column !important;
}

#her-product-page .her-related-image {
	display: block !important;
	border: 1px solid #eee !important;
	margin-bottom: 15px !important;
	overflow: hidden !important;
}

#her-product-page .her-related-image img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform 0.3s ease !important;
}

#her-product-page .her-related-product:hover .her-related-image img {
	transform: scale(1.05) !important;
}

#her-product-page .her-related-title {
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	margin: 0 0 6px !important;
}

#her-product-page .her-related-title a {
	color: var(--her-dark) !important;
	text-decoration: none !important;
}

#her-product-page .her-related-excerpt {
	font-size: 13px !important;
	color: var(--her-muted) !important;
	line-height: 1.4 !important;
	margin-bottom: 12px !important;
}

#her-product-page .her-related-price {
	font-family: "Georgia", serif !important;
	font-size: 18px !important;
	color: var(--her-dark) !important;
}

#her-product-page .her-related-price del {
	font-size: 14px !important;
	color: #bbb !important;
	margin-left: 8px !important;
	text-decoration: line-through !important;
}

#her-product-page .her-related-price ins {
	text-decoration: none !important;
}

/* ── Payment Methods ── */
#her-product-page .her-payment-methods {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 60px !important;
	align-items: center !important;
	padding: 48px 0 !important;
	border-top: 1px solid var(--her-border) !important;
}

@media (max-width: 768px) {
	#her-product-page .her-payment-methods {
		grid-template-columns: 1fr !important;
		gap: 30px !important;
	}
}

#her-product-page .her-payment-label {
	font-family: "Public Sans", serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 1.6px !important;
	color: var(--her-muted) !important;
	margin: 0 0 10px !important;
	line-height: 1.1 !important;
}

#her-product-page .her-payment-heading {
	font-family: "Cormorant Garamond", serif !important;
	font-size: 56px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: -1.28px !important;
	line-height: 1.1 !important;
	margin: 0 0 14px !important;
	color: var(--her-dark) !important;
}

#her-product-page .her-payment-desc {
	font-size: 14px !important;
	color: var(--her-text) !important;
	margin: 0 !important;
}

#her-product-page .her-payment-images {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 6px !important;
}

#her-product-page .her-payment-img-placeholder {
	background: var(--her-border) !important;
	aspect-ratio: 1 !important;
	border-radius: 3px !important;
}