/*
 * Lipumastipood – site styles, 2026 design (Creativo 7 child theme).
 *
 * Written against the Creativo 7 markup. Colours, fonts, sizes and widths that
 * Creativo 7 exposes as Theme Options are set there (migration/live-db-changes.sh
 * and migration/redesign-2026.php); this file only holds what the theme has no
 * option for. Design canvas: 2000 px wide, 1300 px content column.
 */

:root {
	--lipu-navy: #0e243d;
	--lipu-cyan: #1ec0eb;
	--lipu-text: #424242;
	--lipu-muted: #5e5e5e;
	--lipu-light: #ebf4ff;
	--lipu-topbar: #e3ecf3;
	--lipu-footer: #e3e9eb;
	--lipu-border: #d4d4d4;
	--lipu-card-border: #cbcbcb;
	--lipu-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
}

/* ------------------------------------------------------------------ */
/* Top bar: contact text left; top menu + product search right        */
/* ------------------------------------------------------------------ */
.top-bar > .container {
	min-height: 42px;
}
@media (min-width: 1024px) {
	.top-bar > .container {
		height: 42px;
	}
}
.top-bar-left-area,
.top-bar-left-area .top_contact {
	flex: 0 0 auto;
	width: auto;
}
.top_contact.contact_info {
	white-space: normal;
	line-height: 42px;
	font-family: 'Roboto', sans-serif;
	font-size: 13px;
	color: #000000;
}
.top_contact.contact_info a {
	display: inline;
	color: var(--lipu-cyan);
}
.top_contact > span {
	white-space: nowrap;
}
@media (max-width: 599px) {
	.top_contact > span {
		white-space: normal;
	}
	.top_contact.contact_info {
		padding: 8px 15px;
		line-height: 20px;
	}
}
.top_contact .fb_icon {
	display: inline-flex;
	margin-left: 21px;
}
.top_contact .fb_icon img {
	display: block;
}
.top-bar-right-area {
	gap: 40px;
}
#top-menu li a {
	text-transform: uppercase;
	font-weight: 400;
	padding: 0 11px;
}
#top-menu li:last-child a {
	padding-right: 0;
}
.lipu-top-search .woocommerce-product-search {
	position: relative;
	width: 174px;
}
.lipu-top-search .woocommerce-product-search::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 14px;
	width: 12px;
	height: 12px;
	background: url(../images/icons/search.svg) no-repeat center / contain;
	pointer-events: none;
}
.lipu-top-search input[type="search"] {
	width: 100%;
	height: 32px;
	padding: 0 14px 0 36px;
	border: 0;
	border-radius: 25px;
	background-color: #ffffff;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 12px;
	line-height: 32px;
	box-shadow: none;
}
.lipu-top-search input[type="search"]::placeholder {
	color: #637384;
	opacity: 1;
}
@media (max-width: 1023px) {
	.top-bar-right-area {
		flex-wrap: wrap;
		gap: 10px;
		justify-content: center;
	}
	.lipu-top-search {
		margin-bottom: 10px;
	}
}

/* ------------------------------------------------------------------ */
/* Header row (style1): logo, main menu, cart                          */
/* ------------------------------------------------------------------ */
#branding .logo img {
	width: 156px;
	height: auto;
	max-height: none;
}
@media (min-width: 1024px) {
	.header_reduced .header_right_side {
		flex: 1 1 auto;
		justify-content: space-between;
		align-items: center;
		margin-left: 48px;
	}
	.header_reduced #navigation > ul {
		justify-content: flex-start;
	}
}
/* Design: menu + cart sit ~10px below the logo's centre line, not centred on it. */
@media (min-width: 1160px) {
	.header_reduced .header_right_side {
		position: relative;
		top: 10px;
	}
}
#navigation ul li a {
	text-transform: uppercase;
}
#navigation > ul > li:first-child > a {
	padding-left: 0;
}
#navigation .sf-sub-indicator i {
	font-size: 11px;
}
/* Creativo 7 hides the icon area when no theme icons are enabled. */
.header_reduced .additional_icons {
	display: block;
}
.header_reduced .additional_icons ul {
	height: auto;
	line-height: normal;
}
.lipu-header-cart {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 13px;
	color: var(--lipu-navy);
	font-family: 'Oswald', sans-serif;
	font-size: 15px;
	text-transform: uppercase;
	white-space: nowrap;
}
.lipu-header-cart:hover {
	color: var(--lipu-cyan);
}
.lipu-header-cart img {
	display: block;
	width: 22px;
	height: 20px;
}
.lipu-header-cart__count {
	position: absolute;
	top: -8px;
	left: 14px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 9px;
	background-color: var(--lipu-cyan);
	color: #ffffff;
	font-family: 'Roboto', sans-serif;
	font-size: 11px;
	font-weight: 700;
	line-height: 17px;
	text-align: center;
}

/* ------------------------------------------------------------------ */
/* Mobile header (below 1160px = Creativo's switch to the "Modern"     */
/* mobile menu): contact line, logo + cart + hamburger, slide menu      */
/* with the product search and the top menu links (inc/header.php).     */
/* ------------------------------------------------------------------ */
@media (max-width: 1159px) {
	.top-bar-right-area {
		display: none !important;
	}
	.top-bar > .container {
		min-height: 0;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	.top-bar-left-area,
	.top-bar-left-area .top_contact {
		width: 100%;
		margin: 0 !important;
	}
	.top_contact.contact_info {
		display: flex;
		justify-content: center;
		padding: 7px 15px;
		line-height: 20px;
	}
	.top_contact .fb_icon {
		display: none;
	}
	#branding .logo img {
		width: 128px;
	}
	#branding .logo {
		padding-top: 0;
		padding-bottom: 0;
	}
	.header_reduced .container {
		padding-top: 12px !important;
		padding-bottom: 12px !important;
	}
	.modern_mobile_navigation .responsive-menu-bar {
		gap: 4px;
		color: var(--lipu-navy);
	}
	.modern_mobile_navigation .mobile_shopping_cart {
		margin-right: 18px;
		color: var(--lipu-navy);
	}
	.modern_mobile_navigation .mobile_shopping_cart i {
		font-size: 22px;
	}
	.modern_mobile_navigation .woo_cart_mobile_count {
		top: 2px;
		left: 14px;
		min-width: 17px;
		height: 17px;
		margin: -8px 0 0 !important;
		padding: 0 4px;
		border-radius: 9px;
		background-color: var(--lipu-cyan) !important;
		font-family: 'Roboto', sans-serif;
		font-size: 11px;
		font-weight: 700;
		line-height: 17px;
	}
	.modern_mobile_navigation .hamburger_mobile_menu {
		font-size: 24px;
		cursor: pointer;
	}
}
@media (max-width: 599px) {
	/* Phone: just the number and the e-mail address. */
	.top_contact .lipu-tb-text {
		display: none;
	}
	.top_contact a[href^="mailto:"] {
		margin-left: 16px;
	}
	.top_contact.contact_info {
		font-size: 13px;
	}
}

/* Slide menu content. */
#responsive_menu li.lipu-mobile-search {
	display: block !important;
	padding: 0 0 18px;
	border: 0;
}
#responsive_menu .lipu-mobile-search .woocommerce-product-search {
	position: relative;
	display: flex;
}
#responsive_menu .lipu-mobile-search input[type="search"] {
	flex: 1;
	height: 42px;
	padding: 0 14px 0 38px;
	border: 1px solid #cbcbcb;
	border-radius: 25px;
	background: #ffffff url(../images/icons/search.svg) no-repeat 15px center / 13px 13px;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
}
#responsive_menu .lipu-mobile-search button,
#responsive_menu .lipu-mobile-search input[type="submit"] {
	display: none;
}
.mobile_menu_slide #responsive_menu > li > a {
	color: var(--lipu-navy);
	font-family: 'Oswald', sans-serif !important;
	font-size: 16px !important;
	font-weight: 400;
	text-transform: uppercase;
}
.mobile_menu_slide #responsive_menu > li.lipu-mobile-secondary > a {
	font-family: 'Roboto', sans-serif !important;
	font-size: 14px !important;
	text-transform: none;
	color: var(--lipu-text);
}
#responsive_menu > li:not(.lipu-mobile-secondary) + li.lipu-mobile-secondary {
	margin-top: 14px;
	border-top: 2px solid var(--lipu-navy);
}

