@import url('https://fonts.googleapis.com/css2?family=Alegreya SC:wght@500&family=IM Fell English:ital@0;1&display=swap');

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

/* ===================
   BASE / RESET
   =================== */
body {
  background: #000;
  font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #fff;
  line-height: 1.3em;
  letter-spacing: -.02em;
  position: relative !important;
  left: 0 !important;
  overflow: visible !important;
  width: auto !important;
  height: auto !important;
  top: 0 !important;
}

a { color: #fff; text-decoration: none; }
a:hover, a:focus { color: #fff; text-decoration: none; }

h1, h2, h3, h4, h5, h6 {
  color: #fff;
  line-height: normal;
  padding: 0;
  margin: 0 0 15px 0;
}

h1 { font-size: 2.25rem; font-weight: normal; }
h2 { font-size: 1.5rem; font-weight: normal; }
h3 { font-size: 22px; font-weight: normal; }
h4 { font-size: 20px; font-weight: normal; }
h5 { font-size: 18px; font-weight: normal; }

/* ===================
   FORMS
   =================== */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
.form_textarea {
  border: 1px solid #dedede;
  box-shadow: none;
  border-radius: 0;
  color: #2d2d2d;
  box-sizing: border-box;
}

select {
  border: 1px solid #dedede;
  box-shadow: none;
  border-radius: 0;
  color: #000;
  padding: 6px 8px 7px 8px;
  box-sizing: border-box;
  height: auto;
  line-height: normal;
}

.form_textarea { resize: none; }
.form-control { font-size: 14px; }
.form_element { clear: both; }

.form_element .checkboxControl,
.form_element .checkbox-element,
.form_element .radioControl,
.form_element .radio-element { display: inline-block; }

.forms label { width: 250px; }
.formrow label { display: block; }
.form-horizontal .control-label { text-align: left; }
.form-actions { background-color: transparent; border: 0; }
.form-actions input { width: inherit; }

/* ===================
   BUTTONS
   =================== */
.defaultBtn,
.form_button,
input[type='submit'],
.btn-primary {
  background: #2d2d2d;
  color: #fff;
  border: 0;
}

.btn-primary {
  background-color: #2d2d2d;
  border-color: #000;
  border-radius: 0;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary.disabled,
.btn-primary[disabled] {
  background: #000;
  color: #fff !important;
}

.btn-primary:hover {
  background: #bfbfbf !important;
  color: #1a1a1a !important;
}
.btn.checkout-btn {
  font-size: 15px;
  padding: 6px 12px !important;
}

.defaultBtn span { color: #fff; padding: 5px 10px; border: 0; }

.defaultBtn:hover span,
.defaultBtn:focus span,
.form_button:hover { color: #333; }

.link-btn { background: #2d2d2d; color: #fff; padding: 5px 10px; }
.link-btn:hover, .link-btn:focus { color: #2d2d2d; padding: 5px 10px; }

#addCartButton {
  margin-left: 0;
  padding: 8px 10px;
  background-color: #14141400;
  width: auto;
  margin-top: 8px;
  box-sizing: border-box;
}

.store-card .btn { color: #fff !important; }

/* ===================
   FONT AWESOME
   =================== */
.fa {
  display: inline-block;
  font: normal normal normal 18px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#header {
  margin-bottom: 0;
  background: #000;
  position: relative;
  z-index: 1000;
}

#header .row {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
  position: relative;
}

/* Logo */
#header .sitelogo {
  order: 1;
  text-align: center;
  width: 100%;
  flex: none;
}

.sitelogo { text-align: center; }
.sitelogo img { margin: 0 auto; }
#header .navbar-brand img { width: 300px !important; }

/* Login/cart — pinned right */
#header .col-md-2.login-link-wrapper {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  width: auto;
  flex: none;
}

#login-link {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  gap: 15px;
  list-style: none;
  margin: 0;
  padding: 0;
  white-space: nowrap;
}

#login-link li {
  display: inline-block;
  margin: 0 10px;
  font-size: 12px;
}

/* Social icons — pinned left */
.social-icons {
  position: absolute;
  left: 30px;
  top: 50%;
  transform: translateY(-50%);
  display: flex !important;
  gap: 10px;
  z-index: 10;
}

.social-icons a {
  color: #fff;
  font-size: 18px;
  padding: 10px;
}

/* Main nav column */
#header .col-md-8 {
  order: 2;
  width: 100%;
  flex: none;
}

/* Navbar */
#header .navbar {
  background: #000;
  padding: 0;
  justify-content: center;
}

.navbar-dark .navbar-nav .nav-link {
  font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
  font-size: 16px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #fff !important;
  padding: 15px 12px;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .active > .nav-link {
  color: #ccc !important;
  background: transparent;
}

/* Toggler button */
.navbar-toggler {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 6px 10px;
  display: none;
}

.main-menu-label {
  display: none;
  color: #fff;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-right: 15px;
  vertical-align: middle;
}

.icon-bars-wrap {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  vertical-align: middle;
}

.icon-bars-wrap .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  background-color: #fff;
  border-radius: 1px;
}

/* ===================
   CATEGORIES
   =================== */
.category {
  position: sticky;
  top: 0;
  z-index: 999;
  background: #000;
  padding: 0;
  border-bottom: 1px solid #222;
  margin-bottom: 20px;
}

.category .navbar {
  background: #000;
  padding: 0;
  justify-content: center;
}

/* Hide brand on desktop */
.category .navbar-brand {
  display: none;
  color: #fff;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 2px;
}

/* Hide toggler on desktop */
.category .navbar-toggler {
  display: none;
}

ul.category-tree {
  display: inline-flex !important;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  list-style: none !important;
  margin: 0 !important;
  padding: 8px 0 !important;
}

ul.category-tree > li.has-child {
  position: relative;
  display: inline-block;
}

ul.category-tree > li.has-child > a {
  display: inline-block;
  padding: 8px 20px;
  color: #fff;
  font-size: 15px;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
}

