/*
Theme Name: Epic Loupes
Template: twentytwentyfive
Version: 1.0.1
Description: Simple block theme for epicloupes.com. Edit pages in the WordPress editor; header, footer and menu under Appearance > Editor.
Text Domain: epic-loupes
*/

/* ---------- layout rhythm ---------- */
.epic-main { padding: 0; margin: 0; }
.wp-site-blocks > * + *, .epic-main > * { margin-block-start: 0; }
.epic-section, .epic-page-hero, .epic-hero, .epic-strip, .epic-cta {
	padding: clamp(3rem, 6vw, 5.5rem) 16px;
	margin: 0 !important;
}
.epic-section.epic-tight { padding-top: 1.5rem; padding-bottom: 2rem; }
.epic-page-hero { padding-bottom: 1.5rem; }
.epic-alt { background: var(--wp--preset--color--accent-5); }
.epic-section > .wp-block-heading { margin-bottom: 0.5rem; }
.epic-intro { color: var(--wp--preset--color--accent-4); font-size: 1.125rem; max-width: 640px; margin-inline: auto; }
.epic-hero .epic-intro { margin-inline: 0; }
.epic-note { color: var(--wp--preset--color--accent-4); font-size: 0.875rem; }
.epic-eyebrow {
	color: var(--wp--preset--color--accent-1); font-weight: 700; font-size: 0.8rem;
	letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 0.5rem;
}
.epic-section .wp-block-columns { margin-top: 2rem; }

/* ---------- header ---------- */
.epic-header {
	position: sticky; top: 0; z-index: 50; background: #fff;
	border-bottom: 1px solid var(--wp--preset--color--accent-6);
	padding: 10px 16px;
}
.admin-bar .epic-header { top: 32px; }
.epic-header-inner { gap: 1.25rem; justify-content: flex-start !important; flex-wrap: nowrap !important; max-width: 1200px; margin-inline: auto !important; }
.epic-header .wp-block-site-logo img { width: 84px; height: auto; }
.epic-nav { margin-left: auto; font-weight: 600; font-size: 0.95rem; }
.epic-nav .wp-block-navigation__container { gap: 1.4rem; }
.epic-nav a:hover { color: var(--wp--preset--color--accent-1); }
.epic-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--accent-6) !important; border-radius: 10px;
	padding: 6px 0; box-shadow: 0 10px 30px rgba(21, 35, 47, 0.10);
}
.epic-nav .wp-block-navigation__submenu-container a { padding: 8px 16px; }
.epic-header .wp-block-button__link { padding: 0.55rem 1.1rem; font-size: 0.9rem; white-space: nowrap; }
@media (max-width: 1080px) { .epic-header .wp-block-buttons { display: none; } }
@media (max-width: 600px) { .admin-bar .epic-header { top: 0; } }

/* ---------- phone menu (opens below 600px) ---------- */
.epic-nav .epic-nav-call { display: none; }
@media (max-width: 599px) {
	.epic-header-inner { gap: 0.5rem; }
	.epic-header-inner > .wp-block-site-logo { margin-right: auto; }
	.epic-nav { order: 10; margin-left: 0.25rem; }
	.epic-nav .wp-block-navigation__responsive-container-open { padding: 8px; }
	.epic-nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
}
.epic-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: #fff; padding: 16px 24px 32px; overflow-y: auto;
}
.epic-nav .is-menu-open .wp-block-navigation__responsive-close { max-width: none; }
.epic-nav .is-menu-open .wp-block-navigation__responsive-container-close { top: 18px; right: 18px; padding: 6px; }
.epic-nav .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }
.epic-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 64px !important; align-items: stretch !important;
}
.epic-nav .is-menu-open .wp-block-navigation__container {
	gap: 0 !important; align-items: stretch !important; width: 100%;
}
.epic-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	width: 100%; border-bottom: 1px solid var(--wp--preset--color--accent-6);
	flex-direction: column; align-items: stretch !important;
}
.epic-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: block; padding: 16px 4px !important; font-size: 1.3rem; font-weight: 700; color: var(--wp--preset--color--contrast);
}
.epic-nav .is-menu-open .wp-block-navigation__submenu-container {
	border: 0 !important; box-shadow: none; padding: 0 0 12px 18px !important; gap: 0 !important;
	align-items: flex-start !important; width: 100%; text-align: left;
}
.epic-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }
.epic-nav .is-menu-open a:focus { outline: none; }
.epic-nav .is-menu-open a:focus-visible {
	outline: none; background: var(--wp--preset--color--accent-2); border-radius: 10px;
}
.epic-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 8px 4px !important; font-size: 1.05rem; font-weight: 500; color: var(--wp--preset--color--accent-4);
}
.epic-nav .is-menu-open .wp-block-navigation-submenu__toggle { display: none; }
.epic-nav .is-menu-open .wp-block-navigation__container > .epic-nav-call {
	display: block; border-bottom: 0; margin-top: 28px;
}
.epic-nav .is-menu-open .epic-nav-call > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--accent-1); color: #fff !important; border-radius: 999px;
	text-align: center; font-size: 1.1rem !important; padding: 14px 20px !important;
}

