/* ==========================================================================
   Tokens (fonts, colors)
   ========================================================================== */

:root {
  --serif-light: ArizonaFlareLight, Lora, Georgia, "Times New Roman", Times, serif;
  --serif-regular: ArizonaFlareRegular, Lora, Georgia, "Times New Roman", Times, serif;
  --sans-light: ArizonaSansLight, "Segoe UI", Avenir, Helvetica, Arial, sans-serif;
  --sans-medium: ArizonaSansMedium, "Segoe UI", Avenir, Helvetica, Arial, sans-serif;

  --green: #3A453E;
  --white: #FFF;

  --fog-100: #EAE8E4;

  --slate: #9DA29E;

  --clay: #ACA392;

/*  --line-1: #ccc; /* Shopping Cart Header (merged into single block) */
/*  --line-2: #c0bebb; /* Line behind "Where to Buy" on Wine detail */
/*  --line-3: #9da19f; /* Line behind Tier Header on Wine list */
/*  --line-4: #b7b5b1; /* Tier Line Club Header */

}

/* ==========================================================================
   Hero
   ========================================================================== */

/* New H1 Hero Desktop */
h1.hero-head {
  color: var(--white);
  font-size: 75px;
  letter-spacing: -4px;
  line-height: 80px;
  padding-top: 5%;
  text-align: left;
  text-shadow: rgba(0, 0, 0, 0.8) 0 0 5px;}

/* New H1 Hero Mobile */
h1.hero-head-mobile {
  color: var(--white);
  font-family: var(--serif-light);
  font-size: 38px;
  line-height: 45px;
  margin-bottom: 0;
  margin-left: -15px;
  padding-top: 5%;
  text-align: left;}

/* ==========================================================================
   Experience (V3)
   ========================================================================== */

h2.exp-subhead {
  color: var(--white);
  font-family: var(--serif-light);
  font-size: 26px;
  letter-spacing: 0;
  line-height: 32px;
  padding-right: 10%;}

p.exp-subhead-body {
  color: var(--white);
  font-size: 15px;
  margin-bottom: 45px;
  padding-right: 10%;}

h2.exp-name {
  font-size: 22px;
  letter-spacing: 0;
  line-height: 28px;
  margin-bottom: 0;
  margin-top: -15px;}

.exp-cost {
  font-family: var(--sans-medium);
  font-size: 16px;
  letter-spacing: 0;
  line-height: 140%;
  margin-bottom: -20px;
  margin-top: 0;}

.exp-details {
  font-family: var(--sans-light);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 140%;
  list-style-type: square;
  margin: 0;}

.exp-description {
  margin-top: -50px;
  padding-bottom: 30px;
  padding-right: 10%;}

/* Dash list pattern (Experience / Proposal / Recipe) */
ul.exp-dash,
ul.proposal-dash,
ul.recipe-dash {
  list-style: none;
  margin-left: 0;
  padding-left: 1em;}

ul.exp-dash > li::before,
ul.proposal-dash > li::before,
ul.recipe-dash > li::before {
  content: "-";
  display: inline-block;
  margin-left: -1em;
  width: 1em;}

ul.exp-dash {
  font-family: var(--sans-light);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 140%;}

ul.proposal-dash {
  padding-right: 10%;}

/* ==========================================================================
   Account & Cart
   ========================================================================== */

/* Account dashboard title typography */
.account .container-with-header-header .container-with-header-title {
  font-family: var(--serif-light);
  font-size: 36px;
  line-height: 40px;}

/* Shopping Cart Header (merged into single block) */
.msc-cart__heading,
.msc-cart\_\_heading {
  border-bottom: 1px solid var(--slate);
  color: var(--green);
  font-family: var(--serif-regular);
  font-size: 36px !important;
  line-height: 40px !important;
  margin-bottom: 2rem;
  margin-top: -30px;
  padding: 1rem 0;
  text-transform: capitalize;
  width: 100%;}

/* Grey box backgrounds on account dashboard page */
.ms-account-profile .ms-account-loyalty-tile__heading,
.ms-account-profile .ms-account-loyalty-tile\_\_heading,
.ms-order-history__heading,
.ms-order-history\_\_heading {
  background-color: var(--fog-100);}

