:root {
  --base-font: "Commissioner", sans-serif; --title-font: "Roboto Flex", sans-serif;
  --button-bg-color: #32a654; --hover-button-bg-color: #2ca2ba; --button-txt-color: #fff; --hover-button-txt-color: #fff;
  --link-color: #32a654; --hover-link-color: #2ca2ba;
  --menu-bg-color: #f3f3f3; --menu-link-color: #fff; --hover-menu-link-color: #3c3c3c; --menu-link-bg-color: #fff; --hover-menu-link-bg-color: #32a654;
  --bg-color: #fff; --txt-color: #3c3c3c;
}
html { line-height: 1.8; -webkit-text-size-adjust: 100%; letter-spacing: .05rem; }
body { margin: 0; font-family: var(--base-font); background-color: var(--bg-color); color: var(--txt-color); font-size: 1.1rem; font-weight: 200; }
body.woocommerce { margin-top: 0 !important; }
h1, h2, h3, .h1, .h2, .h3, .wdd-main-nav, .wc-block-grid__product-title { font-family: var(--title-font); text-transform: uppercase; line-height: .9; font-weight: 400; }
a { text-decoration: none; color: var(--link-color); transition: all 1s; }
a:hover { color: var(--hover-link-color); }
.txt-sm { font-size: 1rem; }
footer { background-color: var(--menu-bg-color); font-size: 1rem; }
footer a { padding: 5px; }
footer p, footer address, footer a { color: var(--txt-color); }
.wdd-rounded { border-radius: 15px; }
.wdd-card { background: #ffffff81; border-radius: 6px; padding: 20px; }

/*REWRITING WP BRAKING CONTAINER WIDTH*/
body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: 1200px; }

/*TOP MENU*/
#wdd-fixed-nav { z-index: 998; position: fixed; box-sizing: border-box; vertical-align: middle; width: 100%; padding: 0px 20px; align-items: center; top: 0; background: #fff; color: var(--txt-color); font-size: 1.2rem; background-color: var(--menu-bg-color); }
@media(min-width: 1400px) { #wdd-fixed-nav { padding: 0px 70px; } }

#wdd-upper-nav { display: grid; grid-template-columns: fit-content(100%) auto; padding-top: 10px; }
#wdd-upper-nav > :first-child { width: fit-content; }
#wdd-upper-nav > :last-child { text-align: right; }
input[type='search'] { -webkit-appearance: none; box-sizing: border-box; margin: 0; padding: 0 10px; border-radius: 5px; height: 36px; width: 300px; }
#wdd-upper-nav > :last-child a { margin-left: 10px; }
#wdd-upper-nav > :last-child img { display: inline; margin-left: 10px; }
#wdd-upper-nav #wdd-menu-close { display: none; }

#wdd-lower-nav { width: fit-content; margin: 10px auto; text-align: center; background: var(--button-bg-color); color: var(--menu-link-color); border-radius: 20px; }
#wdd-lower-nav li, .wdd-mobile-menu, .wdd-mobile-menu li.menu-item-has-children { position: relative; display: inline; list-style: none !important; }
#wdd-lower-nav a { color: var(--menu-link-color); } #wdd-lower-nav ul.sub-menu a { color: var(--txt-color); }
#wdd-lower-nav a, #wdd-lower-nav ul.sub-menu a { transition: all 1s; padding: 8px 24px; list-style-type: none; margin: 6px; }
#wdd-lower-nav a:hover, #wdd-slide-menu .wdd-inner-menu a:hover { font-weight: 500; } #wdd-lower-nav ul.sub-menu li a:hover, #wdd-slide-menu .wdd-inner-menu a:hover { background-color: var(--button-bg-color); color: var(--menu-link-color); }
.wp-inner-nav { margin-bottom: 0; }
#menu-main { margin: 0; } #menu-main {padding-left:20px;padding-right:20px;}

/*SUB MENU*/
#wdd-lower-nav ul.sub-menu { display: none; transition: all 1s;}
#wdd-lower-nav ul.sub-menu li a { display: block; }
#wdd-lower-nav li.menu-item-has-children:hover ul.sub-menu {
  list-style-type: none;
  display: block;
  box-sizing: border-box;
  padding: 5px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 400px;
  text-align: left;
  background: var(--menu-link-color);
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.5);
}