/* Home hero on small screens (row: Design Options class vc_custom_lipu_hero). */
@media (max-width: 767px) {
	.vc_row.vc_custom_lipu_hero {
		min-height: 440px !important;
		padding-top: 40px !important;
		padding-bottom: 40px !important;
		background-position: 18% center !important;
	}
	.vc_custom_lipu_hero h1.vc_custom_heading {
		margin-bottom: 14px !important;
		font-size: 32px !important;
		line-height: 40px !important;
	}
	.vc_custom_lipu_hero p.vc_custom_heading {
		margin-bottom: 24px !important;
		font-size: 14px !important;
		line-height: 20px !important;
	}
	.vc_custom_lipu_hero .lipu-btn-oswald {
		text-align: center;
	}
	.vc_custom_lipu_hero .lipu-btn-oswald .button {
		display: block;
		width: 100%;
		max-width: 300px;
		margin: 0 auto 12px;
		font-size: 16px !important;
		text-align: center;
	}
	.vc_custom_lipu_hero .vc_column_container .vc_column-inner {
		padding-left: 15px;
		padding-right: 15px;
	}
	.vc_custom_lipu_hero .vc_inner .vc_column-inner {
		padding-top: 0;
	}
	.vc_custom_lipu_hero .vc_inner .wpb_wrapper > div {
		margin-bottom: 0;
	}
}

/* ------------------------------------------------------------------ */
/* Page title banner + white content box overlapping it               */
/* ------------------------------------------------------------------ */
.page-title-breadcrumb {
	background-position: center;
	background-repeat: no-repeat;
	border-bottom: 0;
}
.page-title-breadcrumb .pt_mask {
	align-items: flex-start;
}
.page-title-breadcrumb .page-title-breadcrumb-wrap {
	justify-content: center;
	padding-top: 93px;
}
.page-title-breadcrumb .page-title {
	text-align: center;
}
.page-title-breadcrumb .page-title-holder {
	font-family: 'Oswald', sans-serif;
	line-height: 1.2;
	margin-bottom: 0;
}
.page-title-breadcrumb .breadcrumb {
	display: none;
}

.container.lipu-subpage {
	position: relative;
	z-index: 1;
	margin-top: -147px;
	margin-bottom: 70px;
	min-height: 200px;
	padding: 30px;
	background-color: #ffffff;
	box-shadow: var(--lipu-shadow);
}
/* Design: the box's shadow fades out at the bottom (no bottom edge shadow).
   A white gradient sits over the shadow, behind the box content (z-index −1
   inside the box's stacking context). */
.container.lipu-subpage::after {
	content: '';
	position: absolute;
	z-index: -1;
	right: -17px;
	bottom: -25px;
	left: -17px;
	height: 83px;
	background: linear-gradient(to top, #ffffff 50%, rgba(255, 255, 255, 0));
	pointer-events: none;
}
.lipu-subpage > .post_container {
	padding-top: 0;
}
@media (max-width: 1023px) {
	/* Banner grows with the title; the content box overlaps only below it. */
	.page-title-breadcrumb,
	.page-title-breadcrumb .pt_mask {
		height: auto !important;
		min-height: 0 !important;
	}
	.page-title-breadcrumb .page-title-breadcrumb-wrap {
		height: auto !important;
		padding: 36px 15px 76px;
	}
	.page-title-breadcrumb .page-title-holder {
		font-size: 28px !important;
		line-height: 36px !important;
	}
	.container.lipu-subpage {
		margin-top: -46px;
		padding: 20px 15px;
	}
}

/* Breadcrumbs (top of the content box). */
#crumbs {
	margin-bottom: 30px;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 13px;
}
#crumbs a {
	color: var(--lipu-text);
}
#crumbs a:hover {
	color: var(--lipu-cyan);
}

/* ------------------------------------------------------------------ */
/* Shop / category listings: sidebar + grid                            */
/* ------------------------------------------------------------------ */
@media (min-width: 1024px) {
	.lipu-subpage .sidebar {
		flex: 0 0 296px;
		order: -1;
		margin-right: 30px;
		padding-right: 23px;
		border-right: 1px solid #e7e7e7;
	}
	.lipu-subpage > .post_container:not(:only-child) {
		flex: 1 1 auto;
		min-width: 0;
	}
}
@media (max-width: 1023px) {
	.lipu-subpage .sidebar {
		margin-top: 40px;
	}
}
.woocommerce .woocommerce-result-count {
	display: none;
}
.lipu-subpage > .post_container {
	position: relative;
}
.woocommerce .woocommerce-ordering {
	position: absolute;
	top: 0;
	right: 0;
	float: none;
	margin: 0;
}
.woocommerce .woocommerce-ordering select {
	padding: 0 22px 0 0;
	border: 0;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='5'%3E%3Cpath d='M1 0l4 4 4-4' fill='none' stroke='%230e243d'/%3E%3C/svg%3E") no-repeat right center;
	color: var(--lipu-text);
	font-family: 'Roboto', sans-serif;
	font-size: 13px;
	height: 20px;
	line-height: 20px;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}
@media (max-width: 767px) {
	.woocommerce .woocommerce-ordering {
		position: static;
		margin: 0 0 20px;
	}
}

/* Sidebar widgets. */
.sidebar-widget {
	margin-bottom: 45px;
}
h3.sidebar-title,
.title-holder h3.sidebar-title {
	margin-bottom: 14px;
	color: var(--lipu-navy);
	font-family: 'Oswald', sans-serif;
	font-size: 25px;
	font-weight: 400;
	line-height: 36px;
	text-transform: none;
}
h3.sidebar-title::before,
h3.sidebar-title::after {
	display: none !important;
}
.sidebar-widget,
.sidebar-widget p {
	color: var(--lipu-text);
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	line-height: 20px;
}
.sidebar-widget p {
	margin-bottom: 20px;
}
.sidebar-widget ul li {
	padding-left: 0;
	margin-bottom: 0;
}
.sidebar-widget ul li::before {
	display: none;
}
.sidebar-widget li a {
	color: var(--lipu-navy);
}
.sidebar-widget li.current_page_item a,
.sidebar-widget li a:hover {
	color: var(--lipu-cyan);
}

/* Menu widgets in page sidebars (e.g. "Teenused" on the service pages). */
.lipu-subpage .sidebar .widget_nav_menu ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.lipu-subpage .sidebar .widget_nav_menu li {
	margin: 0;
	border-bottom: 1px solid #e7e7e7;
}
.lipu-subpage .sidebar .widget_nav_menu li:first-child {
	border-top: 1px solid #e7e7e7;
}
.lipu-subpage .sidebar .widget_nav_menu li a {
	position: relative;
	display: block;
	padding: 12px 24px 12px 0;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	line-height: 20px;
	transition: color 0.15s ease;
}
.lipu-subpage .sidebar .widget_nav_menu li a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 4px;
	width: 7px;
	height: 7px;
	margin-top: -4px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
	opacity: 0.5;
}
.lipu-subpage .sidebar .widget_nav_menu li.current-menu-item > a,
.lipu-subpage .sidebar .widget_nav_menu li a:hover {
	color: var(--lipu-cyan);
}
.lipu-subpage .sidebar .widget_nav_menu li.current-menu-item > a {
	font-weight: 700;
}
.lipu-subpage .sidebar .widget_nav_menu li.current-menu-item > a::after {
	opacity: 1;
}

/* Check list (sidebar transport widget, product short description). */
ul.lipu-checklist,
.woocommerce-product-details__short-description ul,
.summary .description ul {
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}
ul.lipu-checklist li {
	list-style: none;
}
ul.lipu-checklist li,
.summary .description ul li,
.woocommerce-product-details__short-description ul li {
	position: relative;
	padding-left: 21px;
	line-height: 24px;
}
.summary .description ul li,
.woocommerce-product-details__short-description ul li {
	padding-left: 24px;
	line-height: 28px;
}
ul.lipu-checklist li::before,
.summary .description ul li::before,
.woocommerce-product-details__short-description ul li::before {
	content: "";
	display: block !important;
	position: absolute;
	left: 0;
	top: 6px;
	width: 12px;
	height: 12px;
	background: url(../images/icons/check.svg) no-repeat center / contain;
}
.summary .description ul li::before,
.woocommerce-product-details__short-description ul li::before {
	top: 7px;
	width: 14px;
	height: 14px;
}
.sidebar-widget .lipu-note {
	margin-left: 21px;
}
.sidebar-widget .lipu-offers {
	margin-left: 21px;
	line-height: 24px;
}
.lipu-offers__title {
	color: var(--lipu-cyan);
}