/* Widen/normalize the grey box container */
.ms-account-profile {
  align-items: normal;}

/* Category landing page H1 line-height fix */
.ms-search-result-container .ms-search-result__collection-title-text,
.ms-search-result-container .ms-search-result\_\_collection-title-text {
  line-height: 110%;}

/* Checkout line-items background */
.ms-checkout__line-items,
.ms-checkout\_\_line-items {
  background-color: var(--fog-100);}

/* Sitewide input fields: DOB width tweak */
.checkout-date-of-birth input {
  width: 95%;}

/* Prevent iPhone zoom-in on inputs */
input,
select,
textarea {
  font-size: 16px !important;}

/* Unknown: hide empty lazy-load images */
.ms-content-block__image picture img[data-src=""],
.ms-content-block\_\_image picture img[data-src=""] {
  display: none !important;}

/* Landing featured */
.landing .landing-featured {
  display: flex;}

/* Assembly product tile tweaks */
.ms-search-result-container .ms-product-search-result__item .product-type-assembly .product-details,
.ms-search-result-container .ms-product-search-result\_\_item .product-type-assembly .product-details {
  padding: unset !important;}

.ms-search-result-container .ms-product-search-result__item .product-type-assembly img,
.ms-search-result-container .ms-product-search-result\_\_item .product-type-assembly img {
  object-fit: contain !important;}

/* Header tweaks (desktop) */
@media only screen and (min-width: 992px) {
  .ms-header .ms-search::before {
  
    display: none !important;}

  .ms-header__account-info::before,
  .ms-header\_\_account-info::before {
  
    content: "" !important;
    min-height: 34px;}
}

/* Bottleshot max-width */
.ms-search-result-container .ms-product-search-result__item .product-type-bottled-wine img,
.ms-search-result-container .ms-product-search-result\_\_item .product-type-bottled-wine img {
  max-width: 70px;}

/* Social icon override (Font Awesome 6 Brands) */
.social-media,
.social-media-item a,
.social-media-item span {
  font-family: "Font Awesome 6 Brands" !important;
  margin-right: 15px;}

.social-media-twitter::before,
.social-media-item-twitter span::before {
  content: "\e61b";}

/* ==========================================================================
   Recipes
   ========================================================================== */

h1.recipe-name {
  color: var(--green);
  font-family: var(--serif-light);
  font-size: 32px;
  letter-spacing: -1px;
  line-height: 36px;
  padding-top: 10px;}

h2.recipe-header {
  font-family: var(--serif-light);
  font-size: 20px;
  letter-spacing: 0;
  line-height: 28px;
  margin-bottom: 15px;
  margin-top: 0;}

/* ==========================================================================
   Decorative header lines (fixed from SCSS nesting to valid CSS)
   ========================================================================== */

/* Line behind "Where to Buy" on Wine detail */
h2.header-line {
  display: table;
  white-space: nowrap;}

h2.header-line::before,
h2.header-line::after {
  border-top: 1px solid var(--slate);
  content: "";
  display: table-cell;
  position: relative;
  top: 0.65em;
  width: 45%;}

h2.header-line::before { right: 0; }
h2.header-line::after  { left: 0; }

/* Switches Photo to Right Side of Content Block */
.ms-content-block.ms-content-block-right-image {
  flex-direction: row-reverse;}

/* Line behind Tier Header on Wine list */
h2.tier-line {
  display: table;
  white-space: nowrap;}

h2.tier-line::before,
h2.tier-line::after {
  border-top: 1px solid var(--slate);
  content: "";
  display: table-cell;
  position: relative;
  top: 0.65em;
  width: 45%;}

h2.tier-line::before { right: 0; }
h2.tier-line::after  { left: 0; }

/* Tier Line Club Header */
p.tier-line-club {
  display: table;
  white-space: nowrap;}

p.tier-line-club::before,
p.tier-line-club::after {
  border-top: 1px solid var(--slate);
  content: "";
  display: table-cell;
  position: relative;
  top: 0.65em;
  width: 45%;}

p.tier-line-club::before { right: 0; }
p.tier-line-club::after  { left: 0; }

/* ==========================================================================
   Footer
   ========================================================================== */