/*MOBILE MENU*/
#wdd-slide-menu { width: 100%; height: 0; position: fixed; z-index: 997; left: 0; background-color: var(--menu-link-color); overflow-x: hidden; transition: 0.5s; padding: 30px; }
#wdd-slide-menu .wdd-inner-menu div { border-bottom: 2px solid #fff; max-width: 600px; }
#wdd-slide-menu .wdd-inner-menu a { display: block; font-size: 1.3rem; padding: 8px 8px; margin-bottom: 20px; color: var(--txt-color); }
.wdd-menu-toggler { display:inline; cursor: pointer; }

/** WP & W O O C O M M E R C E */
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled { background: var(--menu-link-bg-color) ; }
body.woocommerce { width: 100% !important; margin-top: 145px; }
@media(min-width: 960px) { body.woocommerce { margin-top: 118px; } .woocommerce-page h1 { font-size: 2.5rem; } }
body.woocommerce #primary { max-width: 1140px; padding: 15px; margin: auto; }
@media(max-width: 959px) { .woocommerce-page h1 { font-size: 1.5rem; } }

.woocommerce-result-count, .woocommerce-ordering, .wp-block-woocommerce-filter-wrapper { font-size: .9rem; }
.woocommerce-breadcrumb { font-size: .85rem!important; margin: 5px 0; }