/* "Klientide lemmikud" (WooCommerce products widget). */
ul.product_list_widget li {
	padding: 0 0 15px;
	margin-bottom: 15px;
	border-bottom: 1px solid #e7e7e7;
}
ul.product_list_widget li a {
	display: flex;
	align-items: flex-start;
	gap: 9px;
}
ul.product_list_widget li img {
	flex: 0 0 43px;
	width: 43px !important;
	height: 43px;
	margin: 0;
	padding: 0;
	border: 0;
	object-fit: cover;
}
.product_list_widget span.product-title {
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 20px;
}
ul.product_list_widget li del,
ul.product_list_widget li ins,
ul.product_list_widget li .amount {
	display: none;
}

/* ------------------------------------------------------------------ */
/* Product cards (shop, categories, related products, home page)      */
/* ------------------------------------------------------------------ */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px 29px;
	float: none;
	clear: both;
	width: 100%;
	margin: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}
.woocommerce ul.products.columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px 54px;
}
.woocommerce ul.products li.product {
	float: none;
	width: auto !important;
	margin: 0 !important;
	padding: 0;
	clear: none;
}
/* Creativo "Woo Carousel" element: every slide is its own one-product list. */
.woocommerce.woo_carousel ul.products {
	display: block;
}
@media (max-width: 1023px) {
	.woocommerce ul.products,
	.woocommerce ul.products.columns-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
}
@media (max-width: 479px) {
	.woocommerce ul.products,
	.woocommerce ul.products.columns-4 {
		grid-template-columns: minmax(0, 1fr);
	}
}
.image_prod .badge,
.product .badge {
	display: none;
}
.inside_prod {
	height: 100%;
	padding: 25px 25px 20px;
	border: 1px solid var(--lipu-card-border);
	border-radius: 4px;
	background-color: #ffffff;
	transition: box-shadow 0.2s ease;
}
.inside_prod:hover {
	box-shadow: 0 2px 10px rgba(14, 36, 61, 0.12);
}
.image_prod,
.image_prod_wrap {
	position: relative;
	background-color: #ffffff;
}
.image_prod_wrap a {
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}
.image_prod_wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* Cards open the product page; the hover "add to cart" bar is not in the design. */
.inside_prod .product_buttons_wrap,
.inside_prod .cart-loading {
	display: none !important;
}
.product_details {
	padding: 15px 0 0;
	text-align: left;
	background: none;
}
.products .product .product_details h3 {
	margin: 0 0 8px;
	line-height: 1.5;
}
.products .product .product_details h3 a {
	color: #000000;
	font-family: 'Oswald', sans-serif;
	font-size: 20px;
	font-weight: 400;
}
.products .product .product_details h3 a:hover {
	color: var(--lipu-cyan);
}
.product_details .product_price {
	margin: 0;
}
.lipu-card-price,
.lipu-card-price .amount {
	display: block;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 17px;
	font-weight: 700;
	line-height: 20px;
}
.lipu-card-price del,
.lipu-card-price del .amount {
	display: inline;
	color: var(--lipu-muted);
	font-size: 14px;
	font-weight: 400;
}
.lipu-card-price ins,
.lipu-card-price ins .amount {
	display: inline;
	text-decoration: none;
}
.lipu-card-price .amount {
	display: inline;
}
.lipu-card-note {
	margin: 10px 0 0;
	font-weight: 400;
	color: var(--lipu-muted);
	font-family: 'Roboto', sans-serif;
	font-size: 13px;
	line-height: 15px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
}

/* ------------------------------------------------------------------ */
/* Single product                                                     */
/* ------------------------------------------------------------------ */
.single-product .lipu-subpage > .post_container {
	width: 100%;
}
@media (min-width: 1024px) {
	.single-product div.product {
		display: grid;
		grid-template-columns: 578px minmax(0, 1fr);
		column-gap: 60px;
	}
	.single-product div.product > * {
		grid-column: 1 / -1;
	}
	.single-product div.product > .woocommerce-product-gallery {
		grid-column: 1;
		align-self: start;
		width: 100% !important;
		float: none;
		margin: 0;
	}
	.single-product div.product > .summary {
		grid-column: 2;
		width: 100% !important;
		max-width: 604px;
		float: none;
		margin: 0;
	}
}
.single-product div.product > .clearfix {
	display: none;
}

/* Gallery: main image + 3 thumbnails per row. */
.woocommerce-product-gallery .woocommerce-product-gallery__image img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 15px;
	padding: 0;
	overflow: hidden;
}
/* Design: only the first three thumbnails (the rest open in the lightbox). */
.woocommerce div.product div.images .flex-control-thumbs li:nth-child(n+4) {
	display: none !important;
}
.single-product div.product .woocommerce-product-gallery {
	border: 0;
}
.woocommerce div.product div.images .flex-control-thumbs li {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	float: none;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
	width: 100%;
	cursor: pointer;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 3px;
	opacity: 1;
}
.woocommerce div.product div.images .flex-control-thumbs li img:not(.flex-active) {
	opacity: 0.75;
}

/* Summary text. */
.single-product .summary,
.single-product .summary .description,
.single-product .summary .description p {
	color: var(--lipu-text);
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	line-height: 20px;
}
.single-product .summary .description p {
	margin-bottom: 20px;
}
.single-product .summary .description strong,
.single-product .summary .description strong span {
	color: var(--lipu-text) !important; /* old inline colour in product texts */
	font-weight: 700;
}
.single-product .summary .description.mb-5 {
	margin-bottom: 29px;
	padding-top: 0;
	border-top: 0;
}
.single-product .summary .description > :last-child,
.single-product .summary .description ul:last-child li:last-child {
	margin-bottom: 0;
}

/* The add-to-cart form (PPOM options) follows the info box directly. */
.single-product .summary .lipu-infobox + form.cart {
	margin-top: 0;
}

/* Info box: delivery notes + base price. */
.lipu-infobox {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 208px;
	min-height: 133px;
	margin: 0 0 28px;
	border-radius: 10px;
	background-color: var(--lipu-light);
	overflow: hidden;
}
.lipu-infobox--price-only {
	grid-template-columns: 1fr;
}
.single-product .summary .lipu-infobox__list,
.lipu-infobox__list {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 14px;
	margin: 0;
	padding: 20px 20px 19px 30px;
	list-style: none;
}
.lipu-infobox__list li {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	padding: 0;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	line-height: 22px;
}
.lipu-infobox__list li::before {
	display: none;
}
.lipu-infobox__icon {
	display: inline-flex;
	flex: 0 0 22px;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
}
/* Icon sizes from the design: truck 22×18, wrench 18×18, paint roller 16×20. */
.lipu-infobox__icon img {
	display: block;
	width: auto;
	max-width: 22px;
	height: 18px;
}
.lipu-infobox__icon img[src*="paint-roller"] {
	height: 20px;
}
.lipu-infobox__price {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 18px 10px;
	border-left: 2px solid #ffffff;
	text-align: center;
}
.lipu-infobox__label {
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 20px;
	line-height: 24px;
}
.single-product .summary .lipu-infobox__price .price,
.single-product .lipu-infobox__price .price .amount {
	margin: 0 !important;
	color: var(--lipu-cyan);
	font-family: 'Roboto', sans-serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 31px;
}
.single-product .lipu-infobox__price .price del,
.single-product .lipu-infobox__price .price del .amount {
	color: var(--lipu-muted);
	font-size: 16px;
	font-weight: 400;
}
.single-product .lipu-infobox__price .price ins {
	text-decoration: none;
}
.lipu-infobox__price .esto-calculator,
.lipu-infobox__price .esto-calculator * {
	margin: 5px 0 0;
	padding: 0;
	color: #4f5b69 !important;
	font-family: 'Roboto', sans-serif;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 13px;
}
.lipu-infobox__price .esto-calculator * {
	margin: 0;
}
.lipu-infobox__price .esto-calculator__logo {
	display: none;
}
@media (max-width: 599px) {
	.lipu-infobox {
		grid-template-columns: 1fr;
	}
	.lipu-infobox__price {
		border-left: 0;
		border-top: 2px solid #ffffff;
	}
}