@media (min-width: 992px) {
  ul.footer-bottom li.footer-bottom:last-child {
  
    margin-top: 1.5rem;
    position: relative;
    right: 0;
    top: 0;}
}

ul.footer-bottom li.footer-bottom ul.footer-links {
  font-family: var(--sans-light);
  line-height: 1.3;}

/* footer cookie element */
.cookielink {
  cursor: pointer;}

a.ot-sdk-show-settings:hover {
  color: var(--white) !important;}

/* ==========================================================================
   Containers / Video
   ========================================================================== */

.container-outline {
  border: 1px solid var(--clay);
  padding: 0 15px;}

/* Home video container (kept final value only) */
.msc-videoplayer {
  padding-left: 6%;
  padding-right: 6%;}

/* ==========================================================================
   Infor Reservation (rc-*) / Stripe
   ========================================================================== */

input[type="radio"],
input[type="checkbox"] {
  box-sizing: border-box;
  padding: 0;
  width: 25px !important;}

.rc-section-line-color {
  background-color: var(--green);
  display: none;}

.rc-label-column {
  color: var(--white);
  font-weight: normal !important;}

/* Text color + base typography */
#rc-portal {
  color: var(--white);
  font-family: var(--serif-light) !important;
  font-size: 13px;
  line-height: 16px;
  max-width: 100%;
  padding-left: 5px;}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 13px;}

.Input,
.p-FauxInput {
  font-size: 13px;}

.rc-footnote,
.rc-legend {
  display: none;}

.rc-checkbox-list,
.rc-scrolling-input {
  max-height: none;}

.rc-required {
  background-color: var(--green) !important;}

.rc-multiline-select label {
  background-color: #2b332d !important;}

.rc-multiline-select input[type="radio"]:checked + label {
  background-color: #aca392 !important;}

.rc-checkbox-list {
  border-radius: 6px;
  padding-top: 10px;}

.stripe-input {
  background-color: var(--fog-100) !important;}

.rc-data-error {
  background: #fff;
  border: 2px solid var(--green);
  color: red;
  display: inline-block;
  padding: 4px;
  text-align: right;}

.stripe-error {
  color: var(--white) !important;
  display: inline-block;
  padding: 4px;
  text-align: right;}

/* ==========================================================================
   Product / Checkout misc
   ========================================================================== */

/* Tasting Notes Letter Case */
.product-attribute-nv-name {
  text-transform: uppercase;}

.ms-buybox .product-attribute-nv-name {
  font-weight: bold;
  margin-bottom: -5px;
  margin-top: 0.9rem;}

/* Hide club pricing (ticket INC0041992) */
.sku-selector-container .table-responsive .table tbody tr td:nth-child(3),
.sku-selector-container .table-responsive .table thead tr th:nth-child(3) {
  display: none;}

/* Tier tile fill */
.tier-tile-fill {
  background-color: var(--fog-100);}

/* Wine Club Tier Name */
.wine-club-signup-club-item-title {
  color: var(--green);
  font-size: 42px;
  letter-spacing: -2px;
  line-height: 42px;
  margin-bottom: 3px;}

/* ==========================================================================
   Events
   ========================================================================== */

.event-list-event {
  background-color: var(--fog-100) !important;
  letter-spacing: 0 !important;}

.event-list-category,
.event-list-location,
.event-list-time {
  color: var(--green) !important;
  font-size: 13px !important;
  letter-spacing: 0 !important;
  line-height: 19px !important;}

.event-list-name {
  color: var(--green) !important;
  font-size: 20px !important;
  letter-spacing: 0 !important;
  line-height: 24px !important;}

.event-list-sold-out {
  color: var(--green) !important;
  font-family: var(--serif-regular) !important;}

.event-list-day {
  font-size: 60px !important;
  margin-top: -20px !important;}

/* ==========================================================================
   Checkout Prop 65
   ========================================================================== */

.checkout .msc-p65-warning-text {
  border: 1px solid #666 !important;
  font-size: 15px !important;
  line-height: 18px !important;
  padding-left: 5px !important;}

/* ==========================================================================
   Header / Logo (mobile)
   ========================================================================== */

.ms-header .mobile-vp .ms-header__logo img,
.ms-header .mobile-vp .ms-header\_\_logo img {
  height: auto;
  max-width: 190px !important;}