.wc-tabs, .woocommerce-Tabs-panel--additional_information, .woocommerce-Tabs-panel--description > h2:first-of-type, .has-post-thumbnail .add_to_cart_button { display: none !important; }
.sku_wrapper, .posted_in {display: block;}
.wc-tab { display: block; padding: 20px 0 !important; }
.woocommerce-Tabs-panel--reviews { display: block !important; }
.woocommerce-checkout-payment, .woocommerce-Price-amount { color: var(--txt-color); }
.woocommerce-notices-wrapper { background:#b6b6b6; }
li.product { text-align: center; }

.woocommerce-products-header, .woocommerce-notices-wrapper, .woocommerce-result-count, ul.products {
  width: 100% !important;
  max-width: 1140px !important;
  padding-right: var(--bs-gutter-x, 0.75rem) !important;
  padding-left: var(--bs-gutter-x, 0.75rem) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  float: none !important;
}

.single_add_to_cart_button, .add_to_cart_button, .wc-backward, .wc-forward, .wp-block-button__link, .wp-element-button, .wdd-button, submit.woocommerce_checkout_place_order, button.woocommerce_checkout_place_order, submit.apply_coupon, button.apply_coupon, submit.button, button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, .add_to_quote, .forminator-button, .forminator-button-submit{
  font-family: var(--title-font);
  font-size: 1rem;
  font-weight: 400;
  text-transform: uppercase;
  margin: 0;
  overflow: visible;
  -webkit-appearance: none;
  display: inline-block;
  border: 0;
  box-sizing: border-box;
  vertical-align: middle;
  line-height: 20px !important;
  text-align: center;
  text-decoration: none;
  transition: 0.5s all ease-in-out;
  background-color: var(--button-bg-color);
  color: var(--button-txt-color);
  padding: 16px 24px !important;
  border-radius: 0px !important;
}

.single_add_to_cart_button:hover, .add_to_cart_button:hover, .wc-backward:hover, .wc-forward:hover, .wp-block-button__link:hover, div.wp-block-buttons > div.wp-block-button > a.wp-element-button:hover, .wpforms-submit:hover, .wdd-button:hover, submit.woocommerce_checkout_place_order:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover, .forminator-button:hover, .forminator-button-submit:hover {
  background-color: var(--hover-button-bg-color);
  color: var(--hover-button-txt-color);
  text-decoration: none;
  -webkit-transition: background-color 1000ms linear !important;
  -ms-transition: background-color 1000ms linear !important;
  transition: background-color 1000ms linear !important;
}

#add_payment_method table.cart img, .woocommerce-cart table.cart img, .woocommerce-checkout table.cart img { width: 100px !important; }
.woocommerce #content table.cart td.actions .input-text, .woocommerce table.cart td.actions .input-text, .woocommerce-page #content table.cart td.actions .input-text, .woocommerce-page table.cart td.actions .input-text { width: 120px; }
.woocommerce-form__input, .woocommerce-form__input-checkbox, .input-checkbox { display: inline-block !important; margin: 0px !important; line-height: 2 !important; }

.woocommerce-message, .woocommerce-info { background-color: #212529 !important; color: white; border: none; margin: 0; }
.qty { margin: .2em !important; }

.attachment-woocommerce_thumbnail, .size-woocommerce_thumbnail { max-width: 160px !important; margin: auto !important; }

/** A N I M A T I O N S **/

/*! From UIkit 3.15.24 */

a, .uk-link { text-decoration: none; cursor: pointer; }
audio, canvas, iframe, img, svg, video { vertical-align: middle; }
canvas, img, svg, video { max-width: 100%; height: auto; box-sizing: border-box; }

@media (min-width: 960px) { h1, .uk-h1 { font-size: 3rem; } h2, .uk-h2 { font-size: 3rem; } }

/** LIST **/
ul > li > ul, ul > li > ol, ol > li > ol, ol > li > ul { margin: 0; }

/** TABLE **/
table { border-collapse: collapse; border-spacing: 0; width: 100%; margin-bottom: 20px; }
* + table { margin-top: 20px; }
table th, table td { vertical-align: center; padding: 16px 12px; font-weight: normal; }
table td > :last-child { margin-bottom: 0; }

/** FORM **/
input, select, textarea {
  font: inherit;
  -webkit-appearance: none;
  box-sizing: border-box;
  margin: 0;
  padding: 0 10px;
  border: 1px solid #e5e5e5;
  border-radius: 0;
  transition: 0.2s ease-in-out; transition-property: color, background-color, border;
}

/** CONTAINER **/
.uk-container {
  display: flow-root !important;
  box-sizing: content-box !important;
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 15px;
  padding-right: 15px;
}

@media (min-width: 640px) { .uk-container { padding-left: 30px; padding-right: 30px; } }
@media (min-width: 960px) { .uk-container { padding-left: 40px; padding-right: 40px; } }

.uk-container > :last-child { margin-bottom: 0; }
.uk-container .uk-container { padding-left: 0; padding-right: 0; }
.uk-container-expand {
  display: flow-root !important;
  max-width: none;
  box-sizing: content-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 15px;
  padding-right: 15px;
}

/** GRID **/
.uk-grid, .single_variation_wrap {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

.uk-grid > * { margin: 0; }
.uk-grid > * > :last-child { margin-bottom: 0; }
.uk-grid { margin-left: -30px; }
.uk-grid > * { padding-left: 30px; }
.uk-grid { margin-top: 30px; }
@media (min-width: 1200px) { .uk-grid { margin-left: -40px; } .uk-grid > * { padding-left: 40px; } }

/** WIDTH **/
[class*="uk-width"] { box-sizing: border-box; width: 100%; max-width: 100%; }
.uk-width-1-2 { width: 50%; }
.uk-width-1-3 { width: calc(100% / 3);}
.uk-width-2-3 { width: calc(200% / 3);}
.uk-width-1-4 { width: 25%;}
.uk-width-3-4 { width: 75%;}
.uk-width-auto { width: auto;}
.uk-width-expand { flex: 1; min-width: 1px;}
/* Phone landscape and bigger */
@media (min-width: 640px) { .uk-width-1-1\@s { width: 100%; } .uk-width-1-2\@s { width: 50%; } .uk-width-1-3\@s { width: calc(100% / 3); } .uk-width-2-3\@s { width: calc(200% / 3); } .uk-width-1-4\@s { width: 25%; } .uk-width-3-4\@s { width: 75%; } .uk-width-auto\@s { width: auto; } .uk-width-expand\@s { flex: 1; min-width: 1px; }
  /* Reset expand */
  .uk-width-1-1\@s, .uk-width-1-2\@s, .uk-width-1-3\@s, .uk-width-2-3\@s, .uk-width-1-4\@s, .uk-width-3-4\@s, .uk-width-auto\@s { flex: initial; }
}

@media (min-width: 960px) { .uk-width-1-1\@m { width: 100%; } .uk-width-1-2\@m { width: 50%; } .uk-width-1-3\@m { width: calc(100% / 3); } .uk-width-2-3\@m { width: calc(200% / 3); } .uk-width-1-4\@m { width: 25%; } .uk-width-3-4\@m { width: 75%; } .uk-width-auto\@m { width: auto; } .uk-width-expand\@m { flex: 1; min-width: 1px; }
  /* Reset expand */
  .uk-width-1-1\@m, .uk-width-1-2\@m, .uk-width-1-3\@m, .uk-width-2-3\@m, .uk-width-1-4\@m, .uk-width-3-4\@m, .uk-width-auto\@m { flex: initial; }
}

@media (min-width: 1200px) { .uk-width-1-1\@l { width: 100%; } .uk-width-1-2\@l { width: 50%; } .uk-width-1-3\@l { width: calc(100% / 3); } .uk-width-2-3\@l { width: calc(200% / 3); } .uk-width-1-4\@l { width: 25%; } .uk-width-3-4\@l { width: 75%; } .uk-width-auto\@l { width: auto; } .uk-width-expand\@l { flex: 1; min-width: 1px; }
  /* Reset expand */
  .uk-width-1-1\@l, .uk-width-1-2\@l, .uk-width-1-3\@l, .uk-width-2-3\@l, .uk-width-1-4\@l, .uk-width-3-4\@l, .uk-width-auto\@l { flex: initial; }
}

@media (min-width: 1600px) { .uk-width-1-1\@xl { width: 100%; } .uk-width-1-2\@xl { width: 50%; } .uk-width-1-3\@xl { width: calc(100% / 3); } .uk-width-2-3\@xl { width: calc(200% / 3); } .uk-width-1-4\@xl { width: 25%; } .uk-width-3-4\@xl { width: 75%; } .uk-width-auto\@xl { width: auto; } .uk-width-expand\@xl { flex: 1; min-width: 1px; }
  /* Reset expand */
  .uk-width-1-1\@xl, .uk-width-1-2\@xl, .uk-width-1-3\@xl, .uk-width-2-3\@xl, .uk-width-1-4\@xl, .uk-width-3-4\@xl, .uk-width-auto\@xl { flex: initial; }
}

[class*='uk-child-width'] > * { box-sizing: border-box; width: 100%; }
.uk-child-width-1-2 > * { width: 50%; }
.uk-child-width-1-3 > * { width: calc(100% * 1 / 3.001); }
.uk-child-width-1-4 > * { width: 25%; }
.uk-child-width-auto > * { width: auto; }

.uk-child-width-expand > :not([class*="uk-width"]) { flex: 1; min-width: 1px; }

@media (min-width: 640px) { .uk-child-width-1-1\@s > * { width: 100%; } .uk-child-width-1-2\@s > * { width: 50%; } .uk-child-width-1-3\@s > * { width: calc(100% / 3); } .uk-child-width-1-4\@s > * { width: 25%; } .uk-child-width-1-5\@s > * { width: 20%; } .uk-child-width-1-6\@s > * { width: calc(100% / 6); } .uk-child-width-auto\@s > * { width: auto; } .uk-child-width-expand\@s > :not([class*="uk-width"]) { flex: 1; min-width: 1px; }
  /* Reset expand */
  .uk-child-width-1-1\@s > :not([class*="uk-width"]), .uk-child-width-1-2\@s > :not([class*="uk-width"]), .uk-child-width-1-3\@s > :not([class*="uk-width"]), .uk-child-width-1-4\@s > :not([class*="uk-width"]), .uk-child-width-1-5\@s > :not([class*="uk-width"]), .uk-child-width-1-6\@s > :not([class*="uk-width"]), .uk-child-width-auto\@s > :not([class*="uk-width"]) { flex: initial; }
}

@media (min-width: 960px) { .uk-child-width-1-1\@m > * { width: 100%; } .uk-child-width-1-2\@m > * { width: 50%; } .uk-child-width-1-3\@m > * { width: calc(100% / 3); } .uk-child-width-1-4\@m > * { width: 25%; } .uk-child-width-1-5\@m > * { width: 20%; } .uk-child-width-1-6\@m > * { width: calc(100% / 6); } .uk-child-width-auto\@m > * { width: auto; } .uk-child-width-expand\@m > :not([class*="uk-width"]) { flex: 1; min-width: 1px; }
  /* Reset expand */
  .uk-child-width-1-1\@m > :not([class*="uk-width"]), .uk-child-width-1-2\@m > :not([class*="uk-width"]), .uk-child-width-1-3\@m > :not([class*="uk-width"]), .uk-child-width-1-4\@m > :not([class*="uk-width"]), .uk-child-width-1-5\@m > :not([class*="uk-width"]), .uk-child-width-1-6\@m > :not([class*="uk-width"]), .uk-child-width-auto\@m > :not([class*="uk-width"]) { flex: initial; }
}

@media (min-width: 1200px) { .uk-child-width-1-1\@l > * { width: 100%; } .uk-child-width-1-2\@l > * { width: 50%; } .uk-child-width-1-3\@l > * { width: calc(100% / 3); } .uk-child-width-1-4\@l > * { width: 25%; } .uk-child-width-1-5\@l > * { width: 20%; } .uk-child-width-1-6\@l > * { width: calc(100% / 6); } .uk-child-width-auto\@l > * { width: auto; } .uk-child-width-expand\@l > :not([class*="uk-width"]) { flex: 1; min-width: 1px; }
  /* Reset expand */
  .uk-child-width-1-1\@l > :not([class*="uk-width"]), .uk-child-width-1-2\@l > :not([class*="uk-width"]), .uk-child-width-1-3\@l > :not([class*="uk-width"]), .uk-child-width-1-4\@l > :not([class*="uk-width"]), .uk-child-width-1-5\@l > :not([class*="uk-width"]), .uk-child-width-1-6\@l > :not([class*="uk-width"]), .uk-child-width-auto\@l > :not([class*="uk-width"]) { flex: initial; }
}

@media (min-width: 1600px) { .uk-child-width-1-1\@xl > * { width: 100%; } .uk-child-width-1-2\@xl > * { width: 50%; } .uk-child-width-1-3\@xl > * { width: calc(100% / 3); } .uk-child-width-1-4\@xl > * { width: 25%; } .uk-child-width-1-5\@xl > * { width: 20%; } .uk-child-width-1-6\@xl > * { width: calc(100% / 6); } .uk-child-width-auto\@xl > * { width: auto; } .uk-child-width-expand\@xl > :not([class*="uk-width"]) { flex: 1; min-width: 1px; }
  /* Reset expand */
  .uk-child-width-1-1\@xl > :not([class*="uk-width"]), .uk-child-width-1-2\@xl > :not([class*="uk-width"]), .uk-child-width-1-3\@xl > :not([class*="uk-width"]), .uk-child-width-1-4\@xl > :not([class*="uk-width"]), .uk-child-width-1-5\@xl > :not([class*="uk-width"]), .uk-child-width-1-6\@xl > :not([class*="uk-width"]), .uk-child-width-auto\@xl > :not([class*="uk-width"]) { flex: initial; }
}

/** TEXT ALIGN **/
.uk-text-left { text-align: left !important; }
.uk-text-right { text-align: right !important; }
.uk-text-center { text-align: center !important; }
.uk-text-top { vertical-align: top !important; }
.uk-text-middle { vertical-align: middle !important; }
.uk-text-bottom { vertical-align: bottom !important; }
.uk-text-baseline { vertical-align: baseline !important; }

/** ALIGN **/
[class*='uk-align'] { display: block; margin-bottom: 30px; }
* + [class*='uk-align'] { margin-top: 30px; }

.uk-align-center { margin-left: auto; margin-right: auto; }
.uk-align-left { margin-top: 0; margin-right: 30px; float: left; }
.uk-align-right { margin-top: 0; margin-left: 30px; float: right; }

/* FLEX */
.uk-flex .wp-block-group__inner-container { display: flex; }
.uk-flex-inline { display: inline-flex; }
.uk-flex-middle { align-items: center; }
.uk-flex-bottom { align-items: flex-end; }

/* MARGIN */
.uk-margin { margin: 20px; }
.uk-margin-auto { margin-left: auto !important; margin-right: auto !important; }
.uk-margin-remove { margin: 0 !important; }

/* PADDING */
.uk-padding { padding: 30px; }
@media (min-width: 1200px) { .uk-padding { padding: 40px; } }
.uk-padding-x { padding: 0px 20px 0px 20px;}
@media(max-width: 1200px) { .uk-padding-x { padding: 0px 0px 15px 15px; } }
@media(min-width: 1200px) { .uk-padding-x { padding: 0px 0px 40px 40px; } }
.uk-padding-top { padding-top: 30px; }
.uk-padding-small { padding: 15px; }
.uk-padding-remove { padding: 0 !important; }

/* VISIBILITY */
[hidden], .uk-hidden { display: none !important; }

@media (min-width: 640px) { .uk-hidden\@s { display: none !important; } }
@media (min-width: 960px) { .uk-hidden\@m { display: none !important; } }
@media (min-width: 1200px) { .uk-hidden\@l { display: none !important; } }
@media (max-width: 639px) { .uk-visible\@s { display: none !important; } }
@media (max-width: 959px) { .uk-visible\@m { display: none !important; } }
@media (max-width: 1199px) { .uk-visible\@l { display: none !important; } }

/* WooCommerce shop layout */
.alcaribe-woo-wrapper {
  max-width: 1140px;
  margin: 0 auto;
  padding: 15px;
}

.alcaribe-shop-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 20px;
}

.alcaribe-shop-sidebar {
  font-size: 0.9rem;
}

.alcaribe-shop-main {
  min-width: 0; /* to avoid overflow in grid */
}

/* Single products: just centered content */
.alcaribe-shop-main--single {
  max-width: 1140px;
  margin: 0 auto;
  padding: 15px;
}

/* Mobile layout: sidebar becomes a top section, full width */
@media (max-width: 768px) {
  .alcaribe-shop-layout {
    display: block; /* stack elements instead of grid */
  }

  .alcaribe-shop-sidebar {
    margin-bottom: 15px;
    /* make it feel like a filter panel, not a narrow column */
    background: #f5f5f5;
    padding: 12px;
    border-radius: 4px;
  }

  .alcaribe-shop-main {
    /* full width, under the filters */
  }
}

/* Filters toggle button - mobile only */
.alcaribe-mobile-filters-toggle {
  display: none;
  border: 1px solid #ccc;
  background: #ffffff;
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 0.9rem;
  cursor: pointer;
  margin-bottom: 10px;
}

/* Mobile behaviour */
@media (max-width: 768px) {

  .alcaribe-mobile-filters-toggle {
    display: inline-block;
  }

  .alcaribe-shop-layout {
    display: block;
  }

  /* Hide sidebar by default on mobile */
  .alcaribe-shop-sidebar {
    display: none;
    margin-bottom: 15px;
    background: #f5f5f5;
    padding: 12px;
    border-radius: 4px;
  }

  /* When "filters-open" is added, show the sidebar */
  .alcaribe-shop-layout.filters-open .alcaribe-shop-sidebar {
    display: block;
  }
}