/* ------------------------------------------------------------------ */
/* Upsell options (PPOM) as image cards                                */
/* ------------------------------------------------------------------ */
.single-product .ppom-wrapper .form-row {
	display: block;
	margin: 0 !important;
}
.single-product .ppom-wrapper .form-group {
	margin-left: 0;
	margin-right: 0;
	padding: 0;
}
.single-product .ppom-wrapper .ppom-field-wrapper.ppom-col {
	flex: none;
	width: 100%;
	max-width: 100%;
	padding: 0 !important;
	margin: 0 0 36px;
}
.single-product .summary h3.lipu-upsell-heading {
	margin: 0;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 18px;
	letter-spacing: 0;
	text-transform: none;
}
.lipu-opts-title,
.single-product .ppom-wrapper .form-control-label {
	display: block;
	margin: 0;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 18px;
}
.single-product .summary .lipu-opts-desc,
.single-product .ppom-wrapper .show_description {
	display: block;
	margin: 5px 0 20px;
	padding: 0;
	color: #858b92;
	font-family: 'Roboto', sans-serif;
	font-size: 13px;
	line-height: 15px;
}
/* Field with its own title (the first one uses the heading above). */
.single-product .summary .lipu-opts-title + .lipu-opts-desc {
	margin-top: 5px;
}
.lipu-opts-title + .lipu-opts {
	margin-top: 20px;
}
.lipu-opts {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 13px 22px;
}
.lipu-opts--collapsed {
	max-height: calc(75px * 3 + 13px * 2);
	overflow: hidden;
}
.lipu-opts--collapsed::after {
	content: "";
	position: absolute;
	top: calc(75px * 2 + 13px * 2 - 8px);
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #ffffff 48px);
	pointer-events: none;
}
.ppom-wrapper .lipu-opt .lipu-opt__card {
	position: relative;
	display: flex !important;
	align-items: flex-start;
	gap: 15px;
	min-height: 75px;
	height: 100%;
	margin: 0;
	padding: 9px 12px 2px 9px !important;
	border: 1px solid #d4d4d4;
	border-radius: 3px;
	background-color: #ffffff;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
.ppom-wrapper .lipu-opt .lipu-opt__card:hover {
	border-color: #a9b3bf;
}
/* Selected option (design: light blue with navy border). */
.ppom-wrapper .lipu-opt .lipu-opt__card:has(input:checked),
.ppom-wrapper .lipu-opt.lipu-opt--checked .lipu-opt__card {
	border-color: var(--lipu-navy);
	background-color: #ebf4ff;
}
.lipu-opt__card input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	pointer-events: none;
}
.lipu-opt__card:has(input:focus-visible) {
	outline: 2px solid var(--lipu-cyan);
	outline-offset: 2px;
}
.lipu-opt__img {
	flex: 0 0 55px;
	width: 55px;
	height: 55px;
	border-radius: 3px;
	overflow: hidden;
	background-color: #f2f4f7;
}
.lipu-opt__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.lipu-opt__img--empty {
	display: none;
}
.lipu-opt__text {
	display: flex;
	flex-direction: column;
	gap: 5px;
	min-width: 0;
	padding-top: 3px;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	line-height: 18px;
}
.lipu-opt__name {
	font-weight: 700;
}
.lipu-opt__price del {
	margin-right: 4px;
	color: var(--lipu-muted);
}
.single-product .summary .lipu-opts-more {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 auto;
	padding: 0 10px;
	line-height: 18px;
	border: 0;
	background: none;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	cursor: pointer;
}
.lipu-opts-more::after {
	content: "";
	width: 8px;
	height: 5px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M.5.5l3.5 3.5 3.5-3.5' fill='none' stroke='%230e243d'/%3E%3C/svg%3E") no-repeat center;
	transition: transform 0.2s ease;
}
/* Expanded list: no faded row above the button, so give it room. */
.single-product .summary .lipu-opts-more[aria-expanded="true"] {
	margin-top: 20px;
}
.lipu-opts-more[aria-expanded="true"]::after {
	transform: rotate(180deg);
}
.lipu-opts-more__close,
.lipu-opts-more[aria-expanded="true"] .lipu-opts-more__open {
	display: none;
}
.lipu-opts-more[aria-expanded="true"] .lipu-opts-more__close {
	display: inline;
}
.single-product .ppom-wrapper input.form-control {
	height: 40px;
	border: 1px solid var(--lipu-border);
	border-radius: 3px;
}
@media (max-width: 599px) {
	.lipu-opts {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* PPOM price table ("Lisavalikud kokku", "Toote hind", "Hind kokku"). */
#ppom-price-container {
	margin: 0;
}
#ppom-price-container table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
}
#ppom-price-container table tr,
#ppom-price-container table th,
#ppom-price-container table td {
	border: 0;
	background: none !important;
}
#ppom-price-container table tr {
	border-top: 1px solid #e7e7e7;
}
#ppom-price-container table tr:last-child {
	border-bottom: 1px solid #e7e7e7;
}
#ppom-price-container table th,
#ppom-price-container table td {
	padding: 15px 16px;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 19px;
	text-align: left;
}
#ppom-price-container table td:last-child,
#ppom-price-container table th:last-child {
	width: 128px;
}
#ppom-price-container tr:last-child th,
#ppom-price-container tr:last-child td {
	text-transform: uppercase;
}

/* Quantity (Creativo's −/+ buttons) + add to cart. */
.single-product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 25px; /* design: 25px between quantity and button */
	margin-top: 30px;
}
/* PPOM's JS adds .ppom-flex-controller to the form and its CSS then forces
   display:block !important, which drops the flex gap above. */
.single-product form.cart.ppom-flex-controller:not(.variations_form) {
	display: flex !important;
}
.single-product form.cart .ppom-wrapper {
	flex: 1 1 100%;
}
.single-product form.cart .quantity {
	display: flex;
	width: auto;
	margin: 0 !important;
	border-radius: 4px;
	background-color: #e4e4e4;
}
.single-product form.cart .quantity .minus,
.single-product form.cart .quantity .plus {
	display: inline-block !important; /* Creativo hides them on small screens */
	width: 58px;
	height: 58px;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background-color: #f4f4f4;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 17px;
	line-height: 58px;
	cursor: pointer;
}
.single-product form.cart .quantity .minus:hover,
.single-product form.cart .quantity .plus:hover {
	background-color: #ebebeb;
}
.single-product form.cart .quantity input.qty {
	width: 41px;
	height: 58px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 17px;
	font-weight: 700;
	text-align: center;
	-moz-appearance: textfield;
}
.single-product form.cart .quantity input.qty::-webkit-outer-spin-button,
.single-product form.cart .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.single-product form.cart .single_add_to_cart_button,
.woocommerce .single-product form.cart .button.alt {
	min-width: 214px;
	height: 58px;
	margin: 0;
	padding: 0 30px;
	border: 0;
	border-radius: 4px;
	background-color: var(--lipu-cyan);
	color: #ffffff;
	font-family: 'Roboto', sans-serif;
	font-size: 17px;
	font-weight: 700;
	line-height: 58px;
	text-transform: uppercase;
}
.single-product form.cart .single_add_to_cart_button:hover {
	background-color: #13a7ce;
}
.single-product form.cart .quantity .minus,
.single-product form.cart .quantity .plus {
	flex: 0 0 58px;
}
.single-product form.cart .quantity input.qty {
	margin: 0;
}

/* Variable products: attribute select(s), then quantity + button in a row.
   The variation's price is shown in the info box ("Baashind"), not here. */
.single-product form.variations_form {
	display: block;
}
.single-product form.variations_form table.variations {
	width: 100%;
	margin: 0 0 20px;
}
.single-product form.variations_form table.variations tr {
	margin: 0;
}
.single-product form.variations_form table.variations th.label {
	padding: 0 0 8px;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 18px;
}
.single-product form.variations_form table.variations td.value {
	padding: 0;
}
.single-product form.variations_form table.variations select {
	width: 100%;
	height: 50px;
	padding: 0 40px 0 15px;
	border: 1px solid #d4d4d4;
	border-radius: 3px;
	background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230e243d' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 15px center;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	-webkit-appearance: none;
	appearance: none;
}
.single-product form.variations_form table.variations select:focus {
	border-color: var(--lipu-navy);
	outline: 0;
}
.single-product form.variations_form .reset_variations {
	margin: 8px 0 0;
	color: var(--lipu-muted);
	font-size: 13px;
	font-style: normal;
	text-transform: none;
}
.single-product form.variations_form .woocommerce-variation.single_variation {
	border-top: 0;
}
.single-product form.variations_form .woocommerce-variation-price {
	display: none;
}
.single-product form.variations_form .woocommerce-variation-availability {
	margin: 0 0 15px;
}
.single-product form.variations_form .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 25px;
}

