@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: "woodmart-font";
	src: url("//www.vivacontainers.com/wp-content/themes/woodmart/fonts/woodmart-font-1-400.woff2?v=8.3.3") format("woff2");
	font-display:swap;
}

:root {
	--wd-text-font: "Nunito", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: #767676;
	--wd-text-font-size: 17px;
	--wd-title-font: "Nunito", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 600;
	--wd-title-color: #242424;
	--wd-entities-title-font: "Nunito", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 500;
	--wd-entities-title-color: #333333;
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-alternative-font: "Nunito", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "Nunito", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 600;
	--wd-widget-title-transform: uppercase;
	--wd-widget-title-color: #333;
	--wd-widget-title-font-size: 20px;
	--wd-header-el-font: "Nunito", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 700;
	--wd-header-el-transform: uppercase;
	--wd-header-el-font-size: 17px;
	--wd-otl-style: dotted;
	--wd-otl-width: 2px;
	--wd-primary-color: rgb(63,100,255);
	--wd-alternative-color: rgb(47,56,70);
	--btn-default-font-family: "Nunito", Arial, Helvetica, sans-serif;
	--btn-default-bgcolor: rgb(255,255,255);
	--btn-default-bgcolor-hover: rgb(242,242,242);
	--btn-accented-font-family: "Nunito", Arial, Helvetica, sans-serif;
	--btn-accented-bgcolor: rgb(63,109,255);
	--btn-accented-bgcolor-hover: rgb(63,109,255);
	--wd-form-brd-width: 2px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
	--wd-link-color: rgb(63,100,255);
	--wd-link-color-hover: rgb(0,51,255);
}
.wd-age-verify-wrap {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: #111111;
	background-image: none;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left center;
}
.wd-promo-popup-wrap {
	--wd-popup-width: 800px;
}
:is(.woodmart-archive-shop .wd-builder-off,.wd-wishlist-content,.related-and-upsells,.cart-collaterals,.wd-shop-product,.wd-fbt) .wd-products-with-bg, :is(.woodmart-archive-shop .wd-builder-off,.wd-wishlist-content,.related-and-upsells,.cart-collaterals,.wd-shop-product,.wd-fbt) .wd-products-with-bg :is(.wd-product,.wd-cat) {
	--wd-prod-bg:rgb(255,255,255);
	--wd-bordered-bg:rgb(255,255,255);
}
:is(.woodmart-woocommerce-layered-nav, .wd-product-category-filter) .wd-scroll-content {
	max-height: 223px;
}
.wd-page-title .wd-page-title-bg img {
	object-fit: cover;
	object-position: center center;
}
.wd-footer {
	background-color: rgb(47,56,70);
	background-image: none;
}
html .widget-area .widget .price > .amount, html .widget-area .widget .price > ins .amount, html .widget-area .widget .price > ins .amount {
	font-size: 12px;
}
.page .wd-page-content {
	background-image: url(https://www.vivacontainers.com/wp-content/uploads/2025/08/homepage-bg.webp);
	background-size: cover;
}
.woodmart-archive-shop:not(.single-product) .wd-page-content {
	background-image: url(https://www.vivacontainers.com/wp-content/uploads/2025/08/homepage-bg.webp);
	background-size: cover;
}
.single-product .wd-page-content {
	background-image: url(https://www.vivacontainers.com/wp-content/uploads/2025/08/homepage-bg.webp);
	background-size: cover;
}
.woodmart-archive-blog .wd-page-content {
	background-image: url(https://www.vivacontainers.com/wp-content/uploads/2025/08/homepage-bg.webp);
	background-size: cover;
}
.single-post .wd-page-content {
	background-image: url(https://www.vivacontainers.com/wp-content/uploads/2025/08/homepage-bg.webp);
	background-size: cover;
}
body, [class*=color-scheme-light], [class*=color-scheme-dark], .wd-search-form[class*="wd-header-search-form"] form.searchform, .wd-el-search .searchform {
	--wd-form-brd-color-focus: rgb(30,115,190);
}
.mfp-wrap.wd-popup-quick-view-wrap {
	--wd-popup-width: 920px;
}
:root{
--wd-container-w: 1400px;
--wd-form-brd-radius: 35px;
--btn-default-color: #333;
--btn-default-color-hover: #333;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 5px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-accented-brd-radius: 5px;
--btn-accented-box-shadow: none;
--btn-accented-box-shadow-hover: none;
--wd-brd-radius: 0px;
}

@media (min-width: 1400px) {
section.elementor-section.wd-section-stretch > .elementor-container {
margin-left: auto;
margin-right: auto;
}
}


.wd-page-title {
background-color: #0a0a0a;
}

/* Global */
ul li::marker {
  color: #3f64ff;
}
/* End Global */

/* Blog Page */
.wd-post-excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* End Blog Page */

/* Modal pop-up styles */
/* Modal overlay */
.zip-modal {
  display: none; 
  position: fixed;
  z-index: 9999;
  left: 0; 
  top: 0;
  width: 100%; 
  height: 100%; 
  background: rgba(0,0,0,0.4);
	overflow: auto;
}

/* Modal box */
.zip-modal-content {
  background: #fff;
  border-radius: 12px;
  max-width: 400px;
  margin: 12% auto;
  padding: 20px;
  text-align: center;
  position: relative;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

/* Close button */
.zip-close {
  position: absolute;
  right: 15px;
  top: 10px;
  font-size: 20px;
  font-weight: bold;
  cursor: pointer;
}

/* Input */
#zipInput {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 8px;
  margin: 15px 0;
  font-size: 14px;
}

/* Buttons */
.zip-actions {
  display: flex;
  justify-content: space-between;
}

.zip-actions button {
  padding: 10px 18px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 500;
}

.zip-submit {
  background: #2d5eff;
  color: #fff;
}

.zip-later {
  background: transparent;
  color: #2d5eff;
}
/* End Modal pop-up styles */

/* Single Page Template styles */
.page-hero {
	padding: 25px 0;
	text-align: center;
}
.single-page-body-elementor-section {
	width: 90%;
	margin-inline: auto;
  padding-inline: 1rem;
}
.single-page-body-elementor-section p, strong {
	font-size: 20px;
}
.single-page-body-elementor-section strong {
	font-weight: bolder;
}
.single-page-body-elementor-section h2 {
  font-size: 28px;
  margin-bottom: 20;
}
.single-page-body-elementor-section h3 {
  font-size: 24px;
}
.single-page-body-elementor-section h4 {
	color: #242424;
  font-size: 20px;
}
.single-page-body-elementor-section p, strong, li, h1, h2, h3, h4, h5, h6 {
  color: #242424;
}
.single-page-body-elementor-section ul {
  list-style: disc;
  padding-left: 1.25rem;
  margin-bottom: 1rem;
}
.single-page-body-elementor-section ul li::marker {
  color: #3f64ff;
}
.single-page-body-elementor-section ul li {
  font-size: 20px;
}
.single-page-body-elementor-section ul li a :not(.wd-products-element, .wd-products-element *) {
  color: #3f64ff;
  text-decoration: underline;
}
.single-page-body-elementor-section a :not(.wd-products-element, .wd-products-element *) {
  color: #3f64ff;
  text-decoration: underline;
}

.single-page-body-elementor-section a span :not(.wd-products-element, .wd-products-element *) {
  color: #fff;
  text-decoration: none;
}

/* End of Single Page Template styles */

/* Single Product Page */
/* Linked variations */
/* Radio-button look for the swatch anchors */
.variations .wd-swatches .radio-option,
.variations .wd-swatches .radio-option:hover {
  text-decoration: none !important;
}

/* Base pill */
.variations .wd-swatches .radio-option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border: 1px solid #cdd3da;
  border-radius: 8px;
  line-height: 1.2;
  color: #2a2a2a;
  transition: border-color .2s, box-shadow .2s;
}

/* Spacing between options */
.variations .wd-swatches .radio-option + .radio-option { margin-left: 8px; }

/* The circle (unselected) */
.variations .wd-swatches .radio-option::before {
  content: "";
  width: 18px;
  height: 18px;
  border: 2px solid #b0b7c3;
  border-radius: 50%;
  box-sizing: border-box;
  background: radial-gradient(transparent 0 45%, transparent 46% 100%);
}

/* Hover */
.variations .wd-swatches .radio-option:hover {
  border-color: #3f64ff;
}

/* Selected state (uses your .wd-active class) */
.variations .wd-swatches .radio-option.wd-active {
  border: 2px solid #3f64ff;
  box-shadow: 0 0 0 2px rgba(63, 100, 255, .15);
  font-weight: 600;
  color: #000;
}

.variations .wd-swatches .radio-option.wd-active::before {
  border-color: #3f64ff;
  background: radial-gradient(#3f64ff 0 45%, transparent 46% 100%);
}
/* End Radio-button look for the swatch anchors */

/* Delivery options */
.delivery-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 2px solid #2563eb;
    border-radius: 6px;
    padding: 12px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: 0.2s;
}
.delivery-option:hover {
    background: #f0f6ff;
}
.delivery-option .icon {
    font-size: 20px;
    margin-right: 8px;
}
.delivery-option .label {
    flex-grow: 1;
    font-weight: 500;
}

.delivery-option input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #2563eb; /* blue border */
    border-radius: 50%;
    outline: none;
    cursor: pointer;
    position: relative;
    margin-right: 10px;
}

.delivery-option input[type="radio"]:checked::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    background: black;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}
/* Info icon style */
.info-icon {
    display: inline-block;
    width: 18px;
    height: 18px;
    line-height: 18px;
    border-radius: 50%;
    background: #2563eb; /* blue circle */
    color: #fff;
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    margin-left: 6px;
    cursor: pointer;
    position: relative;
}

/* Tooltip */
.info-icon::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 125%;
  left: 50%;
  transform: translateX(-50%);
  background: #333;
  color: #fff;
  padding: 6px 10px;
  border-radius: 4px;
  font-size: 13px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
  z-index: 10;
	width:300px;
}

/* Tooltip arrow */
.info-icon::before {
    content: "";
    position: absolute;
    bottom: 115%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 6px;
    border-style: solid;
    border-color: #333 transparent transparent transparent;
    opacity: 0;
    transition: opacity 0.2s;
}

/* Show tooltip on hover */
.info-icon:hover::after,
.info-icon:hover::before {
    opacity: 1;
}
/* End Delivery options */
/* Extra Info */
.extra-info {
    color: #0a0a0a;
}
.extra-amount {
	color: #3F64FF;
}

.extra-info .volume-discount,
.extra-info .delivery-between {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}
/* End Extra Info */
/* Disable swatch link hover */
.wd-swatches a.wd-disabled {
  pointer-events: none;
}
/* End Single Product Page */
/* End Linked variations */

/* Header menu styles */
.header_menu_wrapper {
	background: black;
	padding-top: 14px;
	padding-bottom: 14px;
	padding-left: 44px;
	padding-right: 44px;
	border-radius: 20px;
	margin-left: -25px;
}

/* Product cart */
.add_to_cart_button {
	display: none;
}

/* Single product page */
.zip-related-area {
	display: none;
}

.product-element-bottom {
	justify-content: space-between;
}

.zip-code-placeholder {
	width: -webkit-fill-available;
	width: 100%;
	display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.get-quote-button,
.view-product-button {
	width: 100%;
	width: -webkit-fill-available;
  cursor: pointer;
  border: none;
  border-radius: 10px;
  color: #fff;
  font-family: Nunito;
  font-size: 18px;
  font-weight: 600;
  line-height: 24.55px;
  padding: 12px 20px;
  background: linear-gradient(135deg, #3f64ff, #5e8bff);
  text-decoration: none;
  text-transform: unset;
  transition: background-position 0.4s ease, box-shadow 0.3s ease;
  background-size: 200% 200%;
  background-position: 0% 50%;
  box-shadow: 0 4px 12px rgba(63, 100, 255, 0.3);
}
..get-quote-button:hover,
.view-product-button:hover {
	color: #fff;
  background-position: 100% 50%;
  box-shadow: 0 6px 18px rgba(63, 100, 255, 0.5);
}

.custom-product-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
}

.custom-product-price {
  font-family: Nunito;
  font-size: 18px;
  font-weight: 700;
  color: #3f64ff;
	float: left;
	margin-top: -12px;
}

.custom-product-delivery {
  font-family: Nunito;
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 400;
  color: #6b7280;
	float: left;
}

/* Styling for the loading spinner container */
.loading-spinner {
  border: 4px solid #f3f3f3; /* Light grey border */
  border-top: 4px solid #3498db; /* Blue border on top to create the spin effect */
  border-radius: 50%; /* Makes the element a circle */
  width: 30px;
  height: 30px;
  animation: spin 1s linear infinite; /* Applies the 'spin' animation */
  margin: 10px auto; /* Centers the spinner horizontally */
}

/* The animation keyframes */
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* End of product cart styles */

/* WP forms */
#wpforms-form-2276 .wpforms-submit-container{
	display:flex;
	justify-content:flex-end;
}

#wpforms-form-2276 input, input::placeholder {
    text-align: left;
}
/* End WP forms */