ul.category-tree > li.has-child > a:hover { color: #ccc; }

ul.category-tree > li.has-child > ul.child {
  display: inline-flex !important;
  flex-direction: row;
  align-items: center;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

ul.category-tree > li.has-child > ul.child li a {
  display: inline-block;
  padding: 8px 20px;
  color: #fff;
  font-size: 15px;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}

ul.category-tree > li.has-child > ul.child li a:hover { color: #ccc; }

/* ===================
   RESPONSIVE — max 1199px: category hamburger
   =================== */
@media (max-width: 1199px) {
  .category .navbar-brand { display: inline-block !important; }
  .category .navbar-toggler { display: inline-flex !important; }
  .category .navbar { justify-content: space-between; padding: 5px 15px; flex-wrap: wrap; }
  .category .navbar-collapse { width: 100%; }

  ul.category-tree { display: block !important; width: 100%; padding: 0 !important; }
  ul.category-tree > li.has-child { display: block !important; width: 100%; }
  ul.category-tree > li.has-child > a { display: block; padding: 10px 20px; border-bottom: 1px solid rgba(255,255,255,0.1); }
  ul.category-tree > li.has-child > ul.child { display: block !important; background: #111; padding: 0 !important; }
  ul.category-tree > li.has-child > ul.child li a { display: block !important; padding: 10px 30px; border-bottom: 1px solid rgba(255,255,255,0.07); font-size: 13px; }
}

/* ===================
   RESPONSIVE — max 992px: main nav hamburger
   =================== */
@media (max-width: 992px) {
  .navbar-toggler { display: inline-flex !important; }
  .main-menu-label { display: inline-block; }
  #header .navbar-collapse { background: #000; width: 100%; }
}

/* ===================
   RESPONSIVE — max 900px
   =================== */
@media (max-width: 900px) {
  #header .col-md-2.login-link-wrapper {
    position: static;
    transform: none;
    width: 100%;
    text-align: center;
    margin-bottom: 10px;
  }
  .social-icons { position: static; transform: none; justify-content: center; margin-bottom: 10px; }
  #login-link { justify-content: center; }
}

/* ===================
   RESPONSIVE — max 767px
   =================== */
@media (max-width: 767px) {
  #header .col-md-2.login-link-wrapper { position: static; transform: none; width: 100%; text-align: center; order: 0; margin-bottom: 10px; }
  #login-link { justify-content: center; }
  .social-icons { position: static; transform: none; justify-content: center; margin-bottom: 10px; }
  #header .sitelogo { order: 1; }
  #header .col-md-8 { order: 2; }
  #header .row { flex-wrap: wrap; }
}
/* ===================
   HERO / BANNERS
   =================== */
.bg-white { background-color: #000 !important; }

.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  background-color: #000;
  border-radius: .3rem;
}

.hero-banner {
  background-size: cover;
  background-position: bottom;
  color: #fff;
  text-align: center;
  padding: 20% 0 25% 0;
}

h1.hero-banner-heading { color: #fff; font-size: 3rem; font-style: italic; }
.hero-banner-subtitle { color: #fff; font-size: 1.5rem; }

.main-banner {
  height: calc(100vh - 130px);
  display: flex;
  justify-content: center;
  align-items: center;
  background-size: cover !important;
}

#banner-2 { position: relative; }
#banner-2 img { width: 100%; overflow: hidden; }

.logo {
  position: absolute;
  text-align: center;
  top: 31.5%;
  left: 0;
  margin: 0 !important;
  padding: 0 !important;
}

.small-logo { background-color: #000; text-align: center; }

.hide {
	display: none;
}

/* ===================
   MODULES / CONTENT
   =================== */
#module h3 { text-align: center; margin-bottom: 20px; }
#module p { text-align: center; }
.module-text { padding: 0 23px; }

.subscribe-module { text-align: center; margin-top: 20px; }
.subscribe-module legend, .subscribe-module label, .subscribe-module #no-spam { display: none; }
.subscribe-module .btn-primary { border-radius: 0; }
.subscribe-module .btn-primary:hover { color: #fff; }

.features { padding: 25px 0 30px 0; }

.inner { padding: 20px 0 30px 0; }
.inner h1 { text-align: center; margin: 20px 0; }
.inner p { text-align: center; }

.inner-two-col { padding: 20px 0 30px 0; }
.inner-two-col:after { display: block; content: ""; clear: both; }
.inner-two-col h1 { text-align: left; }

#subscribe-widget { margin: 30px auto 0; width: 90%; }
.inner-subscribe { text-align: left !important; margin: 0; }

/* ===================
   WINES LISTING / PRODUCTS
   =================== */
.wines-listing {
  width: 100% !important;
  background: #000;
  padding: 50px 0;
  color: white;
}

.wines-listing a { color: #fff; }
.wines-listing li { color: #fff; }
.wines-listing ul { color: #fff; }
.wines-listing .items .view { float: left; margin-bottom: 10px; }

.wines-listing div.items div.view {
  min-height: 425px;
  box-sizing: border-box;
  padding: 10px;
}

.wines-listing .category-product-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}

.product-card {
  width: 100%;
  max-width: 100%;
  padding: 20px 30px 30px 30px;
  box-sizing: border-box;
  border: 2px solid #242424;
  background: radial-gradient(ellipse, rgb(57,57,57) 0%, rgb(11,11,11) 46%);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.product-image > a { display: block; text-align: center; }
.plp-product-name { text-align: center; color: #fff; flex-grow: 1; }
.plp-product-description { text-align: center; }

.product-data-plp {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-top: auto;
}

.product-data-plp .form-group.product-price {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.product-data-plp .price-bottle-group {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.product-data-plp .qty-button-group {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
}

.price-bottle-group .lbl-header { margin-right: 10px; }

.qty-button-group {
  flex-wrap: wrap;
  max-width: 100%;
  box-sizing: border-box;
}

.ui-spinner { max-width: 100%; box-sizing: border-box; }
.ui-spinner-input { width: 40px !important; min-width: unset !important; border: 0 !important; margin: 0.1em; }
.ui-widget-content { border: 1px solid #757575; background: #b9b9b9; color: #fff; }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana, Arial, sans-serif; font-size: 0.8em; }
.ui-button-icon-only .ui-icon { margin-left: 0; }
.form-outline { padding: 3px; border: 0 solid #c4c4c4 !important; width: 68px !important; }

.product-detail-wrapper {
  display: flex;
  border: 2px solid #242424;
  background: radial-gradient(ellipse at 20% 50%, rgb(57,57,57) 0%, rgb(11,11,11) 46%);
}

.product-detail-wrapper .product-image { flex: 0 0 30%; padding: 20px; }
.product-detail-wrapper .product-detail { flex: 0 0 70%; padding: 20px; }

.product-details { line-height: normal !important; }
.product-out-of-stock-msg { color: #d10000; }

.product-options > .row { margin: 0; display: flex; align-items: center; }
.store-detail .product-options .product_variation { width: 50%; }

.product_variation label {
  min-width: inherit !important;
  display: block;
  margin: 15px 0;
  float: none;
}

.product_variation { margin-top: auto; }

#wine-detail .span3 { text-align: center; }
#wine-detail nav { display: none; }
.wine-title { text-align: left; }

/* ===================
   CATEGORIES
   =================== */
.category {
  position: sticky;
  z-index: 999;
  background: #000;
}

.category .navbar-inner {
  background: #000;
  border: 0;
  box-shadow: none;
  padding: 0;
  text-align: center;
}

.category .navbar-inner *,
.category .nav-collapse,
.category .nav-collapse .category-tree {
  float: none !important;
}

.category .nav-collapse {
  display: block;
  text-align: center;
}

/* Remove underline, style the brand label */
.category .navbar-inner .brand,
.category .navbar-inner .brand:hover,
.category .navbar-inner .brand:focus {
text-decoration: none !important;
  color: #fff;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 8px 0px 8px 10px;
  margin-right: 3px;
}

/* Hide brand and hamburger on desktop */
.category .brand { display: none !important; }
.category .btn-navbar { display: none !important; }

/* Top-level ul */
ul.category-tree {
  display: inline-flex !important;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  list-style: none !important;
  margin: 0 !important;
  padding: 8px 0 !important;
  gap: 0;
}

ul.category-tree > li.has-child {
  position: relative;
  display: inline-block;
  float: none !important;
  padding: 0;
}

ul.category-tree > li.has-child > a {
  display: inline-block;
  padding: 8px 20px;
  color: #fff;
  font-size: 15px;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
}

ul.category-tree > li.has-child > a:hover { color: #ccc; }

/* Children — flat inline row on desktop */
ul.category-tree > li.has-child > ul.child {
  display: inline-flex !important;
  flex-direction: row;
  align-items: center;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0;
}

ul.category-tree > li.has-child > ul.child li {
  list-style: none !important;
  padding: 0;
}

ul.category-tree > li.has-child > ul.child li a {
  display: inline-block;
  padding: 8px 20px;
  color: #fff;
  font-size: 15px;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}

ul.category-tree > li.has-child > ul.child li a:hover { color: #ccc; }

/* ===================
   PAGINATION
   =================== */
.pager { margin: 60px 0 0 0; font-size: 14px; }

.page-item.active .page-link { background-color: #000; border-color: #000; }

.page-link {
  position: relative;
  display: block;
  padding: .5rem .75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: #007bff;
  background-color: #ffffff30;
  border: 1px solid #dee2e6;
}

.page-link:hover { color: #3b3b3b; }

.page-item.disabled .page-link {
  color: #fff;
  pointer-events: none;
  cursor: auto;
  background-color: #ffffff30;
  border-color: #dee2e6;
}

.page-title {
  text-align: center;
  font-size: 1.5rem;
  margin-bottom: 30px;
  justify-content: center;
  color: #000;
}

/* ===================
   SHOPPING CART
   =================== */
#shopping-cart { padding-left: 15px; }
#shopping-cart a#cart-button { color: #B8B8B8; }
#shopping-cart a#cart-button:hover, #shopping-cart a#cart-button:focus { color: #fff; }
#shoppingCartModal .btn { margin-right: 5px !important; }


.cart-container p { margin-bottom: 0; }
.cart-order-summary { border: 1px solid #000; padding: 10px; margin-bottom: 15px; }
.cart-order-summary h4 { background: #484848; padding: 10px; color: #fff; }
input#Discount_Coupan { width: 50% !important; }

.shoppincart_form #qty { border: medium none; color: #000; width: 25px; text-align: center; }
.shoppincart_form #qty:focus { box-shadow: 0 0 0 0 rgba(50,50,50,0.75); }

.cart-summary-card {
  background: #484848 !important;
  border: 1px solid #484848 !important;
  border-radius: 8px;
  padding: 24px;
  margin-bottom: 24px;
}

.cart-summary-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 20px;
  color: #ffffff !important;
  border-bottom: 1px solid #eee;
  padding-bottom: 15px;
}

.summary-row.total {
  border-top: 1px solid #eee;
  padding-top: 15px;
  margin-top: 15px;
  font-weight: 700;
  font-size: 1.2rem;
  color: #ffffff !important;
}

.summary-row { border-bottom: 0 !important; }
.text-muted { color: #c9c9c9 !important; }

.cart-contents-wrapper .shipping_tax_container {
  background-color: #484848 !important;
  padding: 13px;
  border: 0 !important;
}

.fa.fa-times.text-error {
  display: none;
}

.cart-contents-wrapper .shipping_tax_container p { color: #fff; }

.product-card .cart-item { background: #313131 !important; border: #313131 !important; }
.product-card .cart-item .w-img { background: #313131 !important; border: #313131 !important; }


/* Remove gradient on cart/checkout */
.cart-items-wrapper .product-card {
  background: #313131 !important;
  border: 1px solid #242424 !important;
}

.cart-items.mb-4 .product-card {
  background: #313131 !important;
  border: 1px solid #242424 !important;
}

.promo-code-section {
  margin-top: 0;
  padding: 0;
  background: transparent !important;
  border-radius: 0 !important;
  border: 0 !important;
}

.text-error {
  color: #fff !important;
  padding: 8px 10px !important;
  background: #2d2d2d !important;
  width: 100% !important;
  margin-top: 5px !important;
  box-sizing: border-box !important;
}

.fancybox-inner #login-form-wrapper {
  color: #fff;
}

.fancybox-inner #login-form-wrapper h1, .fancybox-inner #login-form-wrapper p, .fancybox-inner #login-form-wrapper li, .fancybox-inner #login-form-wrapper a {
  color: #fff;
}

/* ===================
   CHECKOUT
   =================== */
#checkout h2 { text-transform: capitalize; font-size: 20px; line-height: normal; }
#checkout h3 { text-transform: capitalize; font-size: 17px; line-height: normal; }

.checkout-detail .checkout-left #p input[type="text"],
.checkout-detail .checkout-left #p input[type="password"] { width: 100%; }
.checkout-detail .checkout-left #p select { width: 48.7179%; }
.checkout-detail .checkout-left #p select:first-child { margin-right: 1.564%; }
.checkout-detail .checkout-left .form-actions { padding-bottom: 20px; }
.checkout-detail .checkout-left #billing_information .form-actions { padding-left: 0; background: none; }
.checkout-detail .checkout-left .payment_address input { width: 100%; }
.checkout-detail .checkout-left .payment_address .row-fluid:nth-child(2) .span3 { padding-top: 6px; }
.checkout-detail .checkout-left .payment_address input.btn { width: inherit; }
.checkout-detail .checkout-left #shippping_methods_widget label.radio:first-child { margin-right: 15px; }

#shippping_methods_widget label { display: block; width: 100%; }
#predefined-card { margin-bottom: 10px; }
.shipping_tax_container .add_zip_container { padding-top: 10px; text-align: right; }

/* ===================
   LOGIN / REGISTRATION
   =================== */
.topLoginArea { float: right; padding-right: 15px; padding-top: 5px; text-align: right; }
.topLoginArea ul { margin: 0; padding: 0; }
.topLoginArea:after { display: block; content: ""; clear: both; }

.topLoginArea .userprofile,
.topLoginArea #shopping-cart,
.topLoginArea .user-logout,
.topLoginArea .user-welcomemsg { float: left; }

.topLoginArea .user-welcomemsg {
  padding-right: 10px;
  color: #a8a8a8;
  border-right: solid 1px rgba(255,255,255,0.10);
  margin-right: 10px;
}

.topLoginArea ul li { display: inline-block; }
.topLoginArea ul li a { padding: 5px; font-weight: 400; }
.topLoginArea .userprofile ul li:last-child { margin-right: 0; }
.topLoginArea .user-logout, .topLoginArea #shopping-cart { padding-left: 10px; }

#login-form-wrapper h1 {
  font-size: 21px; margin-top: 0; color: #333;
  text-transform: uppercase; padding: 0; line-height: normal; margin-bottom: 15px;
}

#login-form-wrapper .control-group { margin: 10px 0 0 0; }
#login-form-wrapper .control-group .control-label { display: block; padding: 0; width: 100%; text-align: left; }
#login-form-wrapper .control-group .controls { width: 100%; margin-left: 0; }
#login-form-wrapper p { line-height: normal; margin-bottom: 15px; }

#customer-registration-form h1 {
  font-size: 21px; margin-top: 0; color: #fff;
  text-transform: uppercase; padding: 0; line-height: normal; margin-bottom: 15px;
}

#customer-registration-form .control-group { margin-bottom: 15px; }
#customer-registration-form .control-group .control-label { display: block; padding: 0; width: 100%; text-align: left; }
#customer-registration-form .control-group .controls { width: 100%; margin-left: 0; }
#customer-registration-form .control-group .controls p.hint { margin: 0; padding: 8px 0 0 0; font-size: 12px; line-height: normal; }

.forgot-password { clear: both; }
.rememberMe { margin-bottom: 0; }
.rememberMe label { float: none; display: inline-block; }
label[for="UserLogin_rememberMe"] { display: inline; }
.row label[for=UserRecoveryForm_login_or_email] { text-align: left; }

#registration-form { padding: 20px; }
#user-links { padding: 20px 0 0 0; }
#user-links ul { margin: 0; }
#user-links li { list-style: none; margin-bottom: 5px; }
#user-links li:last-child { margin-bottom: 0; }
#user-links .logout, #user-links .logout a { padding-left: 0 !important; color: #cc6633; }

.user-links ul, .user-links ul li { list-style: none; padding: 0; }
.user-links ul li { padding: 5px 0; }

/* ===================
   FOOTER
   =================== */
#footer { padding: 45px 15px; text-align: center; color: #fff; }
#footer ul { list-style: none; display: inline; margin: 0 !important; padding: 0; }
#footer ul li { display: inline; }
#footer a { color: #fff; }

#footer h4 {
  font-family: 'IM Fell English', serif;
  font-weight: 400;
  font-size: 20px;
  letter-spacing: 1px;
  color: #fff;
}

#footer-menu { text-align: right; }
#footer-menu li { border-right: 1px solid #9c9c9c; padding: 0 5px; }
#footer-menu li:last-child { border: 0 !important; }

#footer .address, #footer .copyright, #footer .simpy-cms { margin-top: 5px; }
#footer .address ul li { padding: 0 5px; display: block; }
#footer .address ul { padding: 0; }
#footer .address .social-icon { display: inline-block !important; }

.footer-nav { margin: 15px 0; }
.footer-nav li { padding: 5px 10px; position: relative; }
.footer-nav .nav-pills li::after { content: "|"; position: absolute; right: 0; color: #000; }
.footer-nav .nav-pills li:last-child::after { content: ""; }

.footer-top-row {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-bottom: 20px;
}

.footer-top-row .kayak-badge {
  position: absolute;
  left: 0;
}

.footer-top-row .footer-logo { text-align: center; }
.footer-top-row .footer-logo img { width: 300px; }

.kayak-badge { text-align: left; }
.copyrights, .footer-content-block { margin: 10px 0; }
.copyrights { color: #fff; }
.footerTools li { margin: 0 5px; }

/* ===================
   FEEDBACK / MESSAGES
   =================== */
.feedback { display: none; }

.successSummary {
  padding: 2px 4px; margin: 0;
  border: solid 1px #C0F0B9; background: #D5FFC6; color: #48A41C;
  font-weight: bold; text-align: center;
}

.errorSummary {
  padding: 2px 4px; margin: 10px 0;
  border: solid 1px #FBD3C6; background: #FDE4E1; color: #CB4721;
  font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; text-align: left;
}

.notifications {
  padding: 5px; margin-top: 15px;
  border: solid 1px #CCCC33; background: #F90; color: #FFF;
  font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; text-align: center;
}

.errorMessage { color: #FF0000; }
#error_msg { color: #FF0000; }
label.error { color: #FF0000; }

/* ===================
   GALLERY
   =================== */
.portfolio.thumbnails li img.tmb { padding: 2px; border: 1px solid #ddd; }
.portfolio.thumbnails .thumbnail { border: 0; line-height: normal; padding: 0; border-radius: 0; box-shadow: none; }
.portfolio.thumbnails li { display: inline-block; float: none; width: auto; margin: 0 10px 10px 0; }
.row-fluid .gallery [class*="span"] { margin-left: 0; margin-right: 2.5641%; }

/* ===================
   PACKAGES
   =================== */
.row-fluid .packageListing { margin-left: 1.5641%; padding: 20px; border: 1px solid #ccc; border-radius: 5px; }
.package img { width: 210px; height: 168px; padding: 3px; border: 1px solid #ccc; border-radius: 5px; }
#otherOptions { margin-top: 44px; }

/* ===================
   BLOG
   =================== */
.blog-contents #posts .post { margin-bottom: 20px; }
.blog-contents #posts .post:last-child { margin-bottom: 0; }
.blog-contents #blogauthor { margin-bottom: 15px; }
.blog-contents #blogcategory { margin-bottom: 15px; }
.blog-contents .blog-data { margin-bottom: 10px; }
.blog-contents .authorImageDiv { float: left; margin-right: 15px; width: 60px; }
.blog-contents .authorImageDiv img { border: 1px solid #CCC; padding: 2px; }

.blog-contents .comments-container {
  box-shadow: none; box-sizing: border-box; min-height: 20px; padding: 15px;
  margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; border-radius: 4px;
}

.blog-contents .comments-container p:last-child { margin-bottom: 0; }
.blog-contents-wrapper > h1 { text-align: center; }
.blog-contents-wrapper .post > h2 { font-size: 1.5rem; }
.authorImageDiv { display: none; }
.post { margin-bottom: 25px; }

/* ===================
   CLUBS
   =================== */
.club-contents .club-options { margin-bottom: 15px; }
.club-contents .club-options h3 { margin-top: 0; line-height: normal; }
.club-contents .club-options ul { list-style: none; margin: 10px 0; }
.club-contents .club-options ul li input { margin: 0; }
.club-contents .club-benefits { padding-top: 15px; }
.club-contents .club-benefits h3 { margin-top: 0; line-height: normal; }
.club-contents .club-benefits ul { margin: 0; }
.club-contents .club-benefits ul li { list-style-position: inside; }
.club-contents .list-view .summary { margin-bottom: 15px; }
.club-contents .simplycms-club h1 { font-size: 22px; margin-bottom: 10px; }
.club-contents .simply-club-shipping-address > h2 { margin-top: 15px; }
.club-options ul { margin: 0; padding: 0; }
.club-options ul li { list-style: none; }
.join-club { clear: both; margin-top: 20px; }

/* ===================
   EVENTS
   =================== */
.event { padding-bottom: 20px; margin-bottom: 35px; border-bottom: solid 1px #CCCCCC; }
.event > .event-data { float: left; width: 40%; padding-right: 20px; box-sizing: border-box; }
.event:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.event:after { display: block; content: ""; clear: both; }
.event ul.event-data { margin: 0; padding-top: 10px; }
.event ul.event-data li { list-style-type: none; margin-bottom: 6px; }
.event ul.event-data li p:last-child { margin-bottom: 0; }
.event ul.event-data li:last-child { margin-bottom: 0; }
.event .shareThis { padding-top: 10px; }
.venue-contact-model ul, .venue-detail-model ul { margin: 0; }
.venue-contact-model ul li, .venue-detail-model ul li { list-style-type: none; margin-bottom: 4px; }
.venue-detail-model { margin-bottom: 15px; }
.venue-contact-model ul li:last-child, .venue-detail-model ul li:last-child { margin-bottom: 0; }
.event-item > .image { display: none !important; }

/* ===================
   RECIPES
   =================== */
.b360-recipe-drilldown-right { display: flex; align-items: center; margin-bottom: 25px; }
.b360-recipe-drilldown-right > div { flex: 1; width: 50%; }
.b360-recipe-attributeLabel { float: left; padding-right: 10px; font-weight: 400; }
.b360-recipe-drilldown-description { font-size: 1.5rem; margin-bottom: 20px; font-style: italic; }
.b360-recipe-drilldown-subtitle.b360-subtitle { font-size: 1.5rem; font-weight: 300; font-style: italic; margin-bottom: 10px; }

/* ===================
   HOME PAGE BLOCKS
   =================== */
#home-page-block .home-page-blocks { background: #000; padding: 10px; background-size: cover; }

.home-page-blocks {
  overflow: hidden; text-align: center; position: relative; height: 300px;
}

.home-page-blocks .text-wrapper {
  background: rgba(0,0,0,0.4); bottom: -65%; color: #fff; height: 100%; left: 0;
  text-align: left; position: absolute; transition: bottom 0.5s ease; width: 100%; padding: 5px 15px;
}

.home-page-blocks .text-wrapper h3 { font-style: italic; }
.home-page-blocks .text-wrapper a { color: #fff; font-weight: 300; }
.home-page-blocks:hover .text-wrapper { bottom: -10%; }

.featured-block-title { text-align: center; }
.featured-product-listing .items { display: flex; flex-wrap: wrap; }
.featured-product-listing .items .featured-product { flex: 1 0 30%; margin: 10px; border: 1px solid #e9e9e9; text-align: center; padding: 20px; }

.home-page-text { text-align: center; }

.home-page-text h3,
.featured-block-title,
#home-page-block h3 {
  font-size: 2rem; line-height: 1.2; margin-bottom: 0.8em;
  color: rgb(51,51,51); font-style: italic; text-align: center;
}

.home-page-text h3 {
  font-family: "Lato", sans-serif; line-height: 2rem; margin: 0 auto;
  max-width: 53rem; padding-bottom: 2.75rem; padding-top: 2.75rem;
  position: relative; width: 100%; font-size: 16px;
}

.home-page-text h3::before,
.home-page-text h3::after {
  background: #e9e9e9; content: ""; height: 1px; margin: 0 auto;
  max-width: 34.375rem; position: absolute; left: 0; right: 0; width: 70%;
}

.home-page-text h3::before { top: 0; }
.home-page-text h3::after { bottom: 0; }

.featured-block-title::after,
#home-page-block h3::after {
  content: ''; display: block; width: 60px; height: 3px;
  background-color: #000; margin: 14px auto 0;
}

.feature-product, .home-page-map, .home-page-text,
.home-page-mail .container { padding: 50px 0; }

.home-page-mail .control-group { float: left; width: 50%; padding: 5px; }
.home-page-mail legend { display: none; }
.home-page-mail .container { border-top: 1px solid #e9e9e9; border-bottom: 1px solid #e9e9e9; padding: 60px 40px; }
.home-page-mail #contactForm_2 input { width: 95%; }
.home-page-mail .row { align-items: center; }
.home-page-mail .vt-xnarrow-column { padding: 10px; }
.home-page-mail #form2 { margin-top: -25px; }
.home-page-mail .form_button { margin-top: 30px; }
.home-page-mail h3, .home-page-map h3 { font-size: 24px; font-style: italic; }
.home-page-map .col-md-6 { padding: 30px; }

/* ===================
   CAROUSEL / SLIDER
   =================== */
.winery-slider { background-color: #cecece; padding-top: 5rem; padding-bottom: 8rem; margin-bottom: 5rem; text-align: center; }
.carousel-text { margin: 1rem; }
.carousel-caption { margin: auto !important; position: initial !important; padding-right: 8rem; padding-left: 8rem; color: black; }
.carousel-caption h5 { font-size: 26px; font-weight: 400; }
.carousel-caption p { font-weight: 200; padding: 0 100px; }

/* ===================
   TIMELINE
   =================== */
.main-timeline { padding: 50px 0; }
.main-timeline ul { padding-left: 0; margin: 0; font-size: 14px; }
.main-timeline li { position: relative; list-style: none; }
.main-timeline h5 { font-weight: 500; }
.main-timeline li span { color: #ffb15a; font-weight: bold; }
.color-orange { color: #ffb15a; }
.time-hours .color-orange { padding-top: 20px; }
.time-hours .color-orange:first-child { padding-top: 0 !important; }
.circle { padding: 13px 20px; border-radius: 50%; background-color: #000; color: #fff; max-height: 50px; z-index: 2; }
.how-it-works.row .col-2 { align-self: stretch; }
.how-it-works.row .col-2::after { content: ""; position: absolute; border-left: 3px solid #010101; z-index: 1; }
.how-it-works.row .col-2.bottom::after { height: 50%; left: 50%; top: 50%; }
.how-it-works.row .col-2.full::after { height: 100%; left: calc(50% - 3px); }
.how-it-works.row .col-2.full-left::after { height: 100%; left: calc(50%); }
.how-it-works.row .col-2.top::after { height: 50%; left: 50%; top: 0; }
.timeline div { padding: 0; height: 40px; }
.timeline hr { border-top: 3px solid #000; margin: 0; top: 17px; position: relative; }
.timeline .col-2 { display: flex; overflow: hidden; }
.timeline .corner { border: 3px solid #0e0e0e; width: 100%; position: relative; border-radius: 15px; }
.timeline .top-right { left: 50%; top: -50%; }
.timeline .left-bottom { left: -50%; top: calc(50% - 3px); }
.timeline .top-left { left: -50%; top: -50%; }
.timeline .right-bottom { left: 50%; top: calc(50% - 3px); }

/* ===================
   TEAM
   =================== */
.team-member { margin-bottom: 20px; width: 100%; display: flex; align-items: center; }
.team-member span { font-weight: 700; }

/* ===================
   CONTACT FORMS
   =================== */
#contactForm_2 input[type="text"] { border: 1px solid #ccc; border-radius: 4px; padding: 8px 6px; }
#contactForm_2 input[type="button"] { padding: 5px 10px; }
#contactForm_3 legend { display: none; }
#contactForm_3 .form-row { flex-direction: column; }
#contactForm_3 .control-group { margin: 15px 0; }
#contactForm_3 .control-group label { float: none !important; margin: 0 !important; }
#contactForm_3 .form_field, #contactForm_3 .form_textarea { border-color: #b8b3b3; width: 100%; }
#contactForm_3 .form_button { width: 100%; }
#form1 .control-group { margin-bottom: 13px; }
#form1 p.fromDescription { font-weight: bold; }
.fromDescription { margin-bottom: 0 !important; }
#signup input[type="text"] { margin: 0; height: 16px; }

/* ===================
   MISC / UTILITY
   =================== */
.image { position: relative; z-index: 0; }
#mf169 .input-append { margin-right: 10px; }
.comments-container { margin-left: 0 !important; }
.col-1 { margin-left: 0 !important; }
.model-body { padding: 20px; }
#content .span4, #content .span12 { margin-left: 0 !important; }
#page-content .span3 { margin-left: 0 !important; }
#page-content .span12 { margin-left: 0; }
#page-content { padding: 50px !important; background: #fff; }
#navigation #page_listing { clear: both; }
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin-left: -9px; margin-top: -8px; }
#breadcrumbs { margin: 20px 0 0 0; text-transform: capitalize; }
.table-responsive { overflow-x: auto; }
.wide-banner { background: url("../images/ui/visit.jpg") no-repeat scroll center top #000; height: 380px; position: absolute; width: 100%; }
.list-view .summary { text-align: left; }
.page-social-media ul { padding: 0 !important; margin: 0; }
.page-social-media ul li { list-style: none; display: inline-block; margin-right: 15px; font-size: 22px; }
#sub-nav .nav li.cms-selected a { background-color: #EEE; }
#accordion2 h3 { background: none; border: 1px solid #aaa; font-size: 16px; text-transform: none; }
#accordion2 .ui-accordion-content { border-width: 0 1px 1px !important; border-style: solid !important; border-color: #aaa !important; background: none; }
#accordion2 li { font-size: 12px; }
#accordion2 .accordion-inner { border: 0; }
.shareThis { display: none; }
.menu-text { display: none; }
.fa-bars { color: #787878; }
.news-listing .col-md-12 { margin: 20px 0; }
#demoNavigation { margin-left: 215px; margin-top: 15px; }
#demoNavigation input { border-radius: 5px; min-width: 75px; padding: 5px; }
.close-mob-menu { box-shadow: none; font-family: 'Helvetica Neue', Arial, sans-serif; color: #000; float: left; }

/* ===================
   MODAL / CART UI
   =================== */
.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #484848;
  background-clip: padding-box;
  border: 1px solid rgb(85,85,85);
  border-radius: .3rem;
  outline: 0;
}

.modal-body .content { color: #fff; }
.card-header { background-color: #000; }

.card-body {
  box-sizing: border-box;
  border-top: 2px solid #242424;
  border-bottom: 2px solid #242424;
  background: radial-gradient(ellipse, rgb(57,57,57) 0%, rgb(11,11,11) 46%);
  margin-left: auto;
  margin-right: auto;
}

.card-footer { padding: .75rem 1.25rem; background-color: rgb(0,0,0); border-top: 1px solid rgba(0,0,0,.125); }
.card { box-sizing: border-box; border: 2px solid #242424; background-color: #000; }

.customer-registration-form { background-color: #484848; color: #fff; }
.login-form-wrapper { background-color: #484848; color: #fff; }
.login-form-wrapper h2 { background-color: #484848; color: #fff; }
.fancybox-skin { position: relative; background: #484848; color: #fff; }

.table { width: 100%; margin-bottom: 1rem; color: #fff; }
.table .thead-dark th { color: #fff; background-color: #484848; border-color: #828282; }
.table-bordered td, .table-bordered th { border: 1px solid #828282; }
.table thead th { vertical-align: bottom; border-bottom: 1px solid #777; }
.alert-warning a { color: #000; }
.alert-warning a:hover, .alert-warning a:focus { color: #333; }
.bg-light { background-color: #484848 !important; }

.lightbox-container {
  width: 350px;
  padding: 10px;
  margin: 0 auto;
  max-width: 100%;
  background-color: #3c3c3c;
  color: #fff;
}

.CollectJSIframe {
  border-color: rgb(70,70,70);
  display: block;
  background-color: #282828;
  height: 220px;
}

/* =============================================
   RESPONSIVE — LARGE DESKTOP (min 1200px)
   ============================================= */
@media (min-width: 1200px) {
  .container { max-width: 1800px !important; }
}

/* =============================================
   RESPONSIVE — 5-COLUMN (min 1101px)
   ============================================= */
@media (min-width: 1101px) {
  .wines-listing .category-product-grid {
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
  }
}

/* =============================================
   RESPONSIVE — DESKTOP (min 980px)
   ============================================= */
@media (min-width: 980px) {
  #page_listing ul li { float: left !important; margin: 0; padding: 0; width: 100%; position: relative; }
  #page_listing ul li ul { left: 209px; position: absolute; top: 0; padding: 0; }
  #page-content { padding: 0 15px; box-sizing: border-box; }
}

/* =============================================
   RESPONSIVE — IPAD/WIDE TABLET (1024px–1180px)
   ============================================= */
@media (min-width: 1024px) and (max-width: 1180px) {
  .navbar-inverse .brand,
  .navbar-inverse .nav > li > a {
    padding: 15px 12px;
    letter-spacing: 1px;
    font-size: 14px !important;
  }
  .navbar .nav > li { padding: 0 5px; }
}

/* =============================================
   RESPONSIVE — NAV WRAP FIX (990px–1150px)
   ============================================= */
@media (min-width: 990px) and (max-width: 1150px) {
  .navbar-inverse .brand,
  .navbar-inverse .nav > li > a {
    padding: 15px 8px;
    letter-spacing: 0.5px;
    font-size: 16px !important;
  }
  .navbar .nav > li { padding: 0 3px; }
}

/* =============================================
   RESPONSIVE — TABLET (max 1199px) — category hamburger
   ============================================= */
@media (max-width: 1199px) {
  .wines-listing { padding: 30px 15px; }

  .wines-listing .category-product-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 15px;
    width: 100%;
  }

  .product-data-plp {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .product-data-plp .form-group.product-price {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }

  .product-data-plp .price-bottle-group { justify-content: center; text-align: center; }

  .product-data-plp .qty-button-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }

  #addCartButton {
    width: auto !important;
    margin-left: 0 !important;
    margin-top: 8px;
  }

  /* Show category hamburger */

  .category .btn-navbar {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    float: right;
    margin: 8px 5px;
    gap: 4px;
  }

  .category .btn-navbar .icon-bar {
    background-color: #fff !important;
  }

  .category .brand {
    display: inline-block !important;
    text-decoration: none !important;
  }

  .category .navbar-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 5px 15px;
  }
  
  /* Hide category tree until toggled */
  .category .nav-collapse {
    display: none;
    width: 100%;
  }

  .category .nav-collapse.in {
    display: block !important;
  }

  ul.category-tree {
    display: block !important;
    width: 100%;
    padding: 0 !important;
  }

  ul.category-tree > li.has-child {
    display: block !important;
    width: 100%;
  }

  ul.category-tree > li.has-child > a {
    display: block;
    padding: 10px 20px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
  }

  ul.category-tree > li.has-child > ul.child {
    display: block !important;
    flex-direction: column !important;
    position: static !important;
    transform: none !important;
    border: 0;
    padding: 0 !important;
    background: #111;
  }

  ul.category-tree > li.has-child > ul.child li {
    display: block !important;
  }

  ul.category-tree > li.has-child > ul.child li a {
    display: block !important;
    padding: 10px 30px;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    font-size: 13px;
  }

  ul.category-tree > li { flex-wrap: wrap; justify-content: center; gap: 10px; }
}

@media (max-width: 1199px) {
  .category .navbar {
    justify-content: center;
    padding: 5px 15px;
    flex-wrap: wrap;
  }
}

/* =============================================
   RESPONSIVE — DESKTOP MIN 768px
   ============================================= */
@media (min-width: 768px) {
  #header .row { flex-direction: column; flex-wrap: nowrap; align-items: center; }
  #header .col-md-2.sitelogo { flex: none; max-width: 100%; width: 100%; }
  #header .col-md-8 { flex: none; width: 100%; }
  #header .col-md-2.login-link-wrapper { flex: none; max-width: none; width: auto; }
}

/* =============================================
   RESPONSIVE — MID TABLET (768px–979px)
   ============================================= */
@media (min-width: 768px) and (max-width: 979px) {
  .wines-listing div.items div.view { width: 50%; }
  #page-content { padding: 0 15px; box-sizing: border-box; }
  .nav-collapse .nav { text-align: center !important; }
  .menu-button { margin-top: 15px; display: block !important; text-align: center; }
  .menu-text { display: inline-block !important; width: 50px; vertical-align: middle; color: #fff; }
  .navbar .nav > li > .dropdown-menu { display: none !important; }
}

/* =============================================
   RESPONSIVE — MID TABLET (768px–900px)
   ============================================= */
@media (min-width: 768px) and (max-width: 900px) {
  #header .col-md-2.login-link-wrapper {
    position: static;
    transform: none;
    width: 100%;
    text-align: center;
    margin-bottom: 10px;
  }

  .social-icons {
    position: static;
    transform: none;
    justify-content: center;
    margin-bottom: 10px;
  }

  #login-link { justify-content: center; }

  .wines-listing .category-product-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px;
    padding: 0 5px;
  }

  .product-card { padding: 15px 20px 25px 20px; }
}

/* =============================================
   RESPONSIVE — MAIN NAV HAMBURGER (max 992px)
   ============================================= */
@media (max-width: 992px) {
  .btn-navbar {
    display: inline-flex !important;
    flex-direction: row;
    align-items: center;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }

  .btn-navbar .icon-bar {
    background-color: #fff !important;
    width: 22px;
    height: 2px;
    margin: 0;
    display: block;
  }

  .main-menu-label {
    display: inline-block;
  }

  #header .nav-collapse { display: none; }
  #header .nav-collapse.in { display: block !important; }
}

/* =============================================
   RESPONSIVE — 3-COLUMN GRID (max 850px)
   ============================================= */
@media (max-width: 850px) {
  .wines-listing .category-product-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px;
  }
}

/* =============================================
   RESPONSIVE — MOBILE (max 767px)
   ============================================= */
@media (max-width: 767px) {
  .navbar .nav { position: static; flex-direction: column; width: 100%; }
  #page_content { padding: 0 15px; box-sizing: border-box; }
  #breadcrumbs { padding: 0 15px; }

  .event .image { width: 100%; float: none; padding-bottom: 20px; }
  .event .description { width: 100%; float: none; }

  #header .col-md-2.login-link-wrapper {
    position: static; transform: none; width: 100%;
    text-align: center; order: 0; margin-bottom: 10px;
  }

  #login-link { justify-content: center; }

  .social-icons { position: static; transform: none; justify-content: center; margin-bottom: 10px; }

  #header .col-md-2.sitelogo { order: 1; }
  #header .col-md-8 { order: 2; }
  #header .row { flex-wrap: wrap; }

  .nav-collapse .nav > li > a {
    padding: 10px 20px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    display: block;
  }

  /* Footer kayak badge */
  .footer-top-row {
    flex-direction: column;
    align-items: center;
    position: static;
    gap: 20px;
  }

  .footer-top-row .kayak-badge {
    position: static;
    text-align: center;
    order: 2;
  }

  .footer-top-row .footer-logo {
    order: 1;
    text-align: center;
  }
}

/* =============================================
   RESPONSIVE — TABLET (481px–767px)
   ============================================= */
@media (min-width: 481px) and (max-width: 767px) {
  .nav > li { float: none; }
  .wines-listing div.items div.view { width: 50%; }
  #page-content { padding: 0 15px; box-sizing: border-box; }
  #topbar .user-account { display: none !important; }
  .site-logo { order: 2; text-align: center; margin-top: 15px; }
  #login-link { justify-content: space-between !important; }
  .login-link-wrapper { border-bottom: 1px solid #787878; }
  #top-bar { padding-top: 0 !important; padding-bottom: 0 !important; }
  #banner-2 img { min-height: 100px; }
  #contactForm_3 { width: 100% !important; margin: 0 auto; }

  .navbar .nav > li { display: block; width: 100%; padding: 10px; border-bottom: 1px solid #b9b9b9; }

  .wines-listing .category-product-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px;
    padding: 0 5px;
  }

  .product-card { padding: 15px 20px 25px 20px; }
}

/* =============================================
   RESPONSIVE — 2-COLUMN GRID (max 600px)
   ============================================= */
@media (max-width: 600px) {
  .wines-listing .category-product-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px;
  }
}

/* =============================================
   RESPONSIVE — SMALL MOBILE (max 480px)
   ============================================= */
@media (max-width: 480px) {
  .small-logo img { width: 80%; margin-bottom: 10px !important; }
  #Address_billing_month, #Address_billing_day, #Address_billing_year { width: 31.9149%; }

  .navbar .nav > li { display: block; width: 100%; padding: 10px; border-bottom: 1px solid #b9b9b9; }

  .navbar-inverse .brand,
  .navbar-inverse .nav > li > a { text-align: left; padding-left: 20px; }

  .nav ul { width: 90%; }

  .defaultBtn, .form_button, input[type='submit'] { padding: 9px 10px !important; vertical-align: top; }

  .wines-listing div.items div.view { width: 100%; padding: 15px; min-height: inherit; height: auto; }

  .wines-listing .category-product-grid {
    grid-template-columns: repeat(1, 1fr) !important;
    gap: 20px;
  }

  .product-card {
    width: 100%;
    max-width: 100%;
    padding: 15px 20px 25px 20px;
    border: 1px solid #242424 !important;
  }

.product-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.plp-product-name {
  flex-grow: 1;
}

.product_variation {
  margin-top: auto;
}

  #topbar .user-account { display: none !important; }
  .nav-collapse .nav { text-align: left; }
  #contactForm_3 { width: 100% !important; }

  .menu-button { margin-top: 15px; display: block !important; text-align: center; }
  .menu-text { display: inline-block !important; width: 50px; vertical-align: middle; color: #fff; }

  .product-detail-wrapper { flex-direction: column; padding: 25px; }
  #footer-menu { text-align: left; }

  .product-options > .row { align-items: flex-start !important; flex-direction: column !important; }
  .store-detail .product-options .product_variation { width: 100% !important; }
  .product_variation .p-2 { padding: 0 !important; }
  #page-content { padding: 20px !important; }

  .b360-recipe-drilldown-right > div { width: 100% !important; }
  .b360-recipe-drilldown-right { flex-direction: column; }
  #home-page-block .col-md-4 { margin: 10px 0; }

  .navigation-row { justify-content: right !important; }
  .navigation-row a { padding: 10px 0; display: block; text-align: left; border-bottom: 1px solid #cecece; }

  h1.hero-banner-heading { font-size: 1.7rem !important; }
  .hero-banner-subtitle { font-size: 1.2rem; padding: 4px; }
  #banner-2 img { min-height: 100px !important; }
  .page-title { font-size: 1.5rem !important; }

  .site-logo { order: 2; text-align: center; margin-top: 15px; }

  #login-link {
    display: flex; flex-direction: row; justify-content: center;
    align-items: center; gap: 15px; list-style: none; margin: 0; padding: 0;
  }

  .login-link-wrapper { border-bottom: 1px solid #787878; }
  #top-bar { padding-top: 0 !important; padding-bottom: 0 !important; }
}

/* =============================================
   RESPONSIVE — TINY MOBILE (max 360px)
   ============================================= */
@media (max-width: 360px) {
  #banner { min-height: 75px; }
  .logo { position: relative; text-align: center; top: 10px; }
  .logo img { width: auto; }
  #page-content { padding: 0 15px; box-sizing: border-box; }
  .events .image { width: 100%; }
  .events .description { width: 100%; }
}

.cat-bars-wrap {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  vertical-align: middle;
}

/* ===================
   MAIN NAV DROPDOWNS
   =================== */

/* Make the nav horizontal */
#mainNavCollapse .nav {
  display: flex;
  flex-direction: row;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  justify-content: center;
}

#mainNavCollapse .nav > li {
  position: relative;
  list-style: none;
}

#mainNavCollapse .nav > li > a {
  display: block;
  padding: 15px 12px;
  color: #fff;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 2px;
  white-space: nowrap;
  text-decoration: none;
}

#mainNavCollapse .nav > li > a:hover { color: #ccc; }

/* Hide child ul by default */
#mainNavCollapse .nav > li > ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #000;
  list-style: none;
  margin: 0;
  padding: 0;
  min-width: 200px;
  z-index: 1000;
  border: 1px solid #333;
}

/* Show child ul on hover */
#mainNavCollapse .nav > li:hover > ul {
  display: block;
}

#mainNavCollapse .nav > li > ul > li > a {
  display: block;
  padding: 10px 20px;
  color: #fff;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
  white-space: nowrap;
  text-decoration: none;
}

#mainNavCollapse .nav > li > ul > li > a:hover { 
  color: #ccc;
  background: #111;
}

/* ===================
   MOBILE — stack vertically
   =================== */
@media (max-width: 992px) {
  #mainNavCollapse .nav {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }

  #mainNavCollapse .nav > li {
    width: 100%;
  }

  #mainNavCollapse .nav > li > a {
    border-bottom: 1px solid rgba(255,255,255,0.1);
    padding: 10px 20px;
  }

  /* Show child ul always on mobile */
  #mainNavCollapse .nav > li > ul {
    display: block;
    position: static;
    background: #111;
    border: 0;
    width: 100%;
  }

  #mainNavCollapse .nav > li > ul > li > a {
    padding: 10px 30px;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    font-size: 13px;
  }
}

/* ===================
   CATEGORY NAV — hide children until collapse is open
   =================== */
@media (max-width: 1199px) {
  /* Hide child items by default when menu is collapsed */
  .category .navbar-collapse:not(.show) ul.category-tree > li.has-child > ul.child {
    display: none !important;
  }

  /* Show them when the collapse is open */
  .category .navbar-collapse.show ul.category-tree > li.has-child > ul.child {
    display: block !important;
  }
}