/* Description tab. */
.single-product .tab-holder {
	margin-top: 60px;
}
.single-product .tab-hold .tabs {
	border-bottom: 1px solid #e7e7e7;
}
.single-product .tab-hold .tabs li a,
.single-product .tab-hold .tabs li.active a {
	margin: 0;
	padding: 10px 15px 12px;
	border: 0 !important;
	border-bottom: 3px solid var(--lipu-navy) !important;
	background: none !important;
	color: var(--lipu-text) !important;
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
}
.single-product .tab-hold .tab-container {
	padding: 30px 30px 40px;
	border: 0;
	border-bottom: 1px solid #e7e7e7;
}
.single-product .tab-hold .tab_content,
.single-product .tab-hold .tab_content p {
	color: var(--lipu-text);
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	line-height: normal;
}
.single-product .tab-hold .tab_content p {
	margin-bottom: 18px;
}

/* Related products. */
section.related.products {
	margin-top: 55px;
	width: 100%;
}
section.related.products > h2:empty {
	display: none;
}
.pswp__caption__center {
	display: none;
}
@media (max-width: 1023px) {
	.single-product div.product > .summary {
		margin-top: 30px;
	}
}

/* ------------------------------------------------------------------ */
/* Cart & checkout                                                    */
/* ------------------------------------------------------------------ */
.woocommerce table.shop_table tr.shipping td,
.woocommerce table.shop_table tr.fee td {
	text-align: right;
	border-top: 1px solid #e9e9e9;
	border-right: 1px solid #e9e9e9;
}
.woocommerce form.checkout table.shop_table tr.shipping th,
.woocommerce form.checkout table.shop_table tr.fee th {
	border-left: 1px solid #e9e9e9;
}
ul#shipping_method {
	list-style: none;
	text-align: left;
	padding-left: 0;
}
/* Checkout (2026): one design language with the product page – Oswald
   headings, Roboto text, navy / cyan, 4px radius, #d4d4d4 borders, light blue
   for selected states. Left: customer details; right: order summary card. */
form.checkout #customer_details.col2-set {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 50px;
	align-items: start;
}
form.checkout #customer_details.col2-set::before,
form.checkout #customer_details.col2-set::after {
	display: none;
}
form.checkout #customer_details > .col-1,
form.checkout #customer_details > .col-2 {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
}
form.checkout #customer_details > .col-2 {
	padding: 30px;
	border: 1px solid var(--lipu-border);
	border-radius: 4px;
	background-color: #ffffff;
}
form.checkout .woocommerce-billing-fields > h3,
form.checkout .woocommerce-additional-fields > h3,
form.checkout #order_review_heading {
	margin: 0 0 22px;
	padding: 0;
	background: none;
	color: var(--lipu-navy);
	font-family: 'Oswald', sans-serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 32px;
	text-transform: uppercase;
}

/* Fields: two columns where it reads naturally (names, postcode + city,
   phone + e-mail), everything else full width. */
form.checkout .woocommerce-billing-fields__field-wrapper,
form.checkout .woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 18px 20px;
}
form.checkout .woocommerce-billing-fields__field-wrapper::before,
form.checkout .woocommerce-billing-fields__field-wrapper::after,
form.checkout .woocommerce-shipping-fields__field-wrapper::before,
form.checkout .woocommerce-shipping-fields__field-wrapper::after {
	display: none;
}
form.checkout .form-row {
	grid-column: 1 / -1;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}
form.checkout .form-row.form-row-first,
form.checkout .form-row.form-row-last,
form.checkout #billing_postcode_field,
form.checkout #billing_city_field,
form.checkout #shipping_postcode_field,
form.checkout #shipping_city_field,
form.checkout #billing_phone_field,
form.checkout #billing_email_field {
	grid-column: auto;
}
form.checkout .form-row label {
	display: block;
	margin: 0 0 7px;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 18px;
}
form.checkout .form-row label.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}
form.checkout .form-row .required {
	color: var(--lipu-cyan);
	text-decoration: none;
}
form.checkout .form-row .optional {
	color: var(--lipu-muted);
	font-weight: 400;
}
form.checkout .form-row .woocommerce-input-wrapper {
	display: block;
}
form.checkout .form-row input.input-text,
form.checkout .form-row select,
form.checkout .form-row textarea {
	display: block;
	width: 100%;
	height: 50px;
	margin: 0;
	padding: 0 15px;
	border: 1px solid var(--lipu-border);
	border-radius: 4px;
	background-color: #ffffff;
	box-shadow: none;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	line-height: 48px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
form.checkout .form-row textarea {
	height: 110px;
	padding: 12px 15px;
	line-height: 22px;
	resize: vertical;
}
form.checkout .form-row select {
	padding-right: 40px;
	background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230e243d' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 15px center;
	-webkit-appearance: none;
	appearance: none;
}
form.checkout .form-row input.input-text::placeholder,
form.checkout .form-row textarea::placeholder {
	color: #8a96a3;
	opacity: 1;
}
form.checkout .form-row input.input-text:focus,
form.checkout .form-row select:focus,
form.checkout .form-row textarea:focus {
	border-color: var(--lipu-navy);
	outline: 0;
	box-shadow: 0 0 0 3px rgba(14, 36, 61, 0.08);
}
form.checkout .form-row.woocommerce-invalid input.input-text,
form.checkout .form-row.woocommerce-invalid select {
	border-color: #d63638;
}
form.checkout .form-row .checkout-inline-error-message {
	margin: 6px 0 0;
	color: #d63638;
	font-family: 'Roboto', sans-serif;
	font-size: 13px;
	line-height: 18px;
}
form.checkout .form-row.woocommerce-validated input.input-text {
	border-color: var(--lipu-border);
}

/* "Saada teisele aadressile?" as a selectable card, like the payment methods. */
form.checkout #ship-to-different-address {
	margin: 30px 0 22px;
	padding: 0;
	background: none;
	font-size: inherit;
	line-height: normal;
}
form.checkout #ship-to-different-address label {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 58px;
	margin: 0;
	padding: 10px 18px;
	border: 1px solid var(--lipu-border);
	border-radius: 4px;
	background-color: #ffffff;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 20px;
	text-transform: none;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
form.checkout #ship-to-different-address label:hover {
	border-color: var(--lipu-navy);
}
form.checkout #ship-to-different-address label:has(input:checked) {
	border-color: var(--lipu-navy);
	background-color: var(--lipu-light);
}
form.checkout #ship-to-different-address input[type="checkbox"],
form.checkout .woocommerce-form__input-checkbox {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--lipu-navy);
	cursor: pointer;
}
form.checkout .woocommerce-additional-fields {
	margin-top: 18px;
}

/* Order summary table. */
form.checkout #order_review table.shop_table {
	margin: 0 0 25px;
	border: 0;
	border-collapse: collapse;
	border-radius: 0;
}
form.checkout #order_review table.shop_table thead tr {
	background: transparent;
	color: inherit;
}
form.checkout #order_review table.shop_table th,
form.checkout #order_review table.shop_table td {
	padding: 14px 0;
	border: 0;
	border-bottom: 1px solid #e9e9e9;
	background: none;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	line-height: 22px;
	vertical-align: middle;
}
form.checkout #order_review table.shop_table th:last-child,
form.checkout #order_review table.shop_table td:last-child {
	text-align: right;
}
form.checkout #order_review table.shop_table thead th {
	padding: 0 0 10px;
	border-bottom: 2px solid var(--lipu-navy);
	color: var(--lipu-muted);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
form.checkout #order_review table.shop_table td.product-name {
	padding-right: 15px;
}
form.checkout #order_review table.shop_table td.product-name .product-quantity {
	color: var(--lipu-muted);
	font-weight: 400;
	white-space: nowrap;
}
form.checkout #order_review table.shop_table td.product-name .wc-item-meta,
form.checkout #order_review table.shop_table td.product-name dl.variation {
	margin: 4px 0 0;
	color: var(--lipu-muted);
	font-size: 13px;
	line-height: 18px;
}
form.checkout #order_review table.shop_table td.product-total,
form.checkout #order_review table.shop_table tfoot td {
	font-weight: 700;
	white-space: nowrap;
}
form.checkout #order_review table.shop_table tfoot th {
	color: var(--lipu-muted);
	font-size: 14px;
	font-weight: 400;
	text-transform: none;
}
form.checkout #order_review table.shop_table tr.order-total th,
form.checkout #order_review table.shop_table tr.order-total td {
	padding-top: 18px;
	border-bottom: 0;
}
form.checkout #order_review table.shop_table tr.order-total th {
	color: var(--lipu-navy);
	font-family: 'Oswald', sans-serif;
	font-size: 20px;
	font-weight: 500;
	text-transform: uppercase;
}
form.checkout #order_review table.shop_table tr.order-total td strong,
form.checkout #order_review table.shop_table tr.order-total td strong .amount {
	color: var(--lipu-cyan);
	font-size: 26px;
	font-weight: 700;
	line-height: 31px;
}
form.checkout #order_review table.shop_table tr.order-total td .includes_tax {
	display: block;
	margin-top: 3px;
	color: var(--lipu-muted);
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
}
form.checkout #order_review table.shop_table tr.order-total td .includes_tax .amount {
	color: inherit;
	font-weight: 400;
}