#tidio-chat {
    bottom: 50px !important;
}

/* Contact form */
.mfp-content .wd-popup{ border-radius:14px }

.custom-contact-form .wpcf7-form p{ margin:0 !important; }
.custom-contact-form .wpcf7-form .wpcf7-form-control-wrap{
  display:block; margin:4px 0 !important;
}

.custom-contact-form .wpcf7-form input.wpcf7-form-control:not([type=submit]){
  height:60px; padding:10px 10px; border-radius:14px;
}
.custom-contact-form .wpcf7-form textarea.wpcf7-form-control{
  min-height:130px; padding:10px 10px; border-radius:12px;
}

.custom-contact-form .wpcf7-submit{
  float:right; margin-top:8px; padding:14px 20px; border-radius:12px;
}
.custom-contact-form .wpcf7-form::after{ content:""; display:block; clear:both; }

.wpcf7-form-control{
	margin-bottom: 15px;
}

/* Service Area Toast - Polished UI */
.service-area-notice {
    position: fixed;
    top: 20px;
    right: 20px;
    max-width: 380px;
    background: #ffffff;
    border-left: 5px solid #0abcc6;
    border-radius: 8px;
    padding: 16px 20px;
    font-size: 15px;
    line-height: 1.5;
    color: #111;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    opacity: 0;
    transform: translateY(-20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
    z-index: 9999;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

/* Show toast */
.service-area-notice.show {
    opacity: 1;
    transform: translateY(0);
}

/* Optional info icon */
.service-area-notice::before {
    content: 'ℹ️';
    font-size: 18px;
    margin-right: 8px;
    flex-shrink: 0;
}

/* Links inside toast */
.service-area-notice a {
    color: #0abcc6;
    font-weight: 600;
    text-decoration: none;
}

.service-area-notice a:hover {
    text-decoration: underline;
}

.service-area-notice strong {
    font-size: 15px;
		font-weight: 700;
}

.service-area-notice p {
	margin: 0;
}

/* Responsive for smaller screens */
@media (max-width: 480px) {
    .service-area-notice {
        right: 10px;
        left: 10px;
        max-width: unset;
        font-size: 14px;
    }
}

/* Contact form ends */

/* special discount */
.special-discount {
    display: flex;
    justify-content: space-between;
		margin-bottom: 6px;
}
span#special-info-icon::after {
    display: none !important;
}

.special-amount{
	color: var(--wd-primary-color);
  font-weight: 600;
}



.wp-block-woocommerce-empty-mini-cart-contents-block {
    display: none !important;
}

.service-area-notice-close {
	  position: absolute;
	  top: 8px;
	  right: 10px;
	  cursor: pointer;
	  font-size: 18px;
	  font-weight: bold;
	  color: #333;
}



/**/
/* ----------------------------------------
   CUSTOM MINI-CART ICON
---------------------------------------- */

/* Fix alignment of mini cart wrapper */
.wc-block-mini-cart.wp-block-woocommerce-mini-cart.has-font-size.has-medium-font-size {
    margin-right: -25px;
}

/* Quantity badge container alignment */
.wc-block-mini-cart__quantity-badge {
    display: flex !important;
    align-items: center;
    align-self: flex-start !important;
    position: initial !important;
}

/* CUSTOM ICON BASE */
.wc-custom-mini-cart-icon {
    display: inline-block !important;
    width: 32px !important;
    height: 32px !important;
    background-image: url("https://www.vivacontainers.com/wp-content/uploads/2025/12/cargo-container-icon.svg") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;

    /* Default color → black → inverted to white */
    filter: brightness(0) invert(1) !important;
    opacity: 1 !important;
}

/* HIDE WOO DEFAULT ICON */
.wc-block-mini-cart__icon {
    display: none !important;
}

/* HOVER STATE for icon */
.wc-block-mini-cart__button:hover .wc-custom-mini-cart-icon {
    filter: brightness(0) invert(1) opacity(0.5) !important;
}

/* Remove theme button hover effects */
button.wc-block-mini-cart__button {
    border-color: initial !important;
    background-color: initial !important;
    box-shadow: initial !important;
}

:is(.btn,.button,button,[type=submit],[type=button]):hover {
    border-color: initial !important;
    background-color: initial !important;
    box-shadow: initial !important;
}

/* ----------------------------------------
   BADGE (QUANTITY BUBBLE)
---------------------------------------- */
.wc-block-mini-cart__badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: rgb(63, 100, 255) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Make empty badge show "0" */
.wc-block-mini-cart__badge:empty::after {
    content: "0";
    font-size: 14px !important;
    font-weight: 600 !important;
    color: rgb(63, 100, 255) !important;
}

/* Hover color for badge background */
.wc-block-mini-cart__button:hover .wc-block-mini-cart__badge {
    background-color: rgba(255, 255, 255, 0.5) !important;
    color: #fff !important;
}