/* ---------- home hero ---------- */
.epic-hero { padding-top: clamp(2rem, 5vw, 4.5rem); }
.epic-hero h1 { margin-top: 0.25rem; }
.epic-hero-img img { border-radius: 18px; width: 100%; height: auto; }

/* Rotating hero photos. The script adds .is-ready on the live site only, so in the
   editor the photos simply show one under another and are easy to change. */
.epic-rotator > figure { margin: 0 0 1rem; }
.epic-rotator img { border-radius: 18px; width: 100%; height: auto; display: block; }
.epic-rotator.is-ready { position: relative; aspect-ratio: 3 / 2; border-radius: 18px; overflow: hidden; }
.epic-rotator.is-ready > figure {
	position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1.2s ease;
}
.epic-rotator.is-ready > figure.is-active { opacity: 1; }
.epic-rotator.is-ready img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.epic-rotator-dots { position: absolute; left: 0; right: 0; bottom: 12px; display: flex; justify-content: center; gap: 8px; z-index: 2; }
.epic-rotator-dots button {
	width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; cursor: pointer;
	background: rgba(255, 255, 255, 0.6); box-shadow: 0 0 0 1px rgba(21, 35, 47, 0.25);
}
.epic-rotator-dots button[aria-current="true"] { background: var(--wp--preset--color--accent-1); }
.epic-strip { background: var(--wp--preset--color--accent-3); color: #fff; padding-top: 2.25rem; padding-bottom: 2.25rem; }
.epic-strip h3 { color: #fff; margin-bottom: 0.35rem; }
.epic-strip p { color: rgba(255, 255, 255, 0.85); margin: 0; font-size: 1rem; line-height: 1.55; }

/* ---------- cards and grids ---------- */
.epic-card {
	background: #fff; border: 1px solid var(--wp--preset--color--accent-6); border-radius: 14px;
	padding: 1.5rem; height: 100%; box-sizing: border-box;
	display: flex; flex-direction: column;
}
.epic-card > * { margin-block: 0 0.75rem; }
.epic-card > .wp-block-buttons { margin-top: auto; padding-top: 0.5rem; }
.epic-card .wp-block-image img { border-radius: 10px; width: 100%; height: auto; }
.epic-card ul { padding-left: 1.1rem; font-size: 0.95rem; }
.epic-card h3 + p { color: var(--wp--preset--color--accent-4); }
.epic-photo-card { padding: 0.75rem 0.75rem 0.25rem; }
.epic-photo-card .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; }
.epic-grid { gap: 1.5rem; }
.epic-grid > .wp-block-column:empty { visibility: hidden; }
@media (max-width: 781px) { .epic-grid > .wp-block-column:empty { display: none; } }
.epic-icon img, .epic-card .epic-icon img {
	width: 84px; height: 84px; object-fit: contain; box-sizing: border-box; padding: 18px;
	background: var(--wp--preset--color--accent-1); border-radius: 50%; display: block;
}
.epic-card .epic-icon { margin-bottom: 0.5rem; }
.epic-card .has-text-align-center + .has-text-align-center { margin-top: -0.5rem; }
.epic-card:has(.has-text-align-center) .epic-icon img { margin-inline: auto; }
.epic-card .epic-icon img { border-radius: 50%; }
.epic-price { font-size: 1.1rem; }
.epic-price s { color: var(--wp--preset--color--accent-4); margin-right: 0.25rem; }
.epic-badge img { max-width: 120px; height: auto; margin-inline: auto; display: block; }

/* ---------- lists ---------- */
.epic-checklist { list-style: none; padding: 0; columns: 1; }
.epic-checklist li { position: relative; padding-left: 1.9rem; margin: 0.5rem 0; font-weight: 600; }
.epic-checklist li::before {
	content: ""; position: absolute; left: 0; top: 0.3em; width: 1.15rem; height: 1.15rem; border-radius: 50%;
	background: var(--wp--preset--color--accent-1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 75% no-repeat;
}

/* ---------- brand logos ---------- */
.epic-brands { align-items: center; }
.epic-brands img { max-height: 80px; width: auto; margin-inline: auto; display: block; mix-blend-mode: multiply; }
@media (max-width: 781px) { .epic-brands { display: grid !important; grid-template-columns: 1fr 1fr; gap: 1.5rem; } }

/* ---------- reviews ---------- */
.epic-review {
	background: #fff; border: 1px solid var(--wp--preset--color--accent-6); border-left: 4px solid var(--wp--preset--color--accent-1);
	border-radius: 14px; padding: 1.5rem 1.75rem; margin: 0; height: 100%; box-sizing: border-box;
}
.epic-review p { font-size: 1.05rem; font-style: normal; }
.epic-review cite { font-style: normal; font-weight: 700; color: var(--wp--preset--color--accent-3); font-size: 0.95rem; }
.epic-section > .epic-review { max-width: 820px; margin-inline: auto; }
.epic-section > .epic-review p { font-size: 1.25rem; }

/* ---------- FAQ ---------- */
.epic-faq .wp-block-details {
	border: 1px solid var(--wp--preset--color--accent-6); border-radius: 12px; padding: 0; margin: 0 0 0.75rem;
	background: #fff;
}
.epic-faq summary { cursor: pointer; font-weight: 700; padding: 1rem 1.25rem; list-style-position: inside; }
.epic-faq summary:hover { color: var(--wp--preset--color--accent-1); }
.epic-faq details > p { padding: 0 1.25rem 1rem; margin: 0; color: var(--wp--preset--color--accent-4); }

/* ---------- call-to-action band ---------- */
.epic-cta { background: var(--wp--preset--color--accent-2); text-align: center; }
.epic-cta .is-style-outline .wp-block-button__link { background: transparent; }

.is-style-outline > .wp-block-button__link {
	border: 2px solid var(--wp--preset--color--accent-1); color: var(--wp--preset--color--accent-3); background: transparent;
}
.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--accent-1); color: #fff; }

/* ---------- contact ---------- */
.epic-section .wp-block-column > .epic-card + .epic-card { margin-top: 1rem; height: auto; }
.epic-section .wp-block-column > .epic-card:first-child:not(:only-child) { height: auto; }
.epic-form input[type=text], .epic-form input[type=email], .epic-form textarea {
	width: 100%; box-sizing: border-box; border: 1px solid var(--wp--preset--color--accent-6); border-radius: 10px;
	padding: 0.75rem 0.9rem; font: inherit; background: var(--wp--preset--color--accent-5);
}
.epic-form textarea { min-height: 150px; }
.epic-form input[type=submit] {
	background: var(--wp--preset--color--accent-1); color: #fff; border: 0; border-radius: 999px;
	padding: 0.75rem 1.75rem; font-weight: 700; cursor: pointer; font-size: 1rem;
}
.epic-form input[type=submit]:hover { background: var(--wp--preset--color--accent-3); }
.epic-map { width: 100%; height: 380px; border: 0; border-radius: 14px; display: block; }

/* ---------- footer ---------- */
.epic-footer > .wp-block-columns, .epic-footer > .epic-partners { max-width: 1200px; margin-inline: auto !important; }
.epic-footer { background: #10202c; color: rgba(255, 255, 255, 0.78); padding: 3.5rem 16px 2rem; font-size: 0.95rem; }
.epic-footer h3 { color: #fff; font-size: 0.85rem; letter-spacing: 0.1em; text-transform: uppercase; }
.epic-footer a { color: #fff; text-decoration: none; }
.epic-footer a:hover { color: #7fd0f2; text-decoration: underline; }
.epic-footer-brand { color: #fff; font-size: 1.25rem; }
.epic-footer-links { list-style: none; padding: 0; }
.epic-footer-links li { margin: 0.4rem 0; }
.epic-social { margin-top: 1rem; }
.epic-social .wp-social-link { color: #fff; }
.epic-partners {
	margin-top: 2.5rem !important; padding-top: 1.5rem; border-top: 1px solid rgba(255, 255, 255, 0.12);
	gap: 1rem; align-items: center; flex-wrap: wrap;
}
.epic-partner-label { margin: 0; }
.epic-partner { margin: 0; }
.epic-partner img { height: 44px; width: auto; background: #fff; padding: 6px 12px; border-radius: 8px; display: block; }
.epic-footer > .epic-copyright { max-width: 1200px !important; margin: 1.5rem auto 0 !important; font-size: 0.85rem; color: rgba(255, 255, 255, 0.55); }

/* ---------- WooCommerce pages ---------- */
.woocommerce .epic-main, .woocommerce-page .epic-main { padding: 2rem 16px 4rem; }

/* ---------- Build Your Loupes (composite builder) ---------- */
.epic-builder .epic-product { padding: clamp(2rem, 5vw, 3.5rem) 16px 4rem; }
.epic-builder div.product .summary,
.epic-builder .epic-builder-info { width: 100% !important; float: none !important; max-width: 1000px; margin-inline: auto; }
.epic-builder .product_title { text-align: center; margin: 0.25rem 0 0.5rem; }
.epic-builder .summary > .epic-eyebrow { text-align: center; }
.epic-builder-intro { text-align: center; color: var(--wp--preset--color--accent-4); font-size: 1.1rem; max-width: 620px; margin: 0 auto 1.5rem; }

/* step progress */
.epic-builder .composite_pagination { display: block !important; margin: 0 0 2.5rem; }
.epic-builder .pagination_elements { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; padding: 0; }
.epic-builder .pagination_element {
	float: none !important; margin: 0 !important; display: flex; align-items: center; gap: 8px;
	background: #fff !important; border: 1px solid var(--wp--preset--color--accent-6); border-radius: 999px;
	padding: 6px 14px 6px 6px; width: auto !important;
}
.epic-builder .pagination_element::before, .epic-builder .pagination_element::after,
.epic-builder .pagination_element *::before, .epic-builder .pagination_element *::after { display: none !important; }
.epic-builder .pagination_element .element_index {
	display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%;
	background: var(--wp--preset--color--accent-6); color: var(--wp--preset--color--contrast); font-weight: 700; font-size: 0.85rem;
}
.epic-builder .pagination_element .element_title { background: none !important; padding: 0 !important; }
.epic-builder .pagination_element .element_link {
	text-decoration: none; font-weight: 600; font-size: 0.95rem; color: var(--wp--preset--color--contrast); background: none !important; padding: 0 !important;
}
.epic-builder .pagination_element .element_link.inactive { color: var(--wp--preset--color--accent-4); pointer-events: none; }
.epic-builder .pagination_element_current { border-color: var(--wp--preset--color--accent-1); background: var(--wp--preset--color--accent-2) !important; }
.epic-builder .pagination_element_current .element_index { background: var(--wp--preset--color--accent-1); color: #fff; }
@media (max-width: 600px) {
	.epic-builder .pagination_element:not(.pagination_element_current) { padding: 4px; }
	.epic-builder .pagination_element:not(.pagination_element_current) .element_title { display: none; }
}

/* each step */
.epic-builder .composite_component { margin: 0; }
.epic-builder .component_title { font-size: clamp(1.4rem, 1vw + 1.1rem, 1.8rem); margin: 0 0 0.5rem; }
.epic-builder .component_title .step_index { color: var(--wp--preset--color--accent-1); }
.epic-builder .component_description_wrapper { color: var(--wp--preset--color--accent-4); }
.epic-builder .component_message, .epic-builder .component_message .msg {
	border: 0 !important; background: none !important; padding: 0 !important; margin: 0 0 1rem !important;
	color: var(--wp--preset--color--accent-4); font-size: 0.95rem; box-shadow: none !important;
}
.epic-builder .component_message .msg::before { display: none !important; }
.epic-builder .component_message li { list-style: none; padding: 0 !important; }
.epic-builder .component_section_title { display: none; }

/* option cards */
.epic-builder .component_option_thumbnails_container {
	display: grid !important; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 16px; margin: 0 !important; padding: 0 !important;
}
.epic-builder .component_option_thumbnails_container::before, .epic-builder .component_option_thumbnails_container::after { display: none !important; }
.epic-builder .component_option_thumbnail_container { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; list-style: none; clear: none !important; }
.epic-builder .component_option_thumbnail {
	position: relative; display: flex; flex-direction: column; height: 100%; box-sizing: border-box; text-align: center;
	background: #fff; border: 1px solid var(--wp--preset--color--accent-6); border-radius: 14px; padding: 14px;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.epic-builder .component_option_thumbnail:hover { border-color: var(--wp--preset--color--accent-1); box-shadow: 0 8px 24px rgba(21, 35, 47, 0.08); }
.epic-builder .component_option_thumbnail.selected {
	border: 2px solid var(--wp--preset--color--accent-1); background: var(--wp--preset--color--accent-2); padding: 13px;
}
.epic-builder .component_option_thumbnail.selected::after {
	content: "✓"; position: absolute; top: 10px; right: 10px; width: 26px; height: 26px; border-radius: 50%;
	display: grid; place-items: center; background: var(--wp--preset--color--accent-1); color: #fff; font-weight: 700; font-size: 0.9rem;
}
.epic-builder .thumbnail_image { margin: 0 0 10px !important; }
.epic-builder .thumbnail_image img { width: 100%; height: 150px; object-fit: contain; border-radius: 8px; background: #fff; }
.epic-builder .thumbnail_title { font-size: 1rem !important; font-weight: 700; margin: 0 0 4px !important; letter-spacing: 0; }
.epic-builder .thumbnail_price { display: block; font-size: 0.95rem; margin-bottom: 12px; }
.epic-builder .thumbnail_price del { color: var(--wp--preset--color--accent-4); margin-right: 4px; }
.epic-builder .thumbnail_price ins { text-decoration: none; font-weight: 700; }
.epic-builder .thumbnail_buttons { margin-top: auto; }
.epic-builder .component_option_thumbnail_select {
	width: 100%; border: 0; border-radius: 999px; padding: 0.6rem 1rem; cursor: pointer; font: inherit; font-weight: 700;
	background: var(--wp--preset--color--accent-1); color: #fff;
}
.epic-builder .component_option_thumbnail_select:hover { background: var(--wp--preset--color--accent-3); }
.epic-builder .selected .component_option_thumbnail_select { background: var(--wp--preset--color--accent-3); }
.epic-builder .component_pagination { margin: 1rem 0; }

/* next / back */
.epic-builder .composite_navigation.top, .epic-builder .composite_navigation.movable { display: none !important; }
.epic-builder .composite_navigation.bottom { margin: 2rem 0 0; padding-top: 1.5rem; border-top: 1px solid var(--wp--preset--color--accent-6); }
.epic-builder .composite_navigation_inner { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.epic-builder .composite_navigation .page_button {
	float: none !important; display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 0.7rem 1.4rem;
	font-weight: 700; text-decoration: none; font-size: 1rem; background: none;
}
.epic-builder .composite_navigation .page_button::before, .epic-builder .composite_navigation .page_button::after { display: none !important; }
.epic-builder .composite_navigation .page_button.prev { border: 2px solid var(--wp--preset--color--accent-6); color: var(--wp--preset--color--contrast); }
.epic-builder .composite_navigation .page_button.prev:not(.invisible)::before { content: "←"; display: inline !important; position: static; background: none; }
.epic-builder .composite_navigation .page_button.next { margin-left: auto; background: var(--wp--preset--color--accent-1); color: #fff; }
.epic-builder .composite_navigation .page_button.next::after { content: "→"; display: inline !important; position: static; background: none; }
.epic-builder .composite_navigation .page_button.next.inactive { opacity: 0.4; pointer-events: none; }
.epic-builder .composite_navigation .page_button.invisible { visibility: hidden; }

/* review step */
.epic-builder .composite_summary .summary_elements { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; padding: 0; margin: 0 0 1.5rem; }
.epic-builder .composite_summary .summary_element { width: auto !important; float: none !important; margin: 0 !important; list-style: none; }
.epic-builder .summary_element_wrapper { border: 1px solid var(--wp--preset--color--accent-6); border-radius: 12px; padding: 12px; background: #fff; height: 100%; box-sizing: border-box; }
.epic-builder .composite_wrap { text-align: center; padding: 1.5rem; border-radius: 14px; background: var(--wp--preset--color--accent-5); }
.epic-builder .composite_price { font-size: 1.6rem; font-weight: 700; margin-bottom: 0.75rem; }
.epic-builder .composite_price del { font-size: 1rem; color: var(--wp--preset--color--accent-4); font-weight: 400; }
.epic-builder .composite_price ins { text-decoration: none; }
.epic-builder .composite_button { display: flex; justify-content: center; gap: 12px; align-items: center; flex-wrap: wrap; }
.epic-builder .composite_button .quantity input { width: 70px; padding: 0.6rem; border: 1px solid var(--wp--preset--color--accent-6); border-radius: 10px; text-align: center; font: inherit; }
.epic-builder .composite_add_to_cart_button {
	border: 0; border-radius: 999px !important; padding: 0.85rem 2rem !important; font-size: 1.05rem !important; font-weight: 700;
	background: var(--wp--preset--color--accent-1) !important; color: #fff !important; cursor: pointer;
}
.epic-builder .composite_add_to_cart_button:hover { background: var(--wp--preset--color--accent-3) !important; }

/* "Before you order" videos */
.epic-builder-info { margin-top: 4rem !important; padding-top: 3rem; border-top: 1px solid var(--wp--preset--color--accent-6); }
.epic-builder-info > h2 { text-align: center; margin-bottom: 0.25rem; }
.epic-builder-info > p { text-align: center; color: var(--wp--preset--color--accent-4); }
.epic-videos { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 2rem; }
.epic-video { background: #fff; border: 1px solid var(--wp--preset--color--accent-6); border-radius: 14px; padding: 14px 14px 4px; }
.epic-video iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; border-radius: 10px; display: block; }
.epic-video h3 { margin: 14px 4px 4px; font-size: 1.1rem; }
.epic-video p { margin: 0 4px 10px; color: var(--wp--preset--color--accent-4); font-size: 0.95rem; }
@media (max-width: 700px) { .epic-videos { grid-template-columns: 1fr; } }
.epic-builder .pagination_element .element_index {
	display: inline-flex !important; align-items: center; justify-content: center; line-height: 1 !important;
	padding: 0 !important; margin: 0 !important; position: static !important; float: none !important; text-indent: 0 !important; flex: none;
}
.epic-builder .component_message .woocommerce-info, .epic-builder .component_message ul.msg {
	border: 0 !important; background: none !important; padding: 0 !important; margin: 0 !important; color: var(--wp--preset--color--accent-4) !important;
}
.epic-builder .component_message .woocommerce-info::before { display: none !important; content: none !important; }
.epic-builder .component_title { border-bottom: 0 !important; padding-bottom: 0 !important; }
.epic-builder .thumbnail_image img { width: 100% !important; max-width: 100% !important; margin-inline: auto; display: block; }
.epic-builder .component_message ul, .epic-builder .component_message li { padding-left: 0 !important; margin-left: 0 !important; }
.epic-builder .thumbnail_image { width: 100% !important; float: none !important; }
.epic-builder .summary_element_wrapper { text-align: center; }
.epic-builder .summary_element_wrapper img { width: 100% !important; height: 110px !important; object-fit: contain; margin-inline: auto; }
.epic-builder .summary_element_wrapper .summary_element_title, .epic-builder .summary_element_wrapper h4 { font-size: 0.95rem; }
.epic-builder .summary_element_wrapper a { display: inline-block; margin-top: 4px; }
@media (max-width: 600px) { .epic-builder .composite_summary .summary_elements { grid-template-columns: 1fr 1fr; gap: 10px; } }
.epic-builder .summary_element_wrapper .summary_element_image, .epic-builder .summary_element_wrapper .image,
.epic-builder .summary_element_wrapper .summary_element_content { width: 100% !important; float: none !important; margin: 0 0 8px !important; padding: 0 !important; text-align: center; }

/* WooCommerce "Sale!" badge in the site's blue */
.woocommerce span.onsale, .wc-block-components-product-sale-badge {
	background: var(--wp--preset--color--accent-1) !important; color: #fff !important; border: 0 !important;
	border-radius: 999px !important; min-height: 0 !important; min-width: 0 !important; line-height: 1 !important;
	padding: 0.45rem 0.8rem !important; font-size: 0.85rem !important; font-weight: 700;
}