/* The summary table is laid out as rows of flex boxes (label left, amount
   right); shipping rows stack their label above full-width choices. */
form.checkout #order_review table.shop_table,
form.checkout #order_review table.shop_table thead,
form.checkout #order_review table.shop_table tbody,
form.checkout #order_review table.shop_table tfoot {
	display: block;
	width: 100%;
}
form.checkout #order_review table.shop_table tr {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	border: 0;
	border-bottom: 1px solid #e9e9e9;
}
form.checkout #order_review table.shop_table thead tr {
	border-bottom: 2px solid var(--lipu-navy);
}
form.checkout #order_review table.shop_table tr.order-total {
	border-bottom: 0;
}
form.checkout #order_review table.shop_table th,
form.checkout #order_review table.shop_table td,
form.checkout #order_review table.shop_table thead th {
	display: block;
	border: 0 !important; /* Creativo frames the first/last tfoot cells */
}
form.checkout #order_review table.shop_table td.product-name {
	flex: 1 1 auto;
}
form.checkout #order_review table.shop_table tr.shipping,
form.checkout #order_review table.shop_table tr[class*="wc-esm-method"] {
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}
form.checkout #order_review table.shop_table tr.shipping th,
form.checkout #order_review table.shop_table tr.shipping td,
form.checkout #order_review table.shop_table tr[class*="wc-esm-method"] th,
form.checkout #order_review table.shop_table tr[class*="wc-esm-method"] td {
	width: 100%;
	padding: 14px 0 0;
	text-align: left;
}
form.checkout #order_review table.shop_table tr.shipping td,
form.checkout #order_review table.shop_table tr[class*="wc-esm-method"] td {
	padding: 10px 0 14px;
}
form.checkout #order_review table.shop_table tr[class*="wc-esm-method"] th label {
	margin: 0;
	color: inherit;
	font: inherit;
}
form.checkout #order_review ul#shipping_method {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
form.checkout #order_review ul#shipping_method li {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0 15px;
	border: 1px solid var(--lipu-border);
	border-radius: 4px;
	background-color: #ffffff;
	text-indent: 0;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
form.checkout #order_review ul#shipping_method li::before {
	display: none;
}
form.checkout #order_review ul#shipping_method li:hover {
	border-color: var(--lipu-navy);
}
form.checkout #order_review ul#shipping_method li:has(input:checked),
form.checkout #order_review ul#shipping_method li:only-child {
	border-color: var(--lipu-navy);
	background-color: var(--lipu-light);
}
form.checkout #order_review ul#shipping_method li input.shipping_method {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 0 12px 0 0;
	accent-color: var(--lipu-navy);
	cursor: pointer;
}
form.checkout #order_review ul#shipping_method li label {
	display: flex;
	flex: 1 1 auto;
	justify-content: space-between;
	gap: 10px;
	min-height: 48px;
	align-items: center;
	margin: 0;
	color: var(--lipu-navy);
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
}
form.checkout #order_review ul#shipping_method li label .amount {
	font-weight: 700;
}
form.checkout #order_review table.shop_table tr:not(.shipping):not(.cart-subtotal):not(.order-total):not(.fee):not(.cart_item) td .select2-container,
form.checkout #order_review .select2-container {
	width: 100% !important;
}
form.checkout #order_review .select2-container .select2-selection--single {
	height: 50px;
	border: 1px solid var(--lipu-border);
	border-radius: 4px;
}
form.checkout #order_review .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0 40px 0 15px;
	color: var(--lipu-navy);
	font-size: 15px;
	font-weight: 400;
	line-height: 48px;
	text-align: left;
}
form.checkout #order_review .select2-container .select2-selection--single .select2-selection__arrow {
	top: 0;
	right: 10px;
	height: 48px;
}

/* Terms + place order button (same as "Lisa ostukorvi"). */
form.checkout #payment .place-order {
	margin: 0;
	padding: 0;
}
form.checkout #payment .woocommerce-terms-and-conditions-wrapper,
form.checkout #payment .woocommerce-privacy-policy-text {
	color: var(--lipu-muted);
	font-family: 'Roboto', sans-serif;
	font-size: 13px;
	line-height: 19px;
}
form.checkout #payment .woocommerce-privacy-policy-text p {
	margin: 0 0 20px;
}
form.checkout #payment .woocommerce-privacy-policy-text a,
form.checkout #payment .woocommerce-terms-and-conditions-wrapper a {
	color: var(--lipu-navy);
	text-decoration: underline;
}
.woocommerce form.checkout #payment #place_order {
	position: static;
	left: auto;
	display: block;
	width: 100%;
	height: 58px;
	margin: 0;
	padding: 0 30px;
	transform: none;
	border: 0 !important;
	border-radius: 4px !important;
	background-color: var(--lipu-cyan) !important;
	color: #ffffff;
	font-family: 'Roboto', sans-serif;
	font-size: 17px;
	font-weight: 700;
	line-height: 58px;
	text-transform: uppercase;
}
.woocommerce form.checkout #payment #place_order:hover {
	background-color: #13a7ce !important;
}
.woocommerce form.checkout #payment {
	background: none;
	border-radius: 0;
}

@media (max-width: 1023px) {
	form.checkout #customer_details.col2-set {
		grid-template-columns: minmax(0, 1fr);
		gap: 35px;
	}
}
@media (max-width: 599px) {
	form.checkout #customer_details > .col-2 {
		margin: 0 -15px;
		padding: 25px 15px;
		border-right: 0;
		border-left: 0;
		border-radius: 0;
	}
	form.checkout .woocommerce-billing-fields__field-wrapper,
	form.checkout .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}
	form.checkout .woocommerce-billing-fields > h3,
	form.checkout .woocommerce-additional-fields > h3,
	form.checkout #order_review_heading {
		font-size: 22px;
		line-height: 28px;
	}
}

/* Shop notices ("… lisati sinu ostukorvi", info, errors) in brand colours.
   Creativo's notice templates wrap each message in a Tailwind-coloured
   ".alert" box; the WooCommerce wrapper itself stays unstyled. */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	list-style: none;
}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before,
.woocommerce .woocommerce-message::after,
.woocommerce .woocommerce-info::after,
.woocommerce .woocommerce-error::after {
	display: none;
}
.woocommerce-error li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.woocommerce-message .alert,
.woocommerce-info .alert,
.woocommerce-error .alert {
	margin: 0 0 30px !important;
	padding: 15px 20px !important;
	border: 1px solid #cfe2f6;
	border-left: 4px solid var(--lipu-cyan);
	border-radius: 4px;
	background-color: var(--lipu-light) !important;
	color: var(--lipu-navy) !important;
}
/* Several errors read as one block. */
.woocommerce-error {
	margin-bottom: 30px !important;
}
.woocommerce-error .alert {
	margin: 0 !important;
	padding: 10px 20px !important;
	border-color: #f3c9c9;
	border-top-width: 0;
	border-bottom-width: 0;
	border-left-color: #d63638;
	border-radius: 0;
	background-color: #fdf2f2 !important;
}
.woocommerce-error li:first-child .alert {
	padding-top: 15px !important;
	border-top-width: 1px;
	border-radius: 4px 4px 0 0;
}
.woocommerce-error li:last-child .alert {
	padding-bottom: 15px !important;
	border-bottom-width: 1px;
	border-radius: 0 0 4px 4px;
}
.woocommerce-error li:only-child .alert {
	border-radius: 4px;
}
.woocommerce-message .alert .msg,
.woocommerce-info .alert .msg,
.woocommerce-error .alert .msg {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-size: 15px !important;
	line-height: 22px !important;
}
/* Success message with a button: text left, button right. */
.woocommerce-message .alert .msg:has(.button) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 0;
}
.woocommerce-message .alert .msg > span:first-child,
.woocommerce-info .alert .msg > span:first-child,
.woocommerce-error .alert .msg > span:first-child {
	display: inline-block;
	margin: 0 10px 0 0 !important;
	color: var(--lipu-cyan);
	font-size: 17px;
}
.woocommerce-error .alert .msg > span:first-child {
	color: #d63638;
}
.woocommerce-message .alert .msg a:not(.button),
.woocommerce-info .alert .msg a:not(.button),
.woocommerce-error .alert .msg a:not(.button) {
	color: var(--lipu-navy);
	text-decoration: underline;
}
.woocommerce-message .alert .button,
.woocommerce-info .alert .button {
	position: static !important;
	order: 2;
	float: none;
	margin: 0 0 0 auto !important;
	padding: 0 18px !important;
	border: 0 !important;
	border-radius: 4px !important;
	background-color: var(--lipu-navy) !important;
	color: #ffffff !important;
	font-family: 'Roboto', sans-serif;
	font-size: 13px !important;
	font-weight: 700;
	line-height: 38px !important;
	text-transform: uppercase;
	transform: none !important;
}
.woocommerce-message .alert .button:hover,
.woocommerce-info .alert .button:hover {
	background-color: #1c3a5c !important;
}

/* Payment methods as selectable cards (same look as the product option
   cards): radio + name on the left, provider logo on the right, the chosen
   method highlighted with its details (bank list etc.) inside the card. */
.woocommerce #payment ul.payment_methods {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 25px;
	padding: 0 0 25px;
	border-bottom: 1px solid #e9e9e9;
}
.woocommerce #payment ul.payment_methods li.wc_payment_method {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
	padding: 0 18px;
	border: 1px solid var(--lipu-border);
	border-radius: 4px;
	background-color: #ffffff;
	line-height: normal;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
.woocommerce #payment ul.payment_methods li.wc_payment_method:hover {
	border-color: var(--lipu-navy);
}
.woocommerce #payment ul.payment_methods li.wc_payment_method:has(> input:checked) {
	border-color: var(--lipu-navy);
	background-color: var(--lipu-light);
}
.woocommerce #payment ul.payment_methods li.wc_payment_method > input.input-radio {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 0 12px 0 0;
	accent-color: var(--lipu-navy);
	cursor: pointer;
}
.woocommerce #payment ul.payment_methods li.wc_payment_method > label {
	display: flex;
	flex: 1 1 0;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	min-height: 58px;
	margin: 0;
	padding: 10px 0;
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 20px;
	cursor: pointer;
}
.woocommerce #payment ul.payment_methods li img {
	flex: 0 0 auto;
	width: auto;
	max-width: 70px;
	max-height: 26px;
	margin: 0 0 0 auto;
}
.woocommerce #payment ul.payment_methods li.wc_payment_method > .payment_box {
	flex: 1 1 100%;
	width: auto;
	margin: 0 0 18px;
	padding: 15px;
	border-radius: 4px;
	background-color: #ffffff;
	color: var(--lipu-text);
	font-size: 14px;
}
.woocommerce #payment ul.payment_methods li.wc_payment_method > .payment_box::after,
.woocommerce #payment ul.payment_methods li.wc_payment_method > .payment_box::before {
	display: none;
}
.woocommerce #payment .payment_box select {
	height: 40px;
	padding: 0 36px 0 12px;
	border: 1px solid var(--lipu-border);
	border-radius: 3px;
	background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230e243d' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center;
	color: var(--lipu-navy);
	font-size: 14px;
	-webkit-appearance: none;
	appearance: none;
}
/* Montonio card logos (Google Pay, Apple Pay, Mastercard, Visa – one wide
   744×100 image): keep its aspect ratio instead of the 70px logo box. */
.woocommerce #payment ul.payment_methods li img.wc-montonio-card-icon {
	width: auto;
	max-width: none;
	height: 20px !important; /* Montonio: 24px !important */
	max-height: none;
}
@media (max-width: 599px) {
	.woocommerce #payment ul.payment_methods li img.wc-montonio-card-icon {
		height: 16px !important;
	}
}
/* Montonio bank logos: fill the card width, brand selected state. */
#payment .montonio-bank-payments-form .montonio-bank-items--grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
	gap: 8px;
}
#payment .montonio-bank-payments-form .montonio-bank-items--grid .montonio-bank-item {
	width: auto;
	height: 62px;
	padding: 8px;
	border: 1px solid #e3e6ea;
	border-radius: 4px;
	background: #ffffff;
}
#payment .montonio-bank-payments-form .montonio-bank-items .montonio-bank-item:hover {
	border-color: var(--lipu-navy);
	background: #ffffff;
}
#payment .montonio-bank-payments-form .montonio-bank-items .montonio-bank-item.active {
	border-color: var(--lipu-navy);
	background: var(--lipu-light);
	box-shadow: inset 0 0 0 1px var(--lipu-navy);
}
.woocommerce #payment ul.payment_methods li .montonio-bank-items img.montonio-bank-item-img {
	max-width: 78%;
	max-height: 26px;
	margin: 0;
}
@media (max-width: 599px) {
	.woocommerce #payment ul.payment_methods li.wc_payment_method {
		padding: 0 14px;
	}
	.woocommerce #payment ul.payment_methods li.wc_payment_method > label {
		font-size: 14px;
	}
	.woocommerce #payment ul.payment_methods li.wc_payment_method > .payment_box {
		padding: 10px;
	}
}
.woocommerce #payment ul.payment_methods li.wc_payment_method > .payment_box:empty {
	display: none !important;
}
.esto-pay-logos img {
	max-width: none !important;
}

/* ------------------------------------------------------------------ */
/* Page content (WPBakery)                                            */
/* ------------------------------------------------------------------ */
.vc_row {
	overflow: visible !important;
}
.post_meta.default,
.post_meta.style2 {
	display: none !important;
}
.blogpost .flexslider,
.blogpost .singlepost_title,
.modern_heading_title .singlepost_title {
	margin-bottom: 15px;
	border: 1px solid #dfe0e3;
}

/* ------------------------------------------------------------------ */
/* Lipumastipood WPBakery elements (inc/vc-elements.php) and classes    */
/* set in the elements' "Extra class name" field                       */
/* ------------------------------------------------------------------ */

/* Eelis: icon beside title + text. */
.lipu-feature {
	display: flex;
	align-items: center;
	gap: 18px;
	min-height: 122px;
	color: var(--lipu-navy);
}
.lipu-feature__icon {
	flex: 0 0 auto;
	width: auto;
	height: 48px;
}
.lipu-feature__title {
	display: block;
	color: var(--lipu-navy);
	font-family: 'Oswald', sans-serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 30px;
}
.lipu-feature__text {
	display: block;
	color: var(--lipu-navy);
	font-size: 15px;
	line-height: 20px;
}

/* Kategooria kaart. */
.lipu-card {
	display: block;
	height: 100%;
	background-color: #ffffff;
	color: var(--lipu-navy);
	transition: box-shadow 0.2s ease;
}
.lipu-card:hover {
	box-shadow: 0 4px 16px rgba(14, 36, 61, 0.15);
}
.lipu-card__img {
	display: block;
	aspect-ratio: 560 / 296;
	overflow: hidden;
}
.lipu-card__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}
.lipu-card:hover .lipu-card__img img {
	transform: scale(1.03);
}
.lipu-card__body {
	position: relative;
	display: block;
	min-height: 105px;
	padding: 20px 80px 20px 21px;
}
.lipu-card__title {
	display: block;
	color: var(--lipu-navy);
	font-family: 'Oswald', sans-serif;
	font-size: 25px;
	font-weight: 500;
	line-height: 37px;
}
.lipu-card__text {
	display: block;
	margin-top: 10px;
	font-size: 14px;
	line-height: 16px;
}
.lipu-card__arrow {
	position: absolute;
	top: 32px;
	right: 30px;
	width: 32px;
	height: 15px;
	transition: transform 0.2s ease;
}
.lipu-card:hover .lipu-card__arrow {
	transform: translateX(4px);
}

/* Creativo Button: heading font (hero buttons) and the design's 4px corners
   (the element's shapes are square / 6px / round). */
.lipu-btn-oswald .button {
	font-family: 'Oswald', sans-serif;
}
.lipu-btn-radius-4 .button {
	border-radius: 4px;
}
/* Phones: full-width CTA, 58px tall from padding (not line height), so a
   wrapped label stays compact. */
@media (max-width: 767px) {
	/* Image + text rows (Design Options class vc_custom_lipu_split): the
	   5.7% side padding and 35px column gap are for wide screens. */
	.vc_row.vc_custom_lipu_split {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}
	.vc_row.vc_custom_lipu_split > .vc_column_container {
		padding-right: 0;
		padding-left: 0;
	}
	/* Service pages (Lipumasti transport): image + text rows use the full box width. */
	.vc_row.vc_custom_lipu_service > .vc_column_container,
	.vc_row.vc_custom_lipu_service_last > .vc_column_container,
	.vc_row.vc_custom_lipu_service > .vc_column_container > .vc_column-inner,
	.vc_row.vc_custom_lipu_service_last > .vc_column_container > .vc_column-inner { padding-right:0 !important; padding-left:0 !important; }
	.vc_row.vc_custom_lipu_service,
	.vc_row.vc_custom_lipu_service_last { margin-right:0 !important; margin-left:0 !important; }
	.lipu-btn-radius-4 .button {
		display: block;
		width: 100%;
		padding-top: 18px !important;
		padding-bottom: 18px !important;
		line-height: 20px !important;
		text-align: center;
	}
}

/* Woo Carousel (class lipu-carousel): 53px gaps, equal-height cards,
   square arrows outside the cards. Owl keeps its 30px margin; each card gets
   11.5px side padding and the carousel is widened by the same amount. */
.woo_carousel .lipu-carousel {
	width: auto;
	margin: 0 -11.5px;
	overflow: visible;
}
/* Creativo starts Owl only on window load; until then lay the slides out
   like the finished carousel (same items per row and 30px margin) so the
   cards don't show full-width for a few seconds. */
.woo_carousel .lipu-carousel:not(.owl-loaded) {
	display: flex;
	gap: 30px;
	overflow: hidden;
}
.woo_carousel .lipu-carousel:not(.owl-loaded) > ul.products {
	flex: 0 0 calc((100% - 30px) / 2);
	min-width: 0;
}
@media (min-width: 480px) {
	.woo_carousel .lipu-carousel:not(.owl-loaded) > ul.products {
		flex-basis: calc((100% - 60px) / 3);
	}
}
@media (min-width: 992px) {
	.woo_carousel .lipu-carousel:not(.owl-loaded) > ul.products {
		flex-basis: calc((100% - 90px) / 4);
	}
}
/* Creativo shows slides outside the frame (.woo_carousel.products … overflow: visible). */
.woo_carousel.products .lipu-carousel.owl-carousel .owl-stage-outer {
	overflow: hidden;
}
.woo_carousel .lipu-carousel .owl-stage {
	display: flex;
	height: auto;
}
.woo_carousel .lipu-carousel .owl-item {
	display: flex;
}
.woo_carousel .lipu-carousel ul.products {
	display: flex;
	width: 100%;
	margin: 0;
	padding: 0 11.5px;
}
.woo_carousel .lipu-carousel li.product {
	display: flex !important;
	flex-direction: column;
	width: 100% !important;
}
.woo_carousel .lipu-carousel .inside_prod {
	flex: 1 0 auto;
	height: auto !important;
}
.woo_carousel .lipu-carousel .owl-nav {
	top: 50%;
	left: -55.5px;
	right: -55.5px;
	width: auto;
}
.woo_carousel .lipu-carousel .owl-nav .owl-prev,
.woo_carousel .lipu-carousel .owl-nav .owl-next {
	width: 42px !important;
	height: 42px !important;
	margin: -21px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #ffffff url(../images/icons/carousel-prev.svg) no-repeat center / 42px 42px !important;
	box-shadow: 0 1px 4px rgba(14, 36, 61, 0.12);
	font-size: 0 !important;
	color: transparent !important;
	opacity: 1 !important;
}
.woo_carousel .lipu-carousel .owl-nav .owl-next {
	transform: scaleX(-1);
}
.woo_carousel .lipu-carousel .owl-nav i {
	display: none;
}
@media (max-width: 1440px) {
	.woo_carousel .lipu-carousel .owl-nav {
		left: 0;
		right: 0;
	}
}

/* Accordion (class lipu-faq): question text and panel frame. */
.lipu-faq.vc_tta.vc_general .vc_tta-panel + .vc_tta-panel {
	margin-top: 18px;
}
.lipu-faq.vc_tta.vc_general .vc_tta-panel {
	border: 1px solid #cccccc;
	border-radius: 4px;
	background: #ffffff;
	overflow: hidden;
}
.lipu-faq.vc_tta.vc_general .vc_tta-panel-heading,
.lipu-faq.vc_tta.vc_general .vc_tta-panel-body {
	border: 0 !important;
	background: #ffffff !important;
}
.lipu-faq.vc_tta.vc_general .vc_tta-panel-title {
	margin: 0;
	font-family: 'Roboto', sans-serif;
	font-size: 19px;
	font-weight: 400;
	line-height: 22px;
	text-transform: none;
}
.lipu-faq.vc_tta.vc_general .vc_tta-panel-title > a {
	padding: 18px 70px 18px 31px;
	color: var(--lipu-navy) !important;
}
.lipu-faq.vc_tta.vc_general .vc_tta-controls-icon {
	right: 30px;
	color: var(--lipu-navy);
}
.lipu-faq.vc_tta.vc_general .vc_tta-controls-icon::before {
	border-color: var(--lipu-navy) !important;
}
.lipu-faq.vc_tta.vc_general .vc_tta-panel-body {
	padding: 0 31px 20px;
	font-size: 15px;
	line-height: 22px;
}

/* ------------------------------------------------------------------ */
/* Footer: reference gallery                                          */
/* ------------------------------------------------------------------ */
.footer-gallery {
	padding-top: 30px;
	background-color: var(--lipu-footer);
}
.footer-gallery-title {
	margin: 0 0 28px;
	padding: 0 15px;
	color: var(--lipu-navy);
	font-family: 'Oswald', sans-serif;
	font-size: 25px;
	font-weight: 400;
	line-height: 37px;
	text-align: center;
	text-transform: uppercase;
}
.gallery-images-container {
	max-height: 361px;
	overflow: hidden;
}
.gallery-images-container .gallery_picture,
.gallery-images-container .gallery_picture img {
	display: block;
	width: 280px;
	height: 361px;
	object-fit: cover;
}

/* ------------------------------------------------------------------ */
/* Footer: columns + copyright                                        */
/* ------------------------------------------------------------------ */
.footer {
	background-color: var(--lipu-footer);
}
.footer-site {
	padding: 50px 0 30px;
}
.footer-site__grid {
	display: grid;
	grid-template-columns: 294px 226px 455px minmax(0, 1fr);
}
.footer,
.footer p,
.footer span,
.footer .sidebar-widget li a,
.footer .sidebar-widget a {
	color: var(--lipu-navy);
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	line-height: 24px;
}
.footer .sidebar-widget {
	margin-bottom: 0;
}
.footer .sidebar-widget p {
	margin-bottom: 24px;
}
.footer .sidebar-widget a:hover {
	color: var(--lipu-cyan);
}
.footer-col h3.col-title {
	margin-bottom: 10px;
	color: var(--lipu-navy);
	font-family: 'Oswald', sans-serif;
	font-size: 20px;
	font-weight: 500;
	line-height: 30px;
	text-transform: uppercase;
}
.footer-col img {
	display: block;
	max-width: 100%;
	height: auto;
}
.footer-col .footer-banks {
	width: 347px;
	margin-top: 3px;
}
.footer-transport {
	display: flex;
	gap: 13px;
	margin-top: 12px;
}
.footer-transport img {
	width: 96px;
	height: 34px;
}
.footer .footer-copyright {
	padding-top: 20px;
	padding-bottom: 20px;
}
.footer .footer-copyright,
.footer .footer-copyright .copyright {
	color: var(--lipu-navy);
	font-size: 14px;
	text-align: center;
}
@media (max-width: 1023px) {
	.footer-site__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 35px 20px;
	}
}
@media (max-width: 599px) {
	.footer-site__grid {
		grid-template-columns: minmax(0, 1fr);
		text-align: center;
	}
	.footer-col img,
	.footer-col .footer-banks {
		margin-left: auto;
		margin-right: auto;
	}
	.footer-transport {
		justify-content: center;
	}
}
