/*
 * Whisky EDU design system.
 *
 * This is the site's design CSS. It used to live in the Customizer's Additional
 * CSS box, which meant it existed only in the database and could not travel
 * with the plugin. It is a file now, so a copy of the plugin folder carries the
 * whole design with it.
 *
 * Printed as a link at wp_head priority 100 - the slot WordPress uses for the
 * Customizer's own inline copy. Enqueuing it normally would place it ahead of
 * the theme's stylesheets and every rule here would start losing the cascade.
 *
 * The Customizer box is left empty and still works: anything added there is
 * offloaded by whiskyedu-custom-css.php and lands after this file.
 */

.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .one-container .container, .separate-containers .paging-navigation, .inside-page-header {
    color: inherit;
}

.main-navigation {
    z-index: 100;
    padding: 0;
    clear: both;
    display: none;
}

/* Override GeneratePress link color */
.inside-article a,
.paging-navigation a,
.comments-area a,
.page-header a {
    color: inherit;
}

/* STart Two Line Text */
.one-line {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.two-line {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.three-line {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* End Two Line Text */

/* Fix: Force horizontal scroll on mobile */
@media (max-width: 767px) {
    .mobile-scroll-table {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important; /* This enables the scroll */
        -webkit-overflow-scrolling: touch; /* Smooth scroll for iOS */
    }

    /* Target the table inside the container to force width */
    .mobile-scroll-table table {
        min-width: 700px !important; /* Adjust this based on your columns */
        width: 100%;
        border-collapse: collapse;
    }
}

.main-navigation.is_stuck,
.main-navigation.is_stuck ul ul{
    background-color: #fff;
}

.inside-wc-product-image {
    position: relative;
    display: inline-block;
    width: 100%;
	object-fit: cover;
}

.woocommerce ul.products li.product a img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 1em;
    box-shadow: none;
    height: 250px;
	object-fit: cover;
}

a.wc-block-components-product-name {
    color: wheat;
    font-size: 16px !important;
}

@media (max-width: 768px) {
    .main-navigation.has-branding .inside-navigation.grid-container {
        padding: 0px;
        background: white;
    }
}


.message__logo-container {
    color: #E5CFBD !important;
}

span.tag--xsmall {
    color: #E5CFBD !important;
}

.woocommerce div.product form.cart .variations select {
    -webkit-background-size: 16px;
    background-position: calc(100% - 12px) 50%;
    color: #757575;
    border: 1px solid #787878;
}

/* Event Display Event Page by Protik */

.entry-content .eaw-block h3 {
    background: none;
    clear: none;
    margin-bottom: 0;
    margin-top: 0;
    font-weight: 400;
    font-size: 36px !important;
    line-height: 1.5em;
}

.entry-content .eaw-block .eaw-time {
    color: #bbb;
    font-size: 26px !important;
}


.entry-content .eaw-block .eaw-summary {
    font-size: 21px;
    line-height: 47px !important;
}



.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .one-container .container, .separate-containers .paging-navigation, .inside-page-header {
    color: inherit;
}

.main-navigation {
    z-index: 100;
    padding: 0;
    clear: both;
    display: none;
}

/* Override GeneratePress link color */
.inside-article a,
.paging-navigation a,
.comments-area a,
.page-header a {
    color: inherit;
}

/* STart Two Line Text */
.one-line {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.two-line {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.three-line {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* End Two Line Text */

/* Fix: Force horizontal scroll on mobile */
@media (max-width: 767px) {
    .mobile-scroll-table {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important; /* This enables the scroll */
        -webkit-overflow-scrolling: touch; /* Smooth scroll for iOS */
    }

    /* Target the table inside the container to force width */
    .mobile-scroll-table table {
        min-width: 700px !important; /* Adjust this based on your columns */
        width: 100%;
        border-collapse: collapse;
    }
}

.main-navigation.is_stuck,
.main-navigation.is_stuck ul ul{
    background-color: #fff;
}

.inside-wc-product-image {
    position: relative;
    display: inline-block;
    width: 100%;
	object-fit: cover;
}

.woocommerce ul.products li.product a img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 1em;
    box-shadow: none;
    height: 250px;
	object-fit: cover;
}

a.wc-block-components-product-name {
    color: wheat;
    font-size: 16px !important;
}

@media (max-width: 768px) {
    .main-navigation.has-branding .inside-navigation.grid-container {
        padding: 0px;
        background: white;
    }
}


.message__logo-container {
    color: #E5CFBD !important;
}

span.tag--xsmall {
    color: #E5CFBD !important;
}

.woocommerce div.product form.cart .variations select {
    -webkit-background-size: 16px;
    background-position: calc(100% - 12px) 50%;
    color: #757575;
    border: 1px solid #787878;
}

/* Event Display Event Page by Protik */

.entry-content .eaw-block h3 {
    background: none;
    clear: none;
    margin-bottom: 0;
    margin-top: 0;
    font-weight: 400;
    font-size: 36px !important;
    line-height: 1.5em;
}

.entry-content .eaw-block .eaw-time {
    color: #bbb;
    font-size: 26px !important;
}


.entry-content .eaw-block .eaw-summary {
    font-size: 21px;
    line-height: 47px !important;
}



/* ===== Whiskey EDU site container — one container for header, body and footer.
   Change ONLY these values to resize the whole site. Content width = container minus 2x gutter. ===== */
:root{
  --wedu-container: 1400px;  /* desktop frame  -> content 1296px */
  --wedu-gutter: 72px;
}
@media (max-width:1024px){ :root{ --wedu-gutter: 44px; } }  /* tablet  -> content 746px at 834px */
@media (max-width:767px){  :root{ --wedu-gutter: 20px; } }  /* mobile  -> content 350px at 390px */
/* ===== end Whiskey EDU site container ===== */



/* ===== Whiskey EDU global container alignment
   GeneratePress' own content container follows the same two variables the new
   header, body and footer use, so every page lines up on one column. ===== */
.grid-container:not(.inside-add-to-cart-panel) {
  max-width: var(--wedu-container);
  padding-left: var(--wedu-gutter);
  padding-right: var(--wedu-gutter);
}
/* the gutter comes from the container now, so drop the doubled inner padding */
.one-container .site-content { padding-left: 0; padding-right: 0; }
/* full-width pages are built from full-bleed sections that carry their own
   container, so the site wrapper must not add a second gutter */
.full-width-content .site.grid-container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
/* ===== end Whiskey EDU global container alignment ===== */

/* ===== Whiskey EDU cart panel — applied site-wide. ===== */

/* backdrop */
.wc-block-components-drawer__screen-overlay {
  background-color: rgba(4,8,14,.74);
  backdrop-filter: blur(6px);
}

/* the panel itself */
.wc-block-mini-cart__drawer {
  border-left: 1px solid rgba(231,143,52,.22);
  box-shadow: -40px 0 90px -40px rgba(0,0,0,.9);
}
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents {
  position: relative;
  background-color: #0A111B !important;
  color: #C3BCB1;
  font-family: 'Barlow Semi Condensed', sans-serif;
}
/* candlelight falling from the top edge */
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 180px;
  background: linear-gradient(180deg, rgba(231,143,52,.10), rgba(231,143,52,0));
  pointer-events: none;
}
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents > * {
  position: relative;
}

/* close button — pinned inside the panel's own top-right corner so it can never
   be clipped by the panel edge, and tinted so it reads against dark content */
.wc-block-components-drawer__close-wrapper {
  position: relative;
  height: 76px;
  padding: 0;
  margin: 0;
  z-index: 6;
}
.wc-block-components-drawer__close.wc-block-components-button,
.wc-block-components-drawer__close.wc-block-components-button.contained {
  box-sizing: border-box !important;
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  left: auto !important;
  bottom: auto !important;
  width: 44px !important;
  height: 44px !important;
  min-height: 0 !important;
  min-width: 0 !important;
  max-height: none;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(231,143,52,.16) !important;
  border: 1px solid rgba(231,143,52,.5) !important;
  border-radius: 999px;
  color: #F5B87A !important;
  box-shadow: 0 8px 22px -12px rgba(0,0,0,.9);
  z-index: 6;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease, transform .3s ease;
}
.wc-block-components-drawer__close svg {
  width: 20px; height: 20px; min-width: 0; min-height: 0; fill: currentColor;
}
.wc-block-components-drawer__close.wc-block-components-button:hover,
.wc-block-components-drawer__close.wc-block-components-button:focus,
.wc-block-components-drawer__close.contained:hover,
.wc-block-components-drawer__close.contained:focus {
  background-color: rgba(231,143,52,.32) !important;
  border-color: #E78F34 !important;
  color: #FFF3E2 !important;
  transform: rotate(90deg);
}
.wc-block-components-drawer__close.wc-block-components-button:active {
  transform: rotate(90deg) scale(.94);
}

/* title — sits under the close button, never beside it */
.wc-block-mini-cart__title {
  display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap;
  margin: 0;
  padding: 0 24px 18px;
  border-bottom: 1px solid rgba(231,143,52,.18);
  font-family: 'Playfair Display', serif; font-weight: 500;
  font-size: 30px; line-height: 1.15; color: #F7F1E6;
}
.wp-block-woocommerce-mini-cart-title-items-counter-block {
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: #E78F34;
}

/* empty state */
.wc-block-mini-cart__empty-cart-wrapper {
  padding: 52px 24px; text-align: center;
}
.wc-block-mini-cart__empty-cart-wrapper p {
  color: #C3BCB1; font-size: 16.5px; line-height: 1.7;
}
.wc-block-mini-cart__empty-cart-wrapper strong {
  color: #EFE8DC; font-weight: 600;
}

/* product rows */
.wc-block-mini-cart__items { padding: 0 24px; }
.wc-block-mini-cart-items tr { border-bottom: 1px solid rgba(231,143,52,.12); }
.wc-block-mini-cart-items td { padding: 16px 0; }
.wc-block-mini-cart-items a { color: #EFE8DC; text-decoration: none; }
.wc-block-mini-cart-items a:hover { color: #E78F34; }
.wc-block-components-formatted-money-amount,
.wc-block-formatted-money-amount { color: #E78F34; }

/* footer + subtotal */
.wc-block-mini-cart__footer {
  padding: 22px 24px 26px;
  border-top: 1px solid rgba(231,143,52,.18);
  background-image: linear-gradient(180deg,#0C1522,#080E17);
}
.wc-block-mini-cart__footer-subtotal {
  display: flex; align-items: baseline; justify-content: space-between;
  padding-bottom: 16px; margin-bottom: 18px;
  border-bottom: 1px solid rgba(231,143,52,.18);
}
.wc-block-components-totals-item__label {
  color: #9BA6B4; font-size: 13px; letter-spacing: .18em; text-transform: uppercase;
}
.wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__value {
  font-family: 'Playfair Display', serif; font-size: 24px; color: #E78F34;
}
.wc-block-mini-cart__footer-actions {
  display: flex; flex-direction: column; gap: 10px;
}

/* buttons — the same two shapes used everywhere else on the site */
.wc-block-mini-cart__footer-checkout,
.wc-block-mini-cart__empty-cart-wrapper .wp-block-button a {
  display: flex; align-items: center; justify-content: center;
  width: 100%; padding: 12px 28px; border: 0; border-radius: 999px;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 13px; line-height: 1.25; font-weight: 600; letter-spacing: .06em;
  color: #1A1206 !important; text-decoration: none;
  background-color: transparent;
  background-image: linear-gradient(135deg,#F0B968,#E9A24B 55%,#C97E2A);
  box-shadow: 0 16px 34px -18px rgba(231,143,52,.85);
  transition: transform .22s ease, box-shadow .22s ease, background-image .22s ease;
}
.wc-block-mini-cart__footer-checkout:hover,
.wc-block-mini-cart__footer-checkout:focus,
.wc-block-mini-cart__empty-cart-wrapper .wp-block-button a:hover,
.wc-block-mini-cart__empty-cart-wrapper .wp-block-button a:focus {
  background-image: linear-gradient(135deg,#F5B87A,#F0B968 55%,#E9A24B);
  transform: translateY(-2px);
  box-shadow: 0 22px 46px -16px rgba(231,143,52,.95);
}
.wc-block-mini-cart__footer-checkout:active,
.wc-block-mini-cart__empty-cart-wrapper .wp-block-button a:active {
  transform: translateY(0);
}

.wc-block-mini-cart__footer-cart {
  display: flex; align-items: center; justify-content: center;
  width: 100%; padding: 13px 32px; border-radius: 999px;
  background: transparent;
  border: 1px solid rgba(231,143,52,.45);
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 14px; letter-spacing: .14em; text-transform: uppercase;
  color: #EFE8DC !important; text-decoration: none; box-shadow: none;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease, transform .22s ease;
}
.wc-block-mini-cart__footer-cart:hover,
.wc-block-mini-cart__footer-cart:focus {
  background-color: rgba(231,143,52,.22);
  border-color: #E78F34;
  color: #F5B87A !important;
  transform: translateY(-2px);
}
.wc-block-mini-cart__footer-cart:active { transform: translateY(0); }

/* the admin bar is fixed over the top of the viewport, so the full-screen
   mobile menu has to start below it for logged-in users */
.admin-bar .gb-menu-container--toggled { top: 46px; }
@media screen and (min-width: 783px) {
  .admin-bar .gb-menu-container--toggled { top: 32px; }
}

/* ===== end Whiskey EDU cart panel ===== */

/* ===== Whiskey EDU shop &amp; blog grids =====
   WooCommerce builds the product loop itself, so its cards are dressed here to
   match the Candlelit Cask cards used everywhere else. ===== */

/* ---------- product grid ---------- */
.woocommerce ul.products {
  margin: 0;
  padding: 0;
}
.woocommerce ul.products li.product,
#wc-column-container ul.products li.product {
  display: flex;
  flex-direction: column;
  background-color: rgba(255,255,255,.025);
  border: 1px solid rgba(231,143,52,.18);
  border-radius: 4px;
  overflow: hidden;
  transition: border-color .22s ease, background-color .22s ease, transform .22s ease;
}
.woocommerce ul.products li.product:hover,
#wc-column-container ul.products li.product:hover {
  border-color: rgba(231,143,52,.5);
  background-color: rgba(255,255,255,.04);
  transform: translateY(-3px);
}
.woocommerce ul.products li.product .wc-product-image,
.woocommerce ul.products li.product img {
  border-radius: 0;
  margin: 0;
}
.woocommerce ul.products li.product .wc-product-image {
  border-bottom: 1px solid rgba(231,143,52,.16);
}
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Playfair Display', serif;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.3;
  color: #FBF6EE;
  padding: 22px 24px 0;
  margin: 0;
}
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .amount,
.woocommerce ul.products li.product .price bdi {
  font-family: 'Playfair Display', serif;
  font-size: 24px;
  line-height: 1.1;
  color: #F0B968;
}
.woocommerce ul.products li.product .price {
  display: block;
  padding: 0 24px;
  margin: 0;
}
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del bdi {
  color: #6E7A89;
  font-size: 18px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link + * {
  margin-top: auto;
}

/* add-to-cart / select-options button — the site's primary pill */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 18px 24px 24px;
  padding: 13px 26px;
  border: 0;
  border-radius: 999px;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #1A1206 !important;
  background-color: transparent;
  background-image: linear-gradient(135deg,#F0B968,#E9A24B 55%,#C97E2A);
  box-shadow: 0 14px 30px -16px rgba(231,143,52,.85);
  transition: transform .22s ease, box-shadow .22s ease, background-image .22s ease;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:focus,
.woocommerce ul.products li.product a.add_to_cart_button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:focus {
  background-image: linear-gradient(135deg,#F5B87A,#F0B968 55%,#E9A24B);
  transform: translateY(-2px);
  box-shadow: 0 20px 40px -16px rgba(231,143,52,.95);
}
.woocommerce ul.products li.product .button:active,
.woocommerce ul.products li.product a.add_to_cart_button:active { transform: translateY(0); }

/* sale flash */
.woocommerce ul.products li.product .onsale {
  background-image: linear-gradient(135deg,#F0B968,#C97E2A);
  color: #1A1206;
  border-radius: 999px;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: 6px 16px;
  border: 0;
}

/* result count / ordering row */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select {
  font-family: 'Barlow Semi Condensed', sans-serif;
  color: #9BA6B4;
}
.woocommerce .woocommerce-ordering select {
  background-color: #0D1725;
  border: 1px solid rgba(231,143,52,.28);
  border-radius: 999px;
  padding: 10px 18px;
  color: #EFE8DC;
}

/* archive pagination in the site's palette */
.blog .paging-navigation .page-numbers,
.archive .paging-navigation .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(231,143,52,.28);
  border-radius: 999px;
  background: transparent;
  color: #CFC7BB;
  font-family: 'Barlow Semi Condensed', sans-serif;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease;
}
.blog .paging-navigation .page-numbers:hover,
.archive .paging-navigation .page-numbers:hover {
  background-color: rgba(231,143,52,.16);
  border-color: #E78F34;
  color: #F5B87A;
}
.blog .paging-navigation .page-numbers.current,
.archive .paging-navigation .page-numbers.current {
  background-image: linear-gradient(135deg,#F0B968,#C97E2A);
  border-color: transparent;
  color: #1A1206;
}


/* ---------- archive layout ---------- */
/* On the blog index and the shop the new full-bleed sections carry their own
   container, so the site wrapper must not add a second gutter. */
.blog .site.grid-container,
.post-type-archive-product .site.grid-container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
/* …which means the WooCommerce product area needs the shared container back */
.post-type-archive-product .woocommerce-products-header,
.post-type-archive-product .wc-columns-container,
.post-type-archive-product nav.woocommerce-pagination,
.post-type-archive-product .woocommerce-result-count,
.post-type-archive-product .woocommerce-ordering {
  width: 100%;
  max-width: var(--wedu-container);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--wedu-gutter);
  padding-right: var(--wedu-gutter);
}
/* ===== end Whiskey EDU shop &amp; blog grids ===== */

/* ===== Whiskey EDU cart, checkout & account =====
   WooCommerce renders these screens itself, so its markup is dressed here to
   match the Candlelit Cask system used by the GenerateBlocks sections. ===== */

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
  font-family: 'Barlow Semi Condensed', sans-serif;
  color: #DED6C9;
}

/* ---------- shared surfaces ---------- */
.woocommerce-cart .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-payment,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-cart .cart-collaterals .cross-sells {
  background-color: rgba(255,255,255,.025);
  border: 1px solid rgba(231,143,52,.18);
  border-radius: 4px;
  padding: 30px 32px;
}

/* ---------- headings inside Woo ---------- */
.woocommerce-cart .woocommerce h2,
.woocommerce-checkout .woocommerce h2,
.woocommerce-checkout .woocommerce h3,
.woocommerce-account .woocommerce h2,
.woocommerce-account .woocommerce h3,
.woocommerce-cart .cart_totals h2 {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  color: #FBF6EE;
  line-height: 1.2;
  margin: 0 0 20px;
}
.woocommerce-cart .woocommerce h2,
.woocommerce-checkout .woocommerce h3,
.woocommerce-account .woocommerce h2 { font-size: 26px; }
.woocommerce-checkout #order_review_heading { font-size: 26px; margin-top: 0; }

/* ---------- tables ---------- */
.woocommerce table.shop_table {
  width: 100%;
  border: 1px solid rgba(231,143,52,.18);
  border-radius: 4px;
  border-collapse: separate;
  border-spacing: 0;
  background-color: rgba(255,255,255,.02);
  margin: 0 0 28px;
}
.woocommerce table.shop_table th {
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #9BA6B4;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(231,143,52,.2);
  text-align: left;
}
.woocommerce table.shop_table td {
  padding: 20px;
  border-top: 1px solid rgba(231,143,52,.12);
  color: #DED6C9;
  vertical-align: middle;
}
.woocommerce table.shop_table tbody tr:first-child td { border-top: 0; }
.woocommerce table.shop_table a { color: #EFE8DC; text-decoration: none; }
.woocommerce table.shop_table a:hover { color: #F5B87A; }
.woocommerce table.shop_table .product-name a {
  font-family: 'Playfair Display', serif;
  font-size: 17.5px;
  line-height: 1.35;
  color: #FBF6EE;
}
/* Column widths — under `table-layout: auto` a stated width is only a hint, so
   the browser handed all the slack to the remove column (270px of empty space)
   and starved the product name (105px), wrapping the title over three lines.
   Fixed layout makes the stated widths authoritative; the name takes the rest. */
.woocommerce-cart form.woocommerce-cart-form table.shop_table { table-layout: fixed; }
.woocommerce table.shop_table th.product-remove,
.woocommerce table.shop_table td.product-remove {
  width: 48px;
  padding-left: 12px;
  padding-right: 0;
  text-align: center;
}
.woocommerce table.shop_table th.product-thumbnail,
.woocommerce table.shop_table td.product-thumbnail {
  width: 104px;
  padding-left: 12px;
  padding-right: 8px;
}
.woocommerce table.shop_table th.product-name,
.woocommerce table.shop_table td.product-name { padding-left: 12px; padding-right: 12px; }
.woocommerce table.shop_table th.product-price,
.woocommerce table.shop_table td.product-price { width: 88px; padding-left: 8px; padding-right: 8px; }
.woocommerce table.shop_table th.product-quantity,
.woocommerce table.shop_table td.product-quantity { width: 168px; padding-left: 12px; padding-right: 12px; }
.woocommerce table.shop_table th.product-subtotal,
.woocommerce table.shop_table td.product-subtotal { width: 108px; padding-left: 8px; text-align: right; }
.woocommerce table.shop_table .product-name a { display: inline-block; text-wrap: pretty; }

/* WooCommerce and the theme both cap images at max-width:100%, which squeezes
   the thumbnail into a narrow cell — the cap is lifted below. */
.woocommerce table.shop_table td.product-thumbnail img {
  display: block;
  width: 84px !important;
  height: 84px !important; /* an !important height:auto elsewhere wins otherwise */
  max-width: none;
  object-fit: cover;
  border-radius: 4px;
  border: 1px solid rgba(231,143,52,.2);
}
.woocommerce table.shop_table .amount,
.woocommerce table.shop_table bdi,
.woocommerce .price .amount {
  font-family: 'Playfair Display', serif;
  color: #F0B968;
}
.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td {
  border-top: 1px solid rgba(231,143,52,.2);
  background-color: rgba(231,143,52,.05);
}
.woocommerce table.shop_table .order-total .amount { font-size: 22px; }

/* remove-from-cart × — GP Premium forces background/border/colour with
   !important, so these three declarations have to answer in kind. */
.woocommerce a.remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  line-height: 1;
  font-size: 18px;
  font-weight: 400;
  border-radius: 999px;
  background-color: rgba(231,143,52,.14) !important;
  background-image: none !important;
  border: 1px solid rgba(231,143,52,.45) !important;
  color: #F5B87A !important;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease;
}
.woocommerce a.remove:hover {
  background-color: rgba(231,143,52,.34) !important;
  border-color: #E78F34 !important;
  color: #FBF6EE !important;
  opacity: 1;
}

/* quantity stepper — GeneratePress renders it as −  input  + */
.woocommerce .quantity,
.woocommerce div.quantity.buttons-added {
  display: inline-flex;
  align-items: center;
}
.woocommerce form .quantity.buttons-added .qty,
.woocommerce .quantity:not(.buttons-added) .qty {
  height: 46px;
  min-height: 46px; /* GeneratePress sets min-height:50px on the stepper */
  width: 54px;
  max-width: 54px;
  padding: 0 6px;
  text-align: center;
  background-color: rgba(255,255,255,.05);
  border: 1px solid rgba(231,143,52,.3);
  color: #FBF6EE;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 16px;
}
.woocommerce .quantity:not(.buttons-added) .qty { width: 88px; max-width: 88px; border-radius: 999px; }
.woocommerce form .quantity.buttons-added .qty { border-radius: 0; border-left: 0; border-right: 0; }
.woocommerce form .quantity.buttons-added .minus,
.woocommerce form .quantity.buttons-added .plus {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 46px;
  min-height: 46px;
  background-color: rgba(255,255,255,.03);
  border: 1px solid rgba(231,143,52,.3);
  color: #F0B968;
  font-size: 19px;
  text-decoration: none;
  transition: background-color .22s ease, color .22s ease;
}
.woocommerce form .quantity.buttons-added .minus { border-radius: 999px 0 0 999px; }
.woocommerce form .quantity.buttons-added .plus  { border-radius: 0 999px 999px 0; }
.woocommerce form .quantity.buttons-added .minus:hover,
.woocommerce form .quantity.buttons-added .plus:hover {
  background-color: rgba(231,143,52,.2);
  color: #F5B87A;
}
.woocommerce form .quantity.buttons-added .qty:focus { border-color: rgba(231,143,52,.3); }

/* ---------- form fields ---------- */
.woocommerce form .form-row { margin: 0 0 20px; padding: 0; }
.woocommerce form .form-row label,
.woocommerce-account label,
.woocommerce-checkout label {
  display: block;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 14px;
  letter-spacing: .06em;
  color: #B9B2A7;
  margin-bottom: 8px;
}
.woocommerce form .form-row label .required { color: #E78F34; border: 0; text-decoration: none; }

.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce input[type="number"],
.woocommerce input[type="search"],
.woocommerce textarea,
.woocommerce select,
.woocommerce .input-text {
  width: 100%;
  box-sizing: border-box;
  padding: 13px 16px;
  background-color: rgba(255,255,255,.04);
  border: 1px solid rgba(231,143,52,.28);
  border-radius: 4px;
  color: #FBF6EE;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 16px;
  line-height: 1.4;
  transition: border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
}
.woocommerce input::placeholder,
.woocommerce textarea::placeholder { color: #6E7A89; }
.woocommerce input[type="text"]:focus,
.woocommerce input[type="email"]:focus,
.woocommerce input[type="tel"]:focus,
.woocommerce input[type="password"]:focus,
.woocommerce input[type="number"]:focus,
.woocommerce textarea:focus,
.woocommerce select:focus,
.woocommerce .input-text:focus {
  outline: 0;
  border-color: #E78F34;
  background-color: rgba(255,255,255,.07);
  box-shadow: 0 0 0 3px rgba(231,143,52,.18);
}
.woocommerce textarea { min-height: 130px; resize: vertical; }

/* checkboxes */
.woocommerce input[type="checkbox"],
.woocommerce input[type="radio"] {
  accent-color: #E78F34;
  width: 17px;
  height: 17px;
  vertical-align: -3px;
  margin-right: 8px;
}

/* ---------- native select ---------- */
.woocommerce select,
.woocommerce-page select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 44px;
  background-image:
    linear-gradient(45deg, transparent 50%, #E78F34 50%),
    linear-gradient(135deg, #E78F34 50%, transparent 50%);
  background-position: calc(100% - 22px) calc(50% + 2px), calc(100% - 16px) calc(50% + 2px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  cursor: pointer;
}
/* the popup list drawn by the OS */
.woocommerce select option,
.woocommerce-page select option {
  background-color: #0D1725;
  color: #EFE8DC;
}

/* ---------- select2 / selectWoo dropdowns ----------
   The dropdown panel is appended to <body>, so it is styled globally. */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  height: auto;
  min-height: 50px;
  padding: 6px 10px;
  background-color: rgba(255,255,255,.04);
  border: 1px solid rgba(231,143,52,.28);
  border-radius: 4px;
  transition: border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #FBF6EE;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 16px;
  line-height: 36px;
  padding-left: 6px;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder { color: #6E7A89; }
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 48px;
  right: 12px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #E78F34 transparent transparent transparent;
  border-width: 6px 5px 0 5px;
  margin-left: -5px;
}
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single {
  border-color: #E78F34;
  background-color: rgba(255,255,255,.07);
  box-shadow: 0 0 0 3px rgba(231,143,52,.18);
}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #E78F34 transparent;
  border-width: 0 5px 6px 5px;
}

/* the popup panel.
   woocommerce.css carries `:where(.woocommerce) .select2-container .select2-dropdown`.
   :where() weighs nothing, so that reads as two classes and outranks a bare
   .select2-dropdown — which is how the panel stayed white. Matching it here. */
.select2-dropdown,
.select2-container .select2-dropdown {
  background-color: #0D1725;
  border: 1px solid rgba(231,143,52,.4);
  border-radius: 4px;
  box-shadow: 0 26px 60px -28px rgba(0,0,0,.95);
  overflow: hidden;
}
.select2-container--default .select2-search--dropdown { padding: 10px; }
.select2-container--default .select2-search--dropdown .select2-search__field {
  background-color: rgba(255,255,255,.05);
  border: 1px solid rgba(231,143,52,.3);
  border-radius: 4px;
  color: #FBF6EE;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 15px;
  padding: 10px 12px;
}
.select2-container--default .select2-search--dropdown .select2-search__field:focus {
  outline: 0;
  border-color: #E78F34;
}
.select2-container--default .select2-results > .select2-results__options {
  max-height: 260px;
  scrollbar-color: rgba(231,143,52,.5) transparent;
}
.select2-container--default .select2-results__option {
  padding: 11px 16px;
  color: #CFC7BB;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 15.5px;
  background-color: transparent;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected],
.select2-container--default .select2-results__option--highlighted {
  background-color: rgba(231,143,52,.2);
  color: #F5B87A;
}
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[data-selected="true"] {
  background-color: rgba(231,143,52,.32);
  color: #FBF6EE;
}
.select2-container--default .select2-results__message { color: #8E97A3; }

/* ---------- buttons ---------- */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce #respond input#submit,
.woocommerce .checkout-button,
.woocommerce #place_order {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 24px;
  border: 0;
  border-radius: 999px;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #1A1206 !important;
  background-color: transparent;
  background-image: linear-gradient(135deg,#EFB775,#E09A46 55%,#C4802F);
  box-shadow: 0 8px 20px -12px rgba(231,143,52,.7);
  transition: transform .2s ease, box-shadow .2s ease, background-image .2s ease;
  text-decoration: none;
}
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover,
.woocommerce .checkout-button:hover,
.woocommerce #place_order:hover {
  background-image: linear-gradient(135deg,#F5B87A,#EFB775 55%,#E09A46);
  transform: translateY(-1px);
  box-shadow: 0 14px 28px -14px rgba(231,143,52,.85);
}
.woocommerce .button:active,
.woocommerce #place_order:active { transform: translateY(0); }
.woocommerce .button:disabled,
.woocommerce .button.disabled {
  opacity: .5;
  transform: none;
  box-shadow: none;
  cursor: not-allowed;
}
/* secondary / outline buttons */
.woocommerce button.button[name="update_cart"],
.woocommerce .woocommerce-form-coupon .button,
.woocommerce .cart .coupon .button {
  background-image: none;
  background-color: transparent;
  border: 1px solid rgba(231,143,52,.45);
  color: #EFE8DC !important;
  box-shadow: none;
}
.woocommerce button.button[name="update_cart"]:hover,
.woocommerce .woocommerce-form-coupon .button:hover,
.woocommerce .cart .coupon .button:hover {
  background-image: none;
  background-color: rgba(231,143,52,.22);
  border-color: #E78F34;
  color: #F5B87A !important;
  box-shadow: none;
}
/* core woocommerce.css sizes this one at 1.25em/1em through a (0,3,1) selector,
   which on mobile inherits an 18px base and balloons to 22.5px. Place Order is
   worse: GeneratePress pins it at 150% through a two-ID selector. */
.woocommerce .checkout-button,
.woocommerce #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
  width: 100%;
  max-width: 100%;
  font-size: 14px;
  line-height: 1.3;
  padding: 14px 28px;
  white-space: normal;
}

/* ---------- cart specifics ---------- */
/* The cell keeps its table-cell role — giving it `display:flex` drops it out of
   the table model, so its colspan="6" collapses to the first column's width and
   the rule above the coupon only draws part way across. */
.woocommerce table.cart td.actions {
  display: table-cell;
  width: 100%;
  padding: 20px;
  vertical-align: middle;
}
.woocommerce .cart .coupon { display: flex; flex-wrap: nowrap; gap: 10px; align-items: center; }
.woocommerce .cart .coupon .button { white-space: nowrap; flex: 0 0 auto; }
/* quantities and coupons both save themselves now */
.woocommerce table.cart td.actions button[name="update_cart"],
.woocommerce table.cart td.actions input[name="update_cart"] { display: none !important; }
/* coupon in flight */
.woocommerce .cart .coupon.is-busy { opacity: .6; pointer-events: none; }
/* WooCommerce sizes these through selectors that include the theme's #content
   wrapper, so the overrides have to carry the same ID to outrank them. */
.woocommerce #content table.cart td.actions .coupon .input-text,
.woocommerce table.cart td.actions .coupon .input-text,
.woocommerce-page #content table.cart td.actions .coupon .input-text,
.woocommerce-page table.cart td.actions .coupon .input-text {
  width: auto;
  min-width: 230px;
  margin: 0;
  float: none;
  padding: 13px 20px;
  border-radius: 999px;
}
.woocommerce #content table.cart td.actions .coupon .button,
.woocommerce table.cart td.actions .coupon .button,
.woocommerce-page #content table.cart td.actions .coupon .button,
.woocommerce-page table.cart td.actions .coupon .button { width: auto; float: none; }
.woocommerce .cart-collaterals { margin-top: 8px; }
/* The totals table is laid out with flex rather than table cells: a table row
   set to `block` inside a `table` collapses to one column's width, which is
   what squashed the shipping options. */
.woocommerce .cart_totals table.shop_table,
.woocommerce .cart_totals table.shop_table tbody {
  display: block;
  width: 100%;
  background: transparent;
  border: 0;
  margin-bottom: 20px;
}
.woocommerce .cart_totals table.shop_table tbody { margin-bottom: 0; }
.woocommerce .cart_totals table.shop_table tr {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 16px 0;
  border-top: 1px solid rgba(231,143,52,.14);
}
.woocommerce .cart_totals table.shop_table tr:first-child { border-top: 0; padding-top: 0; }
.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
}
.woocommerce .cart_totals table.shop_table th { flex: 0 0 auto; text-align: left; }
.woocommerce .cart_totals table.shop_table td { flex: 1 1 auto; text-align: right; }
.woocommerce .cart_totals tfoot th, .woocommerce .cart_totals tfoot td { background: transparent; }
.woocommerce .shipping-calculator-button { color: #E78F34; text-decoration: none; }
.woocommerce .shipping-calculator-button:hover { color: #F5B87A; }

/* shipping row — the options need the full width of the totals box, not a
   narrow right-hand column shared with the "Shipping to …" line */
.woocommerce .cart_totals table.shop_table tr.woocommerce-shipping-totals {
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}
.woocommerce .cart_totals table.shop_table tr.woocommerce-shipping-totals th,
.woocommerce .cart_totals table.shop_table tr.woocommerce-shipping-totals td {
  width: 100%;
  text-align: left;
}
.woocommerce ul#shipping_method { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.woocommerce ul#shipping_method li {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 0;
  color: #DED6C9;
  text-align: left;
}
.woocommerce ul#shipping_method li input[type="radio"] { flex: 0 0 auto; margin: 0; }
.woocommerce ul#shipping_method li label { display: inline; margin: 0; color: #DED6C9; font-size: 16px; letter-spacing: 0; }
.woocommerce ul#shipping_method .amount { font-family: 'Playfair Display', serif; color: #F0B968; }
.woocommerce .woocommerce-shipping-destination {
  display: block;
  margin: 12px 0 0;
  color: #9BA6B4;
  font-size: 14.5px;
  text-align: left;
}
.woocommerce-cart .wc-empty-cart-message,
.woocommerce .cart-empty {
  font-family: 'Playfair Display', serif;
  font-size: 24px;
  color: #FBF6EE;
  text-align: center;
}
.woocommerce .return-to-shop { text-align: center; margin-top: 22px; }

/* ---------- checkout specifics ---------- */
.woocommerce-checkout .col2-set { display: grid; grid-template-columns: 1fr; gap: 0; }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width: 100%; float: none; }
.woocommerce-checkout #customer_details {
  background-color: rgba(255,255,255,.025);
  border: 1px solid rgba(231,143,52,.18);
  border-radius: 4px;
  padding: 30px 32px;
  margin-bottom: 30px;
}
.woocommerce-checkout .woocommerce-checkout-review-order { margin-top: 0; }
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid rgba(231,143,52,.16);
  padding: 0 0 18px;
  margin: 0 0 18px;
  list-style: none;
}
.woocommerce-checkout #payment ul.payment_methods li {
  padding: 12px 0;
  color: #DED6C9;
}
.woocommerce-checkout #payment ul.payment_methods li label { display: inline; font-size: 16px; color: #EFE8DC; letter-spacing: 0; }
/* GeneratePress hides the native radio and draws its own tick on the label */
.woocommerce-checkout #payment .payment_methods > .wc_payment_method > label {
  display: block;
  padding: 16px 18px;
  background-color: rgba(255,255,255,.04);
  border: 1px solid rgba(231,143,52,.2);
  border-radius: 4px;
  color: #EFE8DC;
  transition: background-color .22s ease, border-color .22s ease;
}
.woocommerce-checkout #payment .payment_methods > .wc_payment_method > label:hover {
  background-color: rgba(231,143,52,.1);
  border-color: rgba(231,143,52,.4);
}
.woocommerce-checkout #payment .payment_methods > .wc_payment_method > label::before { color: #E78F34; }
.woocommerce-checkout #payment .payment_methods li.wc_payment_method > input[type="radio"]:first-child:checked + label {
  background-color: rgba(231,143,52,.16);
  border-color: #E78F34;
  color: #FBF6EE;
}
.woocommerce-checkout #payment div.payment_box {
  background-color: rgba(231,143,52,.08);
  border: 1px solid rgba(231,143,52,.2);
  border-radius: 4px;
  color: #B9B2A7;
  font-size: 15px;
  padding: 16px 18px;
  margin: 12px 0 0;
}
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin-bottom: 18px; }
.woocommerce-checkout .woocommerce-privacy-policy-text p,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper p { color: #9BA6B4; font-size: 15px; }
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle { margin-bottom: 24px; }

/* ---------- my account ---------- */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
  display: grid;
  grid-template-columns: 268px minmax(0,1fr);
  gap: 36px;
  align-items: start;
}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { width: auto; float: none; }
/* the content is emitted before the navigation, so place both explicitly */
.woocommerce-account .woocommerce-MyAccount-navigation { grid-column: 1; grid-row: 1; }
.woocommerce-account .woocommerce-MyAccount-content { grid-column: 2; grid-row: 1; }
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  margin: 0; padding: 0; list-style: none;
  display: flex; flex-direction: column; gap: 8px;
  border-top: 0; /* GeneratePress draws a light rule here */
}
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
/* GeneratePress appends a chevron glyph to the active item */
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::after { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 13px 20px;
  border: 1px solid rgba(231,143,52,.2);
  border-radius: 999px;
  color: #CFC7BB;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background-color: rgba(231,143,52,.16);
  border-color: #E78F34;
  color: #F5B87A;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background-image: linear-gradient(135deg,#F0B968,#C97E2A);
  border-color: transparent;
  color: #1A1206;
  font-weight: 600;
}
.woocommerce-account .woocommerce-MyAccount-content p { color: #C6BFB4; }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button) { color: #E78F34; text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover { color: #F5B87A; }
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register { max-width: 520px; margin: 0 auto; }
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; }
.woocommerce-account .woocommerce-form-login .lost_password a { color: #E78F34; text-decoration: none; }
.woocommerce-account .woocommerce-Address { margin-bottom: 24px; }
.woocommerce-account .woocommerce-Address address {
  background-color: rgba(255,255,255,.025);
  border: 1px solid rgba(231,143,52,.18);
  border-radius: 4px;
  padding: 20px 22px;
  color: #CFC7BB;
  font-style: normal;
  line-height: 1.8;
}

/* ---------- specificity: WooCommerce's own field and panel rules ----------
   core woocommerce.css uses `.woocommerce form .form-row .input-text` (0,3,0)
   and `.woocommerce form.login` (0,2,1), both of which outrank the generic
   field rules above, so the contested declarations are restated here. */
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea,
.woocommerce form.login .input-text,
.woocommerce form.register .input-text,
.woocommerce .woocommerce-form .input-text,
.woocommerce-page form .form-row .input-text {
  background-color: rgba(255,255,255,.04);
  border: 1px solid rgba(231,143,52,.28);
  border-radius: 4px;
  color: #FBF6EE;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 16px;
  padding: 13px 16px;
}
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form.login .input-text:focus,
.woocommerce form.register .input-text:focus,
.woocommerce .woocommerce-form .input-text:focus {
  outline: 0;
  border-color: #E78F34;
  background-color: rgba(255,255,255,.07);
  box-shadow: 0 0 0 3px rgba(231,143,52,.18);
}
.woocommerce form .form-row .input-text::placeholder { color: #6E7A89; }
.woocommerce form.login,
.woocommerce form.register {
  background-color: rgba(255,255,255,.025);
  border: 1px solid rgba(231,143,52,.18);
  border-radius: 4px;
  padding: 30px 32px;
}

/* ---------- notices ---------- */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  background-color: rgba(255,255,255,.03);
  border: 1px solid rgba(231,143,52,.3);
  border-left: 3px solid #E78F34;
  border-radius: 4px;
  color: #EFE8DC;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 16px;
  padding: 16px 20px;
  margin: 0 0 26px;
  list-style: none;
}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before { display: none; }
.woocommerce .woocommerce-error { border-left-color: #D4623A; border-color: rgba(212,98,58,.45); }
/* The "View cart" button in a notice inherited the theme's dark fill on the
   notice's dark ground, so it read as an empty box. It is an outline button. */
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-error .button,
.woocommerce .woocommerce-message a.button,
.woocommerce .woocommerce-info a.button,
.woocommerce-notices-wrapper .woocommerce-message a.button,
.woocommerce-notices-wrapper .woocommerce-info a.button {
  margin-left: auto;
  padding: 11px 24px;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  line-height: 1.2;
  background: transparent;
  background-color: transparent;
  background-image: none;
  /* the site-wide button rule pins dark text with !important for amber fills */
  color: #F0B968 !important;
  border: 1px solid rgba(231,143,52,.55);
  border-radius: 999px;
  text-decoration: none;
  box-shadow: none;
  transition: background-color .22s ease, color .22s ease, border-color .22s ease;
}

/* loading overlay */
.woocommerce .blockUI.blockOverlay { background-color: #0A111B !important; opacity: .7 !important; }

/* ---------- responsive ---------- */
@media (max-width: 1024px) {
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: 1fr; gap: 26px; }
  .woocommerce-account .woocommerce-MyAccount-navigation { grid-column: 1; grid-row: 1; }
  .woocommerce-account .woocommerce-MyAccount-content { grid-column: 1; grid-row: 2; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { flex-direction: row; flex-wrap: wrap; }
  .woocommerce-cart .cart_totals,
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review,
  .woocommerce-account .woocommerce-MyAccount-content { padding: 24px 22px; }
}
/* 768px, not 767px: WooCommerce's own woocommerce-smallscreen.css switches the
   cart table at max-width:768px, so the card layout has to start at the same
   point or 768px lands between the two and the columns overflow. */
@media (max-width: 768px) {
  /* Scoped to the items table — the totals table is also .shop_table and must
     not be turned into stacked cards. */
  .woocommerce-cart form.woocommerce-cart-form table.shop_table thead { display: none; }
  .woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr {
    display: block;
    border: 1px solid rgba(231,143,52,.18);
    border-radius: 4px;
    margin-bottom: 16px;
    padding: 8px 4px;
  }
  .woocommerce-cart form.woocommerce-cart-form table.shop_table tbody td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-top: 0;
    padding: 10px 16px;
    text-align: right;
  }
  .woocommerce-cart form.woocommerce-cart-form table.shop_table tbody td::before {
    content: attr(data-title);
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #8E97A3;
  }
  .woocommerce-cart form.woocommerce-cart-form table.shop_table tbody td.product-remove::before,
  .woocommerce-cart form.woocommerce-cart-form table.shop_table tbody td.product-thumbnail::before { content: none; }
  /* the desktop column widths must not survive into the stacked card layout */
  .woocommerce-cart form.woocommerce-cart-form table.shop_table tbody td { width: auto; padding-left: 16px; padding-right: 16px; }
  .woocommerce-cart form.woocommerce-cart-form table.shop_table tbody td.product-remove { justify-content: flex-end; text-align: right; }
  /* WooCommerce hides the thumbnail on small screens with an !important rule;
     the card reads better with the bottle visible, so it has to answer in kind */
  .woocommerce-cart form.woocommerce-cart-form table.shop_table tbody td.product-thumbnail {
    display: flex !important;
    justify-content: center;
    width: auto;
    padding-top: 14px;
    padding-bottom: 6px;
  }
  .woocommerce table.shop_table td.product-thumbnail img { width: 104px !important; height: 104px !important; }

  /* totals table: label on its own line, figure beneath, everything left aligned */
  .woocommerce .cart_totals table.shop_table tr {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }
  .woocommerce .cart_totals table.shop_table th,
  .woocommerce .cart_totals table.shop_table td { width: 100%; text-align: left; }
  .woocommerce .cart_totals table.shop_table td::before { content: none; }
  .woocommerce .cart .actions { flex-direction: column; align-items: stretch; }
  /* the actions cell is a plain block on small screens — a column flex box that
     is allowed to wrap turns the field and button into two half-width columns */
  .woocommerce table.cart td.actions,
  .woocommerce-page table.cart td.actions {
    display: block !important;
    padding: 18px 16px;
  }
  .woocommerce table.cart td.actions .coupon,
  .woocommerce-page table.cart td.actions .coupon {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 10px;
    width: 100%;
    padding: 0;
    margin: 0;
  }
  .woocommerce #content table.cart td.actions .coupon .input-text,
  .woocommerce table.cart td.actions .coupon .input-text,
  .woocommerce-page #content table.cart td.actions .coupon .input-text,
  .woocommerce-page table.cart td.actions .coupon .input-text {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    text-align: center;
  }
  .woocommerce #content table.cart td.actions .coupon .button,
  .woocommerce table.cart td.actions .coupon .button,
  .woocommerce-page #content table.cart td.actions .coupon .button,
  .woocommerce-page table.cart td.actions .coupon .button,
  .woocommerce #content table.cart td.actions .button,
  .woocommerce table.cart td.actions .button {
    width: 100%;
    float: none;
    white-space: nowrap;
  }
}
/* ---------- mini-cart drawer ----------
   The filled-contents block is height:100% but sits below a 76px close bar, so
   it overflows the drawer by exactly that much and buries the checkout button.
   Making the column a real flex stack pins the footer and scrolls the items. */
.wc-block-mini-cart__drawer .wc-block-components-drawer__content,
.wc-block-mini-cart__drawer .wc-block-mini-cart__template-part,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
.wc-block-mini-cart__drawer .wc-block-components-drawer__close-wrapper { flex: 0 0 auto; }
.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block,
.wc-block-mini-cart__drawer .wp-block-woocommerce-empty-mini-cart-contents-block {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
}
.wc-block-mini-cart__drawer .wc-block-mini-cart__title { flex: 0 0 auto; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__items {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.wc-block-mini-cart__drawer .wc-block-mini-cart__products-table { margin-bottom: 0; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer {
  flex: 0 0 auto;
  padding-bottom: calc(22px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(231,143,52,.16);
  background-color: rgba(255,255,255,.02);
}
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: auto;
}
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions .wc-block-components-button {
  min-height: 0;
  padding: 12px 24px;
  font-size: 13px;
  letter-spacing: .13em;
}
/* short viewports: let the whole drawer scroll rather than clip the footer */
@media (max-height: 560px) {
  .wc-block-mini-cart__drawer .wc-block-mini-cart__items { overflow-y: auto; }
  .wc-block-mini-cart__drawer .wc-block-mini-cart__footer { padding-top: 14px; padding-bottom: 14px; }
  .wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions .wc-block-components-button { padding: 10px 20px; }
}

/* ---------- cart page: products beside the totals ---------- */
.woocommerce-cart .woocommerce:has(.cart-collaterals) {
  display: grid;
  grid-template-columns: minmax(0,1fr) 360px;
  column-gap: 32px;
  row-gap: 24px;
  align-items: start;
}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-cart .woocommerce > form.woocommerce-cart-form { grid-column: 1; grid-row: 2; margin: 0; }
.woocommerce-cart .woocommerce > .cart-collaterals {
  grid-column: 2;
  grid-row: 2;
  width: auto;
  float: none;
  margin: 0;
  position: sticky;
  top: 24px;
}
.woocommerce-cart .cart-collaterals .cart_totals { width: auto; float: none; margin: 0; }
.woocommerce-cart .cart-collaterals::after { content: none; }
/* the table no longer needs to reserve room for a right-hand totals box */
.woocommerce-cart table.shop_table { margin-bottom: 0; }

@media (max-width: 1024px) {
  .woocommerce-cart .woocommerce:has(.cart-collaterals) { grid-template-columns: minmax(0,1fr); }
  .woocommerce-cart .woocommerce > form.woocommerce-cart-form { grid-column: 1; grid-row: 2; }
  .woocommerce-cart .woocommerce > .cart-collaterals { grid-column: 1; grid-row: 3; position: static; }
}

/* ---------- quantity auto-update feedback ---------- */
@keyframes wedu-spin { to { transform: rotate(360deg); } }

/* totals panel: dim it and float a spinner while the new figures are fetched */
.woocommerce .cart_totals.cart-updating { position: relative; }
.woocommerce .cart_totals.cart-updating > * { opacity: .35; transition: opacity .15s ease; }
.woocommerce .cart_totals.cart-updating::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 34px;
  height: 34px;
  margin: -17px 0 0 -17px;
  border: 2px solid rgba(231,143,52,.25);
  border-top-color: #E78F34;
  border-radius: 999px;
  animation: wedu-spin .7s linear infinite;
  pointer-events: none;
  z-index: 3;
}

/* the line total is replaced by a small spinner so the row reads as "working" */
.woocommerce .product-subtotal.is-loading { position: relative; color: transparent !important; }
.woocommerce .product-subtotal.is-loading::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 18px;
  height: 18px;
  margin-top: -9px;
  border: 2px solid rgba(231,143,52,.25);
  border-top-color: #E78F34;
  border-radius: 999px;
  animation: wedu-spin .7s linear infinite;
}
.woocommerce tr.row-updating .quantity { opacity: .7; }
.woocommerce .quantity.is-busy .qty { opacity: .55; }

/* the manual button is redundant once quantities save themselves */
.woocommerce table.cart td.actions button[name="update_cart"] { display: none; }

@media (prefers-reduced-motion: reduce) {
  .woocommerce .cart_totals.cart-updating::after,
  .woocommerce .product-subtotal.is-loading::after { animation-duration: 2s; }
}

/* ---------- breadcrumbs ----------
   The shop hero already carries one, so the theme's copy is hidden there only —
   single product pages keep theirs, dressed to match. */
.post-type-archive-product nav.woocommerce-breadcrumb,
.post-type-archive-product .woocommerce-breadcrumb { display: none; }

.single-product nav.woocommerce-breadcrumb,
.single-product .woocommerce-breadcrumb {
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 14px;
  letter-spacing: .06em;
  color: #8E97A3;
  margin: 0 0 22px;
}
.single-product .woocommerce-breadcrumb a { color: #CFC7BB; text-decoration: none; }
.single-product .woocommerce-breadcrumb a:hover { color: #F5B87A; }

/* ---------- product-card buttons: smaller, centred, less glare ---------- */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button {
  align-self: center;
  width: auto;
  margin: 16px 24px 24px;
  padding: 10px 22px;
  font-size: 12.5px;
  letter-spacing: .13em;
  background-image: linear-gradient(135deg,#EFB775,#E09A46 55%,#C4802F);
  box-shadow: 0 8px 20px -12px rgba(231,143,52,.7);
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover {
  background-image: linear-gradient(135deg,#F5B87A,#EFB775 55%,#E09A46);
  transform: translateY(-1px);
  box-shadow: 0 14px 28px -14px rgba(231,143,52,.85);
}
/* single product add-to-cart */
.woocommerce div.product form.cart .single_add_to_cart_button {
  padding: 12px 28px;
  font-size: 13.5px;
  letter-spacing: .13em;
}


/* select2 appends the open panel straight to <body>, where the full-width
   rule for form fields would stretch it across the viewport. */
body > .select2-container,
body > .select2-container--open {
  width: auto !important;
  max-width: none;
}

/* ===== end Whiskey EDU cart, checkout & account ===== */



/* ===== Whiskey EDU single product =====
   WooCommerce ships this page light-on-white, so most of what follows is
   re-dressing its own markup for the dark palette. ===== */

/* ---------- the horizontal scrollbar ----------
   WooCommerce's variation reset alert carries .screen-reader-text but only the
   clip rule, so it still occupies ~1100px and stretches the document. */
.woocommerce .screen-reader-text,
.woocommerce .reset_variations_alert,
.single-product .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ---------- layout ---------- */
.single-product div.product {
  font-family: 'Barlow Semi Condensed', sans-serif;
  color: #C6BFB4;
}
.single-product div.product .woocommerce-product-gallery { margin-bottom: 40px; }
.single-product div.product .woocommerce-product-gallery img {
  border-radius: 4px;
  border: 1px solid rgba(231,143,52,.18);
}
.single-product div.product .summary { margin-bottom: 40px; }

/* ---------- title, price, short description ---------- */
.single-product h1.product_title,
.single-product div.product h1.product_title.entry-title {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  font-size: 42px;
  line-height: 1.12;
  color: #FBF6EE;
  margin: 0 0 14px;
  text-wrap: balance;
}
.single-product div.product p.price,
.single-product div.product span.price,
.single-product div.product p.price .amount,
.single-product div.product p.price bdi,
.single-product div.product p.price ins,
.woocommerce div.product p.price {
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  line-height: 1.2;
  color: #F0B968;
  margin: 0 0 18px;
  text-decoration: none;
}
.single-product div.product p.price del,
.single-product div.product p.price del bdi { color: #6E7A89; font-size: 21px; }

.single-product .woocommerce-product-details__short-description {
  color: #C6BFB4;
  font-size: 16.5px;
  line-height: 1.8;
  margin-bottom: 22px;
}
.single-product .woocommerce-product-details__short-description p { margin: 0 0 12px; color: #C6BFB4; }
.single-product .woocommerce-product-details__short-description strong { color: #EFE8DC; }

/* ---------- variation picker ---------- */
.single-product .variations { width: 100%; margin: 0 0 18px; border: 0; }
.single-product .variations tr { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.single-product .variations th,
.single-product .variations td { display: block; width: 100%; padding: 0; border: 0; text-align: left; }
.single-product .variations th.label label,
.single-product .variations label {
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #9BA6B4;
  margin: 0;
}
/* The theme's own snippet pins this at #757575 on a transparent field.
   Note the native control is only what a visitor sees before selectWoo takes
   over (see whiskyedu-variation-select.php) — it has to look right on its own. */
.woocommerce div.product form.cart .variations select,
.single-product .variations select,
.single-product div.product form.cart .variations select {
  width: 100%;
  box-sizing: border-box;
  padding: 13px 44px 13px 16px;
  background-color: rgba(255,255,255,.05);
  border: 1px solid rgba(231,143,52,.3);
  border-radius: 4px;
  color: #FBF6EE;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 16px;
  line-height: 1.4;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  /* tells the browser to draw its own popup chrome dark rather than light */
  color-scheme: dark;
  background-image:
    linear-gradient(45deg, transparent 50%, #E78F34 50%),
    linear-gradient(135deg, #E78F34 50%, transparent 50%);
  background-position: calc(100% - 22px) calc(50% + 2px), calc(100% - 16px) calc(50% + 2px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  transition: border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
}
.woocommerce div.product form.cart .variations select:focus,
.single-product .variations select:focus {
  outline: 0;
  border-color: #E78F34 !important;
  background-color: rgba(255,255,255,.08) !important;
  box-shadow: 0 0 0 3px rgba(231,143,52,.18);
}
.woocommerce div.product form.cart .variations select option,
.single-product .variations select option {
  background-color: #0D1725;
  color: #EFE8DC;
}
.woocommerce div.product form.cart .variations select option:checked,
.single-product .variations select option:checked,
.single-product .variations select option:hover {
  background-color: #E78F34;
  color: #14202F;
}

/* ---------- the selectWoo version of the same picker ----------
   The panel itself is themed globally with the rest of the site's select2
   dropdowns; these rules only fit the control into the variations table. */
.single-product .variations .select2-container,
.woocommerce div.product form.cart .variations .select2-container {
  width: 100% !important;
  display: block;
}
.single-product .variations .select2-container--default .select2-selection--single {
  min-height: 50px;
  padding: 6px 10px;
}
.single-product .variations .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 36px;
  font-size: 16px;
}
/* selectWoo copies the native control's classes onto its own; the arrow is
   drawn by select2 so the gradient triangles must not come with it. */
.single-product .variations .select2-container .select2-selection {
  background-image: none;
  appearance: auto;
}

/* WooCommerce puts min-width:75% on the variation select. select2 hides the
   real control with width:1px, but a min-width outranks that whatever the
   !important flags say, so the hidden select kept stretching the document. */
.woocommerce div.product form.cart .variations select.select2-hidden-accessible,
.single-product .variations select.select2-hidden-accessible {
  min-width: 0 !important;
  width: 1px !important;
  padding: 0 !important;
  border: 0 !important;
}

/* The shared select2 dressing adds its own row padding; inside the variations
   table that stacks with WooCommerce's and the control grows to 66px. */
.single-product .variations .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0 22px 0 6px;
}
.single-product .reset_variations {
  display: inline-block;
  margin-top: 8px;
  font-size: 14px;
  color: #E78F34;
  text-decoration: none;
}
.single-product .reset_variations:hover { color: #F5B87A; }
.single-product .single_variation_wrap .woocommerce-variation-price { margin-bottom: 14px; }

/* ---------- add to cart row ---------- */
.single-product div.product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-bottom: 24px; }
.single-product div.product form.cart .variations,
.single-product div.product form.cart .single_variation_wrap { flex: 1 1 100%; }
.single-product div.product form.cart .quantity { margin: 0; }

/* ---------- product meta ---------- */
.single-product .product_meta {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(231,143,52,.16);
  font-size: 14.5px;
  color: #8E97A3;
}
.single-product .product_meta > span { display: block; margin-bottom: 6px; }
.single-product .product_meta a { color: #CFC7BB; text-decoration: none; }
.single-product .product_meta a:hover { color: #F5B87A; }

/* ---------- tabs ----------
   WooCommerce paints the selected tab solid white through `ul.tabs li.active`,
   which outranks a plain `li` rule — that is what hid the ivory label against
   an ivory background. The active state is rebuilt on the li itself. */
.woocommerce div.product .woocommerce-tabs { margin-top: 16px; }
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 30px;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid rgba(231,143,52,.24);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  margin: 0;
  padding: 0;
  background: transparent;
  background-color: transparent;
  border: 0;
  border-radius: 5px 5px 0 0;
  box-shadow: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; content: none !important; }

.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  display: block;
  padding: 14px 24px;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #AEB8C6 !important;
  text-decoration: none;
  text-shadow: none;
  background-color: transparent;
  border-radius: 5px 5px 0 0;
  border-bottom: 2px solid transparent;
  transition: color .22s ease, border-color .22s ease, background-color .22s ease;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: #F0B968 !important;
  background-color: rgba(231,143,52,.07);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li[aria-selected="true"] a {
  color: #F3C07E !important;
  background-color: rgba(231,143,52,.13);
  border-bottom-color: #E78F34;
}

/* ---------- tab panels: same reading treatment as the articles ---------- */
.woocommerce div.product .woocommerce-Tabs-panel {
  max-width: 820px;
  font-size: 16.5px;
  line-height: 1.85;
  color: #C6BFB4;
}
.woocommerce div.product .woocommerce-Tabs-panel > h2 {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.2;
  color: #FBF6EE;
  margin: 0 0 18px;
}
.woocommerce div.product .woocommerce-Tabs-panel h3 {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.28;
  color: #F0B968;
  margin: 34px 0 12px;
}
.woocommerce div.product .woocommerce-Tabs-panel h4 {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  font-size: 19.5px;
  line-height: 1.35;
  color: #FBF6EE;
  margin: 26px 0 10px;
}
.woocommerce div.product .woocommerce-Tabs-panel p { margin: 0 0 18px; text-wrap: pretty; }
.woocommerce div.product .woocommerce-Tabs-panel strong { color: #EFE8DC; font-weight: 600; }
.woocommerce div.product .woocommerce-Tabs-panel a {
  color: #E78F34;
  text-decoration: none;
  border-bottom: 1px solid rgba(231,143,52,.4);
}
.woocommerce div.product .woocommerce-Tabs-panel a:hover { color: #F5B87A; border-bottom-color: #F5B87A; }
.woocommerce div.product .woocommerce-Tabs-panel ul,
.woocommerce div.product .woocommerce-Tabs-panel ol { margin: 0 0 20px; padding-left: 22px; }
.woocommerce div.product .woocommerce-Tabs-panel li { margin-bottom: 8px; }

/* attributes table on the Additional information tab */
.woocommerce div.product .shop_attributes {
  width: 100%;
  border: 1px solid rgba(231,143,52,.18);
  border-radius: 4px;
  border-collapse: separate;
  border-spacing: 0;
}
.woocommerce div.product .shop_attributes th,
.woocommerce div.product .shop_attributes td {
  padding: 13px 18px;
  border-top: 1px solid rgba(231,143,52,.12);
  text-align: left;
  font-style: normal;
}
.woocommerce div.product .shop_attributes tr:first-child th,
.woocommerce div.product .shop_attributes tr:first-child td { border-top: 0; }
.woocommerce div.product .shop_attributes th {
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #9BA6B4;
  font-weight: 600;
}
.woocommerce div.product .shop_attributes td { color: #DED6C9; }
.woocommerce div.product .shop_attributes td p { margin: 0; }

/* reviews — these headings sit inside #reviews, so the panel's own > h2 rule
   never reaches them */
.woocommerce #reviews h2,
.woocommerce #reviews #comments > h2 {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.2;
  color: #FBF6EE;
  margin: 0 0 18px;
}
.woocommerce #reviews #reply-title,
.woocommerce #reviews h3 {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  font-size: 23px;
  line-height: 1.25;
  color: #FBF6EE;
  margin: 0 0 14px;
}
.woocommerce #reviews .woocommerce-noreviews { color: #9BA6B4; }
.woocommerce #review_form_wrapper { margin-top: 26px; }
.woocommerce #reviews .comment-form-rating label,
.woocommerce #reviews label { color: #B9B2A7; }
.woocommerce #reviews p.stars a { color: #E78F34; }
.woocommerce #reviews p.stars a:hover { color: #F5B87A; }
.woocommerce #reviews .comment-form-cookies-consent label { display: inline; font-size: 15px; }
.woocommerce #reviews .comment-notes,
.woocommerce #reviews .comment-form p.form-submit { color: #9BA6B4; }
.woocommerce #reviews ol.commentlist li .comment-text {
  background-color: rgba(255,255,255,.025);
  border: 1px solid rgba(231,143,52,.18);
  border-radius: 4px;
  padding: 20px 22px;
  color: #C6BFB4;
}
.woocommerce #reviews ol.commentlist li .comment-text .meta { color: #9BA6B4; }

/* ---------- related products ---------- */
.woocommerce div.product .related.products,
.woocommerce div.product .upsells.products {
  margin-top: 56px;
  padding-top: 40px;
  border-top: 1px solid rgba(231,143,52,.16);
}
.woocommerce div.product .related.products > h2,
.woocommerce div.product .upsells.products > h2 {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.2;
  color: #FBF6EE;
  margin: 0 0 26px;
}

/* ---------- responsive ---------- */
@media (max-width: 1024px) {
  .single-product h1.product_title,
  .single-product div.product h1.product_title.entry-title { font-size: 34px; }
  .single-product div.product p.price { font-size: 25px; }
  .woocommerce div.product .woocommerce-Tabs-panel > h2,
  .woocommerce div.product .related.products > h2 { font-size: 26px; }
  .woocommerce div.product .woocommerce-Tabs-panel h3 { font-size: 22px; }
}

@media (max-width: 768px) {
  .single-product div.product .woocommerce-product-gallery,
  .single-product div.product .summary {
    width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .single-product div.product .woocommerce-product-gallery { margin-bottom: 26px; }

  .single-product h1.product_title,
  .single-product div.product h1.product_title.entry-title { font-size: 27px; line-height: 1.18; }
  .single-product div.product p.price { font-size: 23px; }

  /* GP Premium's woocommerce-mobile stylesheet turns the strip into a column at
     this width. That is the better layout on a 375px screen — a horizontal
     scroller would hide "Reviews" with no affordance — so the tabs are dressed
     as a stacked list here, with the active marker moved to the left edge. */
  .woocommerce div.product .woocommerce-tabs ul.tabs {
    gap: 0;
    margin-bottom: 22px;
    border-top: 1px solid rgba(231,143,52,.24);
    border-bottom: 1px solid rgba(231,143,52,.24);
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs li,
  .woocommerce div.product .woocommerce-tabs ul.tabs li.active { width: 100%; border-radius: 0; }
  /* the active branch of the base rule is one class heavier, so it has to be
     named here too or the selected tab keeps its desktop treatment. */
  .woocommerce div.product .woocommerce-tabs ul.tabs li a,
  .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    padding: 14px 16px;
    font-size: 12.5px;
    letter-spacing: .1em;
    text-align: left;
    border-radius: 0;
    border-bottom: 1px solid rgba(231,143,52,.14);
    border-left: 3px solid transparent;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs li:last-child a,
  .woocommerce div.product .woocommerce-tabs ul.tabs li:last-child.active a { border-bottom: 0; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    border-left-color: #E78F34;
    border-bottom-color: rgba(231,143,52,.14);
  }

  .woocommerce div.product .woocommerce-Tabs-panel { font-size: 16px; }
  .woocommerce div.product .woocommerce-Tabs-panel > h2 { font-size: 24px; }
  .woocommerce div.product .woocommerce-Tabs-panel h3 { font-size: 20px; margin-top: 28px; }
  .woocommerce div.product .woocommerce-Tabs-panel h4 { font-size: 18px; margin-top: 22px; }

  .single-product div.product form.cart { gap: 10px; }
  .single-product div.product form.cart .quantity,
  .single-product div.product form.cart .single_add_to_cart_button { flex: 0 0 auto; }

  .woocommerce div.product .related.products { margin-top: 40px; padding-top: 30px; }
  .woocommerce div.product .related.products > h2 { font-size: 23px; }

  .single-product .shop_attributes th,
  .single-product .shop_attributes td { padding: 11px 14px; font-size: 15px; }
}
/* ===== end Whiskey EDU single product ===== */



/* ===== Whiskey EDU product card images =====
   Each product photo has its own aspect ratio, and the theme leaves image
   height on auto, so the cards in a row start their text at different heights.
   A fixed band with object-fit keeps every card aligned. ===== */

/* The product archive was carrying two gutters — 30px from the theme's content
   wrapper and 20px from the WooCommerce column container — which shrank the
   cards. The column container is the one that matches the rest of the site. */
.post-type-archive-product .site-content,
.tax-product_cat .site-content,
.tax-product_tag .site-content {
  padding-left: 0;
  padding-right: 0;
}

.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product .wc-product-image img,
#wc-column-container ul.products li.product img,
.woocommerce ul.products li.product:hover a img {
  display: block;
  width: 100% !important;
  height: 260px !important;
  max-width: none;
  object-fit: cover;
  object-position: center;
  margin: 0 !important;
  border-radius: 4px 4px 0 0;
}

/* the zoom on hover stays, it just works inside a fixed frame now */
.woocommerce ul.products li.product .wc-product-image,
.woocommerce ul.products li.product > a:first-of-type,
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
  display: block;
  overflow: hidden;
  border-radius: 4px 4px 0 0;
}

/* Product names run to one, two or three lines. Reserving three keeps every
   card the same height without truncating a name the shopper needs to read. */
@media (min-width: 768px) {
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h2.woocommerce-loop-product__title {
    min-height: 3.9em;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    text-align: center;
    -webkit-line-clamp: none;
    overflow: visible;
  }
}

@media (max-width: 1024px) {
  .woocommerce ul.products li.product a img,
  .woocommerce ul.products li.product img,
  #wc-column-container ul.products li.product img { height: 230px !important; }
}

@media (max-width: 767px) {
  .woocommerce ul.products li.product a img,
  .woocommerce ul.products li.product img,
  #wc-column-container ul.products li.product img { height: 240px !important; }
}
/* ===== end Whiskey EDU product card images ===== */

/* ===== Whiskey EDU add to cart =====
   Adding to the cart no longer reloads the page, so the button itself has to
   report what happened. Same three states everywhere: idle, working, added.
   ===== */

@keyframes wedu-spin { to { transform: rotate(360deg); } }

@keyframes wedu-pop {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.04); }
  100% { transform: scale(1); }
}

@keyframes wedu-notice-in {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: none; }
}

/* ---------- working ---------- */
.woocommerce div.product form.cart .single_add_to_cart_button.wedu-loading,
.woocommerce ul.products li.product a.button.loading,
.woocommerce a.button.loading {
  position: relative;
  color: transparent !important;
  pointer-events: none;
  opacity: 1;
}
.woocommerce div.product form.cart .single_add_to_cart_button.wedu-loading::after,
.woocommerce ul.products li.product a.button.loading::after,
.woocommerce a.button.loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 17px;
  height: 17px;
  margin: -9px 0 0 -9px;
  box-sizing: border-box;
  border: 2px solid rgba(20,32,47,.3);
  border-top-color: #14202F;
  border-radius: 50%;
  animation: wedu-spin .62s linear infinite;
  font-size: 0;
}

/* ---------- added ---------- */
.woocommerce div.product form.cart .single_add_to_cart_button.wedu-added {
  animation: wedu-pop .34s ease;
}
.woocommerce div.product form.cart .single_add_to_cart_button.wedu-added::before {
  content: "\2713";
  margin-right: 9px;
  font-weight: 700;
}
.woocommerce ul.products li.product a.button.added::after,
.woocommerce a.button.added::after {
  content: "\2713";
  margin-left: 8px;
  font-family: inherit;
  font-weight: 700;
  vertical-align: baseline;
}

/* the "View cart" link WooCommerce drops in beside a card button */
.woocommerce ul.products li.product a.added_to_cart,
.woocommerce a.added_to_cart.wc-forward {
  display: inline-block;
  margin-top: 10px;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #F0B968;
  text-decoration: none;
  border-bottom: 1px solid rgba(231,143,52,.4);
  transition: color .2s ease, border-color .2s ease;
}
.woocommerce ul.products li.product a.added_to_cart:hover,
.woocommerce a.added_to_cart.wc-forward:hover {
  color: #F5B87A;
  border-bottom-color: #F5B87A;
}

/* the message that replaces the old page reload */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
  animation: wedu-notice-in .34s ease both;
}

/* the quantity field should not jump while the row is working */
.woocommerce div.product form.cart .quantity input.qty { transition: opacity .2s ease; }
.woocommerce div.product form.cart.wedu-busy .quantity input.qty { opacity: .55; }

/* ---------- GP Premium's sticky "added to cart" panel ----------
   It slides down on every add — much more visible now that nothing reloads —
   and it ships cream with near-black text. */
#wc-sticky-cart-panel.add-to-cart-panel,
#wc-sticky-cart-panel {
  background-color: #0F1B2B;
  border-bottom: 1px solid rgba(231,143,52,.32);
  box-shadow: 0 18px 44px -30px rgba(0,0,0,.95);
  color: #C6BFB4;
  font-family: 'Barlow Semi Condensed', sans-serif;
}
#wc-sticky-cart-panel .inside-add-to-cart-panel {
  padding-top: 14px;
  padding-bottom: 14px;
}
#wc-sticky-cart-panel .continue-shopping,
#wc-sticky-cart-panel .continue-shopping-link,
#wc-sticky-cart-panel .continue-shopping-text,
#wc-sticky-cart-panel .cart-info,
#wc-sticky-cart-panel .woocommerce-Price-amount,
#wc-sticky-cart-panel bdi,
#wc-sticky-cart-panel .woocommerce-Price-currencySymbol {
  color: #C6BFB4;
  text-decoration: none;
}
#wc-sticky-cart-panel .item-added {
  color: #FBF6EE;
  font-size: 16px;
  letter-spacing: .01em;
}
#wc-sticky-cart-panel .cart-data,
#wc-sticky-cart-panel .cart-data .woocommerce-Price-amount,
#wc-sticky-cart-panel .cart-data bdi {
  color: #9BA6B4;
  font-size: 14.5px;
}
#wc-sticky-cart-panel .continue-shopping-link:hover,
#wc-sticky-cart-panel .continue-shopping-link:hover .continue-shopping-text,
#wc-sticky-cart-panel .continue-shopping:hover { color: #F0B968; }
#wc-sticky-cart-panel .gp-icon svg { fill: currentColor; }
#wc-sticky-cart-panel .checkout .button {
  padding: 11px 26px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  border-radius: 999px;
}

@media (max-width: 768px) {
  #wc-sticky-cart-panel .inside-add-to-cart-panel { padding-top: 11px; padding-bottom: 11px; }
  #wc-sticky-cart-panel .item-added { font-size: 14.5px; }
  #wc-sticky-cart-panel .cart-data { font-size: 13px; }
  #wc-sticky-cart-panel .checkout .button { padding: 10px 18px; font-size: 12px; letter-spacing: .1em; }
}

/* ---------- the notice button in every state ----------
   GeneratePress carries `div.woocommerce-message a.button:hover { padding: 0 }`,
   which is one element heavier than the resting rule above — that is why the
   pill collapsed the moment the pointer touched it. Every property the theme
   sets on hover/focus/active has to be named back here. */
.woocommerce .woocommerce-message .button:hover,
.woocommerce .woocommerce-message .button:focus,
.woocommerce .woocommerce-message .button:active,
.woocommerce .woocommerce-info .button:hover,
.woocommerce .woocommerce-info .button:focus,
.woocommerce .woocommerce-info .button:active,
.woocommerce .woocommerce-error .button:hover,
.woocommerce .woocommerce-error .button:focus,
.woocommerce .woocommerce-error .button:active,
.woocommerce .woocommerce-message a.button:hover,
.woocommerce .woocommerce-message a.button:focus,
.woocommerce-notices-wrapper .woocommerce-message a.button:hover,
.woocommerce-notices-wrapper .woocommerce-message a.button:focus {
  padding: 11px 24px;
  border-radius: 999px;
  background-color: #E78F34;
  background-image: linear-gradient(135deg, #F5B87A, #EFB775 55%, #E09A46);
  border: 1px solid #E78F34;
  color: #14202F !important;
  text-decoration: none;
}

/* ---------- the sticky panel's own button ----------
   Left to the theme it falls back to the global palette — a yellow fill with
   red text — which is nothing like the rest of the site. */
#wc-sticky-cart-panel .checkout .button,
#wc-sticky-cart-panel .button,
#wc-sticky-cart-panel button.button,
#wc-sticky-cart-panel a.button,
#wc-sticky-cart-panel .button:focus,
#wc-sticky-cart-panel .button:active {
  background-color: #E78F34;
  background-image: linear-gradient(135deg, #EFB775, #E09A46 55%, #C4802F);
  border: 0;
  color: #1A1206 !important;
  white-space: nowrap;
}
#wc-sticky-cart-panel .button:hover,
#wc-sticky-cart-panel a.button:hover,
#wc-sticky-cart-panel button.button:hover {
  background-color: #F0B968;
  background-image: linear-gradient(135deg, #F5B87A, #EFB775 55%, #E09A46);
  color: #1A1206 !important;
}

/* ---------- the sticky panel on a phone ----------
   At 375px it stood 144px tall: the price broke over three lines and the
   button over two. */
@media (max-width: 768px) {
  #wc-sticky-cart-panel .inside-add-to-cart-panel {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  #wc-sticky-cart-panel .product-image { flex: 0 0 auto; line-height: 0; }
  #wc-sticky-cart-panel .product-image img {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 4px;
  }
  #wc-sticky-cart-panel .product-title {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 14px;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  #wc-sticky-cart-panel .product-price,
  #wc-sticky-cart-panel .product-price .woocommerce-Price-amount,
  #wc-sticky-cart-panel .product-price bdi {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 13px;
  }
  #wc-sticky-cart-panel .checkout,
  #wc-sticky-cart-panel .go-to-variables,
  #wc-sticky-cart-panel .button { flex: 0 0 auto; }
  #wc-sticky-cart-panel .button {
    padding: 11px 16px;
    font-size: 11.5px;
    letter-spacing: .09em;
    line-height: 1.1;
  }
}

/* The thumbnail is the first thing that can go — the title and the price are
   what a shopper is checking at this point. A 375px phone still fits both. */
@media (max-width: 420px) {
  #wc-sticky-cart-panel .inside-add-to-cart-panel { gap: 10px; }
  #wc-sticky-cart-panel .product-image { display: none; }
  #wc-sticky-cart-panel .product-title { font-size: 13.5px; }
  /* every pixel taken back here goes to the title, which is the part that gets
     cut first when a product carries a price range. */
  #wc-sticky-cart-panel .product-price,
  #wc-sticky-cart-panel .product-price .woocommerce-Price-amount,
  #wc-sticky-cart-panel .product-price bdi { font-size: 12px; }
  #wc-sticky-cart-panel .button { padding: 11px 12px; font-size: 11px; letter-spacing: .06em; }
}

@media (max-width: 340px) {
  #wc-sticky-cart-panel .product-price { display: none; }
}
/* ===== end Whiskey EDU add to cart ===== */

/* ===== Whiskey EDU button scale =====
   One size for every button on the site — roughly 40px tall. The page buttons
   carry these values in their own block settings so they stay editable; these
   rules cover the WooCommerce Mini-Cart, whose buttons have no block settings
   of their own and were still arriving at 57px. ===== */
.wc-block-mini-cart__footer .wc-block-components-button,
.wc-block-components-button.wc-block-mini-cart__footer-cart {
  padding: 12px 28px;
  font-size: 13px;
  line-height: 1.25;
  min-height: 0;
}
/* the drawer's close control is an icon, not a label — leave its box alone */
.wc-block-components-button.wc-block-components-drawer__close { padding: 0; }
/* ===== end Whiskey EDU button scale ===== */

/* ===== Whiskey EDU order received =====
   The purchase thank-you screen. WooCommerce prints the order summary, the
   line-item table and the address blocks; the confirmation heading and the
   next-steps panel come from two Block Elements, so both stay editable. ===== */

.woocommerce-order { max-width: 900px; margin-left: auto; margin-right: auto; }

/* the plain "Your order has been received" line — the Block Element above it
   already says this properly, so it is reduced to a quiet confirmation */
.wedu-thankyou .woocommerce-notice--success,
.woocommerce-order .woocommerce-thankyou-order-received {
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 16px;
  color: #9BA6B4;
  text-align: center;
  margin: 0 0 26px;
}

/* ---------- the order summary strip ---------- */
.woocommerce-order ul.woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1px;
  margin: 0 0 46px;
  padding: 0;
  list-style: none;
  background-color: rgba(231,143,52,.18);
  border: 1px solid rgba(231,143,52,.18);
  border-radius: 6px;
  overflow: hidden;
}
/* the theme's clearfix pseudo-elements become grid cells here, which is what
   left an empty box at the start of the strip */
.woocommerce-order ul.woocommerce-order-overview::before,
.woocommerce-order ul.woocommerce-order-overview::after {
  display: none !important;
  content: none !important;
}
.woocommerce-order ul.woocommerce-order-overview li {
  margin: 0;
  padding: 18px 20px;
  border: 0;
  background-color: #0F1B2B;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #8E97A3;
  float: none;
}
.woocommerce-order ul.woocommerce-order-overview li strong {
  display: block;
  margin-top: 7px;
  font-family: 'Playfair Display', serif;
  font-size: 20px;
  letter-spacing: 0;
  text-transform: none;
  color: #FBF6EE;
}
.woocommerce-order ul.woocommerce-order-overview li.woocommerce-order-overview__total strong,
.woocommerce-order ul.woocommerce-order-overview li strong .amount { color: #F0B968; }

/* ---------- section headings ---------- */
.woocommerce-order-details__title,
.woocommerce-column__title,
.woocommerce-order h2 {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  font-size: 26px;
  line-height: 1.2;
  color: #FBF6EE;
  margin: 0 0 18px;
}

/* ---------- the line items ---------- */
.woocommerce-order table.woocommerce-table--order-details {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid rgba(231,143,52,.18);
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 46px;
  font-family: 'Barlow Semi Condensed', sans-serif;
}
.woocommerce-order table.woocommerce-table--order-details thead th {
  padding: 15px 20px;
  background-color: rgba(255,255,255,.03);
  border: 0;
  border-bottom: 1px solid rgba(231,143,52,.18);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #9BA6B4;
  text-align: left;
}
.woocommerce-order table.woocommerce-table--order-details thead th:last-child,
.woocommerce-order table.woocommerce-table--order-details td:last-child,
.woocommerce-order table.woocommerce-table--order-details tfoot th { text-align: right; }
.woocommerce-order table.woocommerce-table--order-details tbody td {
  padding: 17px 20px;
  border: 0;
  border-top: 1px solid rgba(231,143,52,.1);
  font-size: 16px;
  color: #DED6C9;
  vertical-align: top;
}
.woocommerce-order table.woocommerce-table--order-details tbody tr:first-child td { border-top: 0; }
.woocommerce-order table.woocommerce-table--order-details td.woocommerce-table__product-name a {
  color: #FBF6EE;
  text-decoration: none;
  border-bottom: 1px solid rgba(231,143,52,.35);
}
.woocommerce-order table.woocommerce-table--order-details td.woocommerce-table__product-name a:hover { color: #F5B87A; }
.woocommerce-order table.woocommerce-table--order-details .product-quantity {
  display: block;
  margin-top: 5px;
  font-size: 14px;
  color: #8E97A3;
}
.woocommerce-order table.woocommerce-table--order-details .wc-item-meta,
.woocommerce-order table.woocommerce-table--order-details .wc-item-meta li {
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
  font-size: 14.5px;
  color: #9BA6B4;
}
.woocommerce-order table.woocommerce-table--order-details .wc-item-meta strong { color: #C6BFB4; font-weight: 600; }
.woocommerce-order table.woocommerce-table--order-details .amount,
.woocommerce-order table.woocommerce-table--order-details bdi { color: #F0B968; }

.woocommerce-order table.woocommerce-table--order-details tfoot th,
.woocommerce-order table.woocommerce-table--order-details tfoot td {
  padding: 14px 20px;
  border: 0;
  border-top: 1px solid rgba(231,143,52,.14);
  background-color: rgba(255,255,255,.02);
  font-size: 15px;
  color: #C6BFB4;
}
.woocommerce-order table.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order table.woocommerce-table--order-details tfoot tr:last-child td {
  font-size: 19px;
  color: #FBF6EE;
  border-top: 1px solid rgba(231,143,52,.3);
}
.woocommerce-order table.woocommerce-table--order-details tfoot tr:last-child .amount { color: #F0B968; }

/* ---------- addresses ---------- */
.woocommerce-order .woocommerce-customer-details .woocommerce-columns--addresses {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 22px;
  margin: 0;
}
.woocommerce-order .woocommerce-customer-details .woocommerce-column {
  width: auto;
  float: none;
  padding: 26px 26px 28px;
  background-color: rgba(255,255,255,.025);
  border: 1px solid rgba(231,143,52,.18);
  border-radius: 6px;
}
.woocommerce-order .woocommerce-customer-details address {
  border: 0;
  padding: 0;
  border-radius: 0;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-style: normal;
  font-size: 16px;
  line-height: 1.75;
  color: #C6BFB4;
}
.woocommerce-order .woocommerce-customer-details .woocommerce-customer-details--phone,
.woocommerce-order .woocommerce-customer-details .woocommerce-customer-details--email {
  margin: 10px 0 0;
  padding-left: 0;
  color: #9BA6B4;
}
.woocommerce-order .woocommerce-customer-details a { color: #F0B968; text-decoration: none; }

/* the downloads table, when an order carries one */
.woocommerce-order .woocommerce-table--order-downloads { margin-bottom: 40px; }

@media (max-width: 767px) {
  .woocommerce-order ul.woocommerce-order-overview { grid-template-columns: 1fr 1fr; }
  .woocommerce-order table.woocommerce-table--order-details thead th,
  .woocommerce-order table.woocommerce-table--order-details tbody td,
  .woocommerce-order table.woocommerce-table--order-details tfoot th,
  .woocommerce-order table.woocommerce-table--order-details tfoot td { padding: 13px 14px; font-size: 15px; }
  .woocommerce-order h2,
  .woocommerce-order-details__title,
  .woocommerce-column__title { font-size: 22px; }
}
/* ===== end Whiskey EDU order received ===== */

/* ===== Whiskey EDU forms (Forminator) =====
   Forminator ships its own light theme — cream fields, black borders, a grey
   submit button — which is why every form read as a foreign object on this
   site. This dresses it in the same palette as the rest of the pages, and
   covers the contact form as well as the newsletter signup. ===== */

.forminator-ui.forminator-custom-form,
.forminator-ui.forminator-custom-form * { font-family: 'Barlow Semi Condensed', sans-serif; }

.forminator-ui.forminator-custom-form .forminator-row { margin-bottom: 18px; }

/* ---------- labels ---------- */
.forminator-ui.forminator-custom-form .forminator-label,
.forminator-ui.forminator-custom-form label.forminator-label {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #9BA6B4 !important;
}
.forminator-ui.forminator-custom-form .forminator-required,
.forminator-ui.forminator-custom-form .forminator-label .forminator-required { color: #E78F34; }

/* ---------- fields ---------- */
.forminator-ui.forminator-custom-form input.forminator-input,
.forminator-ui.forminator-custom-form textarea.forminator-textarea,
.forminator-ui.forminator-custom-form select.forminator-select2,
.forminator-ui.forminator-custom-form .forminator-input,
.forminator-ui.forminator-custom-form .forminator-textarea {
  width: 100%;
  box-sizing: border-box;
  min-height: 50px;
  padding: 13px 16px;
  /* Forminator writes a per-form stylesheet whose selector carries the form's
     element id, so no class-based rule can outrank it. These four properties
     are the ones that carry the light theme. */
  background-color: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(231,143,52,.28) !important;
  border-radius: 4px;
  color: #FBF6EE !important;
  font-size: 16px;
  line-height: 1.45;
  box-shadow: none;
  transition: border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
}
.forminator-ui.forminator-custom-form textarea.forminator-textarea { min-height: 150px; resize: vertical; }

.forminator-ui.forminator-custom-form input.forminator-input:focus,
.forminator-ui.forminator-custom-form textarea.forminator-textarea:focus,
.forminator-ui.forminator-custom-form .forminator-input:focus {
  outline: 0;
  border-color: #E78F34 !important;
  background-color: rgba(255,255,255,.08) !important;
  box-shadow: 0 0 0 3px rgba(231,143,52,.18);
}
.forminator-ui.forminator-custom-form input.forminator-input::placeholder,
.forminator-ui.forminator-custom-form textarea.forminator-textarea::placeholder { color: #6E7A89; }

/* the phone field's country dropdown sits inside the input */
.forminator-ui.forminator-custom-form .forminator-field-phone .iti__flag-container,
.forminator-ui.forminator-custom-form .iti__country-list {
  background-color: #0D1725;
  color: #EFE8DC;
}

/* ---------- consent / checkboxes ---------- */
.forminator-ui.forminator-custom-form .forminator-checkbox,
.forminator-ui.forminator-custom-form .forminator-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 15.5px;
  line-height: 1.6;
  color: #C6BFB4;
}
.forminator-ui.forminator-custom-form .forminator-checkbox input[type="checkbox"],
.forminator-ui.forminator-custom-form .forminator-consent input[type="checkbox"] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: #E78F34;
}
.forminator-ui.forminator-custom-form .forminator-checkbox a,
.forminator-ui.forminator-custom-form .forminator-consent a {
  color: #F0B968;
  text-decoration: none;
  border-bottom: 1px solid rgba(231,143,52,.4);
}
.forminator-ui.forminator-custom-form .forminator-checkbox a:hover { color: #F5B87A; }

/* ---------- submit ---------- */
/* Forminator's own button rule carries [data-design="default"], which outweighs
   a plain class selector — the attribute has to be named here too. */
.forminator-ui.forminator-custom-form[data-design="default"] button.forminator-button-submit,
.forminator-ui.forminator-custom-form[data-design="default"] .forminator-button.forminator-button-submit,
.forminator-ui.forminator-custom-form button.forminator-button-submit,
.forminator-ui.forminator-custom-form .forminator-button.forminator-button-submit {
  padding: 12px 28px;
  border: 0;
  border-radius: 999px;
  background-color: #E78F34;
  background-image: linear-gradient(135deg,#F0B968,#C97E2A);
  color: #1A1206;
  font-size: 13.5px;
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  box-shadow: 0 12px 26px -14px rgba(231,143,52,.85);
  transition: transform .22s ease, box-shadow .22s ease, background-image .22s ease;
}
.forminator-ui.forminator-custom-form[data-design="default"] button.forminator-button-submit:hover,
.forminator-ui.forminator-custom-form[data-design="default"] button.forminator-button-submit:focus,
.forminator-ui.forminator-custom-form button.forminator-button-submit:hover,
.forminator-ui.forminator-custom-form button.forminator-button-submit:focus {
  background-image: linear-gradient(135deg,#F5B87A,#F0B968 55%,#E9A24B);
  color: #1A1206;
  transform: translateY(-2px);
  box-shadow: 0 18px 34px -16px rgba(231,143,52,.95);
}

/* ---------- validation and responses ---------- */
.forminator-ui .forminator-error-message,
.forminator-ui.forminator-custom-form .forminator-error-message {
  margin-top: 7px;
  font-size: 14.5px;
  color: #F0A38A !important;
  background: transparent !important;
  border: 0;
  padding: 0;
}
.forminator-ui.forminator-custom-form .forminator-input.forminator-has_error,
.forminator-ui.forminator-custom-form .forminator-has_error input.forminator-input { border-color: #D4623A; }

.forminator-response-message,
.forminator-ui .forminator-response-message {
  padding: 16px 20px;
  margin: 0 0 20px;
  background-color: rgba(255,255,255,.03);
  border: 1px solid rgba(231,143,52,.3);
  border-left: 3px solid #E78F34;
  border-radius: 4px;
  color: #EFE8DC;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 16px;
}
.forminator-response-message.forminator-error,
.forminator-ui .forminator-response-message.forminator-error {
  border-color: rgba(212,98,58,.45);
  border-left-color: #D4623A;
}
.forminator-response-message p { margin: 0; color: inherit; }

/* the description text under a field */
.forminator-ui.forminator-custom-form .forminator-description {
  margin-top: 7px;
  font-size: 14.5px;
  color: #8E97A3;
}

@media (max-width: 767px) {
  .forminator-ui.forminator-custom-form input.forminator-input,
  .forminator-ui.forminator-custom-form textarea.forminator-textarea { font-size: 16px; }
  .forminator-ui.forminator-custom-form button.forminator-button-submit { width: 100%; }
}
/* ===== end Whiskey EDU forms ===== */

/* ===== Whiskey EDU header furniture =====
   The header is GenerateBlocks. These rules cover what a block cannot express:
   the search field that slides out beside its icon, the burger, the mobile
   menu, and the WooCommerce Mini-Cart button that opens the slide-in cart.
   ===== */

/* GeneratePress prints its own header markup; the block header replaces it */
.site-header > .inside-header,
.main-navigation:not(.wedu-mobile-menu) { display: none; }
/* GeneratePress also prints a separate mobile header; the block header covers both */
#mobile-header,
.mobile-header-navigation,
.site-header .mobile-bar-items { display: none !important; }

/* ---------- search that slides out beside the icon ---------- */
[data-wedu-search-wrap] { position: relative; }

.wedu-inline-search {
  display: flex;
  align-items: center;
  overflow: hidden;
  width: 0;
  opacity: 0;
  margin-right: 0;
  transition: width .3s cubic-bezier(.4, 0, .2, 1), opacity .22s ease, margin-right .3s ease;
}
[data-wedu-search-wrap].is-open .wedu-inline-search {
  width: 260px;
  opacity: 1;
  margin-right: 8px;
}
@media (max-width: 1024px) {
  [data-wedu-search-wrap].is-open .wedu-inline-search { width: 190px; }
}

.wedu-inline-search .wedu-search-input {
  width: 100%;
  min-width: 0;
  height: 30px;
  padding: 0 14px;
  background-color: rgba(255,255,255,.06);
  border: 1px solid rgba(231,143,52,.32);
  border-radius: 999px;
  color: #FBF6EE;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 14px;
  line-height: 1.2;
}
.wedu-inline-search .wedu-search-input:focus {
  outline: 0;
  border-color: #E78F34;
  background-color: rgba(255,255,255,.1);
}
.wedu-inline-search .wedu-search-input::placeholder { color: #6E7A89; }

/* ---------- burger ---------- */
[data-wedu-burger] span {
  display: block;
  height: 1.6px;
  width: 100%;
  background-color: #E78F34;
  transition: transform .22s ease, opacity .22s ease;
}
[data-wedu-burger].is-open span:nth-child(1) { transform: translateY(6.6px) rotate(45deg); }
[data-wedu-burger].is-open span:nth-child(2) { opacity: 0; }
[data-wedu-burger].is-open span:nth-child(3) { transform: translateY(-6.6px) rotate(-45deg); }

/* ---------- the cart button in the header ----------
   WooCommerce's Mini-Cart block supplies the button and the slide-in panel.
   It is dressed here to match the circular icon the design calls for. */
[data-wedu-cart] .wp-block-woocommerce-mini-cart,
[data-wedu-cart] .wc-block-mini-cart { margin: 0; line-height: 0; }

[data-wedu-cart] .wc-block-mini-cart__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: #E78F34;
  cursor: pointer;
}
[data-wedu-cart] .wc-block-mini-cart__button:hover { color: #F5B87A; background: transparent; }
[data-wedu-cart] .wc-block-mini-cart__amount,
[data-wedu-cart] .wc-block-mini-cart__quantity-badge + .wc-block-mini-cart__amount { display: none; }
[data-wedu-cart] .wc-block-mini-cart__icon { width: 20px; height: 20px; }

/* the count bubble — solid brand amber on the header's own dark ring */
[data-wedu-cart] .wc-block-mini-cart__badge,
.wedu-cart-count {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  box-sizing: border-box;
  /* WooCommerce writes the badge colours as an inline style from the block's
     own attributes, which no stylesheet rule can outrank without this. */
  background: #E78F34 !important;
  color: #0A111B !important;
  border: 2px solid #0B1420;
  border-radius: 999px;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 14px;
  text-align: center;
}

/* ---------- mobile menu ---------- */
.wedu-mobile-menu {
  background-color: #0B1420;
  border-bottom: 1px solid rgba(231,143,52,.24);
  padding: 18px var(--wedu-gutter) 26px;
  animation: wedu-drop .26s ease both;
}
.wedu-mobile-menu[hidden] { display: none; }
@keyframes wedu-drop { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }

.wedu-mobile-search { display: flex; gap: 8px; margin-bottom: 18px; }
.wedu-mobile-search input {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 46px;
  padding: 11px 16px;
  background-color: rgba(255,255,255,.05);
  border: 1px solid rgba(231,143,52,.3);
  border-radius: 999px;
  color: #FBF6EE;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 16px;
}
.wedu-mobile-search input:focus { outline: 0; border-color: #E78F34; }
.wedu-mobile-search input::placeholder { color: #6E7A89; }
.wedu-mobile-search button {
  flex: 0 0 auto;
  padding: 11px 18px;
  border: 0;
  border-radius: 999px;
  background-image: linear-gradient(135deg, #F0B968, #C97E2A);
  color: #1A1206;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: filter .2s ease;
}
.wedu-mobile-search button:hover { filter: brightness(1.08); }

.wedu-mobile-list { margin: 0; padding: 0; list-style: none; }
.wedu-mobile-list li { margin: 0; }
.wedu-mobile-list a {
  display: block;
  padding: 15px 2px;
  border-bottom: 1px solid rgba(231,143,52,.14);
  color: #C6BFB4;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 17px;
  text-decoration: none;
  transition: color .2s ease, padding-left .2s ease;
}
.wedu-mobile-list a:hover,
.wedu-mobile-list a:focus { color: #E78F34; padding-left: 8px; }
.wedu-mobile-list a[aria-current="page"] { color: #EFE8DC; border-bottom-color: rgba(231,143,52,.5); }

.wedu-mobile-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.wedu-mobile-primary,
.wedu-mobile-ghost {
  flex: 1 1 auto;
  text-align: center;
  padding: 12px 20px;
  border-radius: 999px;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color .22s ease, background-image .22s ease, color .22s ease, border-color .22s ease;
}
.wedu-mobile-primary { background-image: linear-gradient(135deg, #F0B968, #C97E2A); color: #1A1206; }
.wedu-mobile-ghost { border: 1px solid rgba(231,143,52,.55); color: #F0B968; }
/* both buttons land on the same hover so the pair reads as one control */
.wedu-mobile-primary:hover,
.wedu-mobile-primary:focus,
.wedu-mobile-ghost:hover,
.wedu-mobile-ghost:focus {
  background-image: linear-gradient(135deg, #F5B87A, #F0B968 55%, #E9A24B);
  background-color: #F0B968;
  border-color: #F0B968;
  color: #1A1206;
}

.wedu-mobile-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(231,143,52,.14);
}
.wedu-mobile-contact a { color: #9BA6B4; font-family: 'Barlow Semi Condensed', sans-serif; font-size: 15.5px; text-decoration: none; }
.wedu-mobile-contact a:hover { color: #E78F34; }

@media (min-width: 1025px) { .wedu-mobile-menu { display: none !important; } }

/* ---------- social icons ----------
   The circles carry real Facebook and Instagram marks now; the SVGs inherit
   currentColor so one colour rule drives both the icon and its hover. */
[aria-label="Whisky EDU on Facebook"] svg,
[aria-label="Whisky EDU on Instagram"] svg {
  display: block;
  flex: 0 0 auto;
}
/* contact marks in the footer and the mobile menu */
.wedu-ci { flex: 0 0 auto; margin-right: 8px; vertical-align: -1px; }
.wedu-mobile-contact a,
.gb-text .wedu-ci { display: inline-flex; align-items: center; }
.wedu-mobile-contact a { display: inline-flex; align-items: center; }
/* wedu social icons */
/* ===== end Whiskey EDU header furniture ===== */

/* ===== Whiskey EDU sticky header =====
   The header stays in the document flow and is pinned with position: sticky,
   pulled up by exactly the height of the utility row. So the mail/phone strip
   scrolls away, the main bar stops at the top, and because nothing is ever
   taken out of the flow the page below never jumps — no layout shift at all.

   The condensed look is a class the script adds once past a small threshold,
   which is what makes it something that can be transitioned rather than a
   state that simply appears. ===== */

[data-wedu-header] {
  position: -webkit-sticky;
  position: sticky;
  top: -37px;               /* the utility row's height */
  z-index: 100;
}

@media (max-width: 767px) {
  /* the utility row is hidden at this width, so there is nothing to scroll past */
  [data-wedu-header] { top: 0; }
}

/* anchor links must not land underneath the pinned bar */
html { scroll-padding-top: 96px; }

[data-wedu-bar] {
  /* The blur is declared at rest with a radius of zero so the compositing
     layer exists from the very first paint. Creating a backdrop-filter layer
     part-way through a scroll costs a frame, and that dropped frame is what
     read as a jolt at the moment the bar pinned. Only the radius animates. */
  -webkit-backdrop-filter: saturate(100%) blur(0);
  backdrop-filter: saturate(100%) blur(0);
  backface-visibility: hidden;
  transition:
    background-color .34s ease,
    box-shadow .34s ease,
    border-bottom-color .34s ease,
    -webkit-backdrop-filter .34s ease,
    backdrop-filter .34s ease;
}

/* Nothing in the pinned state may change a height, a padding or a margin.
   The header sits in the document flow via position: sticky, so any size
   change here would move every pixel of the page below it while the
   transition ran. The pinned look is colour, blur and shadow only. */

[data-wedu-header].is-stuck [data-wedu-bar] {
  background-image: none;
  background-color: rgba(10, 17, 27, .9);
  -webkit-backdrop-filter: saturate(160%) blur(12px);
  backdrop-filter: saturate(160%) blur(12px);
  border-bottom-color: rgba(231, 143, 52, .34);
  box-shadow: 0 18px 44px -24px rgba(0, 0, 0, .95);
}

/* (the old is-stuck height override lived here; see the note above) */

/* a hairline of brand colour draws itself across the bar as it pins */
[data-wedu-bar]::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  height: 1px;
  width: 0;
  background-image: linear-gradient(90deg, rgba(231,143,52,0), #E78F34 45%, rgba(231,143,52,0));
  transition: width .55s cubic-bezier(.4, 0, .2, 1);
  pointer-events: none;
}
[data-wedu-header].is-stuck [data-wedu-bar]::after { width: 100%; }

/* the mobile menu is moved inside the header so it stays attached to the bar
   when the bar is pinned; it must never grow taller than the screen */
[data-wedu-header] .wedu-mobile-menu {
  max-height: calc(100vh - 62px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

@media (prefers-reduced-motion: reduce) {
  [data-wedu-bar],
  [data-wedu-bar] > *,
  [data-wedu-bar]::after { transition: none; }
}
/* ===== end Whiskey EDU sticky header ===== */

/* ===== Whiskey EDU mini-cart panel fixes =====
   Two things the earlier panel styling missed, both of which only show up on a
   phone. ===== */

/* 1. The drawer element itself is painted white by WooCommerce. Only the block
      inside it was given the dark colour, so wherever that block does not reach
      the drawer's edge — the strip above the close button on a phone — the white
      shows through. Painting the drawer as well means no gap can ever be white. */
.wc-block-mini-cart__drawer,
.wc-block-mini-cart__drawer .wc-block-components-drawer__content,
.wc-block-mini-cart__drawer .wc-block-mini-cart__template-part {
  background-color: #0A111B;
}

/* 2. The panel is pinned with inset:0, which measures the *layout* viewport. On a
      phone that is taller than the part you can actually see, so the bottom of
      the panel — the Checkout button — ends up behind the browser's address bar.
      dvh tracks the visible area instead, and because an explicit height wins
      over the bottom inset the panel now always ends where the screen does.
      Browsers without dvh simply ignore this and keep the old behaviour. */
      svh is the height with the browser's toolbars *showing* — the smallest the
      viewport ever gets — so the panel fits whether Safari's bottom bar is out
      or not. dvh was not enough: iOS reports the larger value while the bar is
      still on screen, which is exactly when the Checkout button got cut off. */
.wc-block-mini-cart__drawer {
  height: 100vh;   /* browsers without the new units */
  height: 100svh;
  max-height: 100svh;
  overflow: hidden;
}

/* 3. The warm gradient at the top of the panel is painted on the contents block,
      but the filled/empty blocks sit on top of it with a solid colour of their
      own. That left the glow showing only across the 76px close bar and cut it
      off with a hard edge. Letting those blocks be transparent makes the panel
      read as one surface. */
.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block,
.wc-block-mini-cart__drawer .wp-block-woocommerce-empty-mini-cart-contents-block {
  background-color: transparent;
}

/* both footer buttons share one voice */
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout {
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* the item list is the only part that scrolls; the subtotal and both buttons
   stay on screen no matter how many products are in the cart */
.wc-block-mini-cart__drawer .wc-block-mini-cart__items {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer {
  flex: 0 0 auto;
}

/* the close bar reserved 76px of empty space above the title; trimming it gives
   the product list and the footer more room on a short screen */
.wc-block-mini-cart__drawer .wc-block-components-drawer__close-wrapper {
  height: 60px;
}

/* Product thumbnail: the cell is 80x111 while the picture is only 64x51, so it
   floated in the corner. A fixed square tile with the image centred inside it
   gives every row the same shape whatever proportions the photograph has, and
   `contain` means none of it is cropped away. */
.wc-block-mini-cart__drawer td.wc-block-cart-item__image {
  padding: 0 12px 0 0;
  vertical-align: middle;
  text-align: center;
}

/* Fixed pixel sizes rather than percentages: the cell is a table cell, so a
   percentage height has nothing dependable to resolve against and the picture
   ends up taller than the tile that is meant to hold it. */
.wc-block-mini-cart__drawer td.wc-block-cart-item__image a {
  display: block;
  width: 64px;
  height: 64px;
  margin: 0 auto;
  background-color: rgba(255, 255, 255, .04);
  border: 1px solid rgba(231, 143, 52, .16);
  border-radius: 4px;
  overflow: hidden;
}

/* :not([hidden]) matters — the cell also holds a second, hidden <img> that
   WooCommerce swaps in for products removed from the catalogue. A bare
   `display: block` here would override its hidden attribute and the row would
   show the picture twice. */
.wc-block-mini-cart__drawer td.wc-block-cart-item__image img:not([hidden]) {
  display: block;
  box-sizing: border-box;
  width: 64px;
  height: 64px;
  padding: 5px;
  object-fit: contain;
}

/* quantity stepper and remove control — big enough to hit accurately on a phone */
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector {
  min-height: 40px;
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__button,
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link {
  min-width: 40px;
  min-height: 40px;
  cursor: pointer;
}

/* nothing in the panel should be able to push it sideways */
.wc-block-mini-cart__drawer * {
  max-width: 100%;
}
/* ===== end Whiskey EDU mini-cart panel fixes ===== */

/* ===== Whiskey EDU search suggestions and cart feedback ===== */

/* Placeholder — the old slate grey read as a disabled field. The selectors carry
   the wrapper class because the earlier rules do too, and a bare
   `.wedu-search-input` would lose the cascade to them. */
.wedu-inline-search .wedu-search-input::placeholder,
.wedu-mobile-search input::placeholder,
.wedu-suggest-host input::placeholder {
  color: rgba(214, 206, 194, .72);
  opacity: 1;              /* Firefox dims placeholders by default */
}

.wedu-inline-search .wedu-search-input:focus::placeholder,
.wedu-mobile-search input:focus::placeholder {
  color: rgba(214, 206, 194, .5);
}

/* ---------- the suggestions panel ---------- */
.wedu-suggest-host { position: relative; }

.wedu-suggest {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 200;
  width: min(360px, calc(100vw - 32px));
  max-height: min(70vh, 460px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 8px;
  background-color: #0B1420;
  border: 1px solid rgba(231, 143, 52, .3);
  border-radius: 8px;
  box-shadow: 0 30px 60px -28px rgba(0, 0, 0, .95);
  text-align: left;
}

.wedu-suggest[hidden] { display: none; }

.wedu-suggest__label {
  margin: 6px 8px 4px;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #E78F34;
}

.wedu-suggest__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px;
  border-radius: 5px;
  color: #EFE8DC;
  text-decoration: none;
  transition: background-color .16s ease;
}

.wedu-suggest__item:hover,
.wedu-suggest__item:focus,
.wedu-suggest__item.is-active {
  background-color: rgba(231, 143, 52, .16);
  color: #FFF3E2;
}

.wedu-suggest__thumb {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background-color: rgba(255, 255, 255, .04);
  border: 1px solid rgba(231, 143, 52, .16);
  border-radius: 4px;
  overflow: hidden;
}

.wedu-suggest__thumb img {
  display: block;
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  padding: 3px;
  object-fit: contain;
}

.wedu-suggest__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }

.wedu-suggest__title {
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 15px;
  line-height: 1.3;
  color: inherit;
}

.wedu-suggest__price {
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 13.5px;
  color: #E78F34;
}

.wedu-suggest__kind {
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #8E97A3;
}

.wedu-suggest__item--text { padding-left: 10px; }

.wedu-suggest__empty {
  margin: 0;
  padding: 16px 10px;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 14.5px;
  color: #9BA6B4;
}

.wedu-suggest__all {
  display: block;
  margin-top: 6px;
  padding: 11px 10px;
  border-top: 1px solid rgba(231, 143, 52, .18);
  border-radius: 0 0 5px 5px;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #F0B968;
  text-decoration: none;
  text-align: center;
  transition: background-color .16s ease, color .16s ease;
}

.wedu-suggest__all:hover,
.wedu-suggest__all:focus,
.wedu-suggest__all.is-active { background-color: rgba(231, 143, 52, .16); color: #FFF3E2; }

/* the mobile menu's field is full width, so its panel should be too */
.wedu-mobile-search.wedu-suggest-host .wedu-suggest { left: 0; right: 0; width: auto; }

/* ---------- cart feedback ---------- */

/* a short bump on the cart icon so a silent AJAX add is still noticed */
@keyframes wedu-cart-bump {
  0%   { transform: scale(1); }
  28%  { transform: scale(1.22) rotate(-6deg); }
  55%  { transform: scale(.96) rotate(3deg); }
  100% { transform: scale(1) rotate(0); }
}

.wedu-cart-bump { animation: wedu-cart-bump .62s cubic-bezier(.3, 1.4, .5, 1); }

@keyframes wedu-badge-pop {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.5); }
  100% { transform: scale(1); }
}

.wedu-cart-bump .wc-block-mini-cart__badge,
.wedu-cart-bump .wedu-cart-count {
  animation: wedu-badge-pop .62s ease;
}

/* the button's own "added" state, used on cards and on the product page */
.wedu-added,
.add_to_cart_button.added {
  background-image: linear-gradient(135deg, #7FBF6A, #4E9440) !important;
  color: #08120A !important;
}

/* .wedu-loading is what the single-product module sets; .loading is WooCommerce's
   own class on the shop cards. Both mean "waiting", so both get the spinner. */
.add_to_cart_button.loading,
.single_add_to_cart_button.loading,
.wedu-loading {
  position: relative;
  color: transparent !important;
  pointer-events: none;
}

.add_to_cart_button.loading::after,
.single_add_to_cart_button.loading::after,
.wedu-loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  border: 2px solid rgba(26, 18, 6, .3);
  border-top-color: #1A1206;
  border-radius: 50%;
  animation: wedu-spin .6s linear infinite;
}

@keyframes wedu-spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  .wedu-cart-bump,
  .wedu-cart-bump .wc-block-mini-cart__badge,
  .add_to_cart_button.loading::after,
  .wedu-loading::after { animation: none; }
}
/* ===== end Whiskey EDU search suggestions and cart feedback ===== */

/* ===== Whiskey EDU search field and results page ===== */

/* ---------- the field itself ---------- */

/* What is typed has to be unmistakably readable. The rules carry the wrapper
   class so they outrank the earlier field styling, and -webkit-text-fill-color
   is set too, because Chrome ignores `color` on an input once its own autofill
   or search styling has had a say. */
.wedu-inline-search .wedu-search-input,
.wedu-mobile-search input[type="search"] {
  color: #FBF6EE;
  -webkit-text-fill-color: #FBF6EE;
  caret-color: #E78F34;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .01em;
}

/* On a phone the field kept turning up white. Two different browser behaviours
   cause it and neither shows in the computed styles: Chrome paints its autofill
   highlight over the background, and some mobile browsers fall back to the
   native search-field chrome. The inset shadow covers the first — it is drawn
   inside the input, so it wins over whatever the browser painted — and the
   explicit colours, on a deeper selector, cover the second. */
.wedu-mobile-search input[type="search"],
.wedu-mobile-search .wedu-suggest-host input[type="search"],
form.wedu-mobile-search input[type="search"] {
  background-color: rgba(255, 255, 255, .06);
  background-image: none;
  box-shadow: 0 0 0 1000px #0B1420 inset;
  color: #FBF6EE;
  -webkit-text-fill-color: #FBF6EE;
}

.wedu-inline-search .wedu-search-input:-webkit-autofill,
.wedu-inline-search .wedu-search-input:-webkit-autofill:hover,
.wedu-inline-search .wedu-search-input:-webkit-autofill:focus,
.wedu-mobile-search input[type="search"]:-webkit-autofill,
.wedu-mobile-search input[type="search"]:-webkit-autofill:hover,
.wedu-mobile-search input[type="search"]:-webkit-autofill:focus {
  box-shadow: 0 0 0 1000px #0B1420 inset;
  -webkit-text-fill-color: #FBF6EE;
  caret-color: #E78F34;
  /* the long delay stops Chrome animating its own colour back in */
  transition: background-color 9999s ease-in-out 0s;
}

/* the mobile Search button should never fall back to the theme's grey */
.wedu-mobile-search button {
  background-color: #C97E2A;
  color: #1A1206;
}

/* The weight above is for what the visitor types. A placeholder is a hint, not
   content, so it steps back: lighter, softer, and quieter in colour — while the
   typed text keeps its full contrast. */
.wedu-inline-search .wedu-search-input::placeholder,
.wedu-mobile-search input[type="search"]::placeholder {
  color: rgba(190, 184, 175, .5);
  -webkit-text-fill-color: rgba(190, 184, 175, .5);
  font-weight: 400;
  letter-spacing: .02em;
  opacity: 1;
}

.wedu-inline-search .wedu-search-input:focus::placeholder,
.wedu-mobile-search input[type="search"]:focus::placeholder {
  color: rgba(190, 184, 175, .34);
  -webkit-text-fill-color: rgba(190, 184, 175, .34);
}

/* Chrome draws its own blue clear button on a search input, which has nothing
   to do with this palette. Replaced with an amber cross drawn as a background
   image — if it ever failed to load nothing would show, rather than the solid
   block a mask would leave behind. */
.wedu-inline-search .wedu-search-input::-webkit-search-cancel-button,
.wedu-mobile-search input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  margin-left: 6px;
  cursor: pointer;
  opacity: .75;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23E78F34" stroke-width="2.6" stroke-linecap="round"><path d="M6 6l12 12M18 6L6 18"/></svg>') center / 11px 11px no-repeat;
  transition: opacity .18s ease;
}

.wedu-inline-search .wedu-search-input::-webkit-search-cancel-button:hover,
.wedu-mobile-search input[type="search"]::-webkit-search-cancel-button:hover {
  opacity: 1;
}

/* ---------- the results page ---------- */

body.search .page-header {
  grid-column: 1 / -1;
  margin: 0 0 6px;
  padding: 54px 0 22px;
  border-bottom: 1px solid rgba(231, 143, 52, .2);
  background: none;
}

body.search .page-title {
  margin: 0;
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  font-size: 42px;
  line-height: 1.15;
  color: #FBF6EE;
}

body.search .page-title span { color: #E78F34; }

@media (max-width: 767px) {
  body.search .page-header { padding: 34px 0 18px; }
  body.search .page-title { font-size: 28px; }
}

/* the results themselves become a card grid, the way the blog reads */
body.search .site-main {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
  padding-bottom: 70px;
}

/* anything that is not a result — the heading, the pagination, an empty state —
   runs the full width of the grid */
body.search .site-main > *:not(article) { grid-column: 1 / -1; }

@media (max-width: 1024px) {
  body.search .site-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
}

@media (max-width: 640px) {
  body.search .site-main { grid-template-columns: 1fr; }
}

body.search .site-main article {
  display: flex;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: rgba(255, 255, 255, .028);
  border: 1px solid rgba(231, 143, 52, .18);
  border-radius: 6px;
  box-shadow: none;
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}

body.search .site-main article:hover {
  transform: translateY(-4px);
  border-color: rgba(231, 143, 52, .5);
  box-shadow: 0 30px 50px -34px rgba(0, 0, 0, .95);
}

body.search .inside-article {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0;
}

/* GeneratePress prints the title before the picture; a card wants it the other
   way round, and `order` moves them without touching the template */
body.search .post-image { order: 1; margin: 0; }
body.search .entry-header { order: 2; padding: 20px 20px 0; }
body.search .entry-summary { order: 3; flex: 1 1 auto; padding: 12px 20px 0; }
body.search .inside-article > footer.entry-meta { order: 4; padding: 0 20px 20px; }

/* The theme gives .post-image a 36px right margin, which left a gap down the
   side of every card. These selectors are deliberately deeper so they win. */
body.search .site-main .inside-article .post-image,
body.search .site-main .inside-article .post-image a,
body.search .site-main .inside-article .post-image img {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.search .site-main .inside-article .post-image img {
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.2, .7, .3, 1);
}

body.search article:hover .post-image img { transform: scale(1.04); }

body.search .entry-title {
  margin: 0 0 8px;
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  font-size: 21px;
  line-height: 1.3;
}

body.search .entry-title a { color: #FBF6EE; text-decoration: none; transition: color .2s ease; }
body.search .entry-title a:hover { color: #F0B968; }

body.search .entry-meta {
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #8E97A3;
}

body.search .entry-meta a { color: #8E97A3; text-decoration: none; }
body.search .entry-meta a:hover { color: #E78F34; }

body.search .entry-summary p {
  margin: 0 0 14px;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 15.5px;
  line-height: 1.7;
  color: #C6BFB4;
}

/* the read-more link, in the site's own ghost-button shape */
body.search .read-more.button,
body.search .entry-summary .more-link {
  display: inline-block;
  margin-top: 2px;
  padding: 9px 20px;
  background: transparent;
  border: 1px solid rgba(231, 143, 52, .45);
  border-radius: 999px;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #F0B968;
  text-decoration: none;
  transition: background-color .22s ease, color .22s ease, border-color .22s ease;
}

body.search .read-more.button:hover,
body.search .read-more.button:focus,
body.search .entry-summary .more-link:hover {
  background-color: #E78F34;
  border-color: #E78F34;
  color: #14202F;
}

/* pagination */
body.search .paging-navigation {
  padding-top: 12px;
  border-top: 1px solid rgba(231, 143, 52, .18);
}

body.search .paging-navigation .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

body.search .paging-navigation .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(231, 143, 52, .28);
  border-radius: 999px;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 14.5px;
  color: #C6BFB4;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

body.search .paging-navigation .page-numbers:hover,
body.search .paging-navigation .page-numbers.current {
  background-color: #E78F34;
  border-color: #E78F34;
  color: #14202F;
}

/* nothing found */
body.search .no-results {
  padding: 40px 24px 60px;
  text-align: center;
}

body.search .no-results .entry-title { font-size: 30px; }

body.search .no-results .search-form,
body.search .no-results form[role="search"] {
  display: flex;
  gap: 10px;
  max-width: 460px;
  margin: 22px auto 0;
}

body.search .no-results input[type="search"] {
  flex: 1 1 auto;
  min-width: 0;
  padding: 12px 18px;
  background-color: rgba(255, 255, 255, .05);
  border: 1px solid rgba(231, 143, 52, .32);
  border-radius: 999px;
  color: #FBF6EE;
}
/* ===== end Whiskey EDU search field and results page ===== */

/* ===== Whiskey EDU contact page ===== */

/* The submit button's gradient was applying, but Forminator's per-form
   stylesheet uses an id selector, so its blue base colour and white label
   survived underneath. Those two properties have to be named as important —
   the rest of the button already wins on its own. */
.forminator-ui.forminator-custom-form[data-design="default"] button.forminator-button-submit,
.forminator-ui.forminator-custom-form button.forminator-button-submit,
.forminator-ui.forminator-custom-form .forminator-button.forminator-button-submit {
  background-color: #C97E2A !important;
  color: #1A1206 !important;
}

.forminator-ui.forminator-custom-form[data-design="default"] button.forminator-button-submit:hover,
.forminator-ui.forminator-custom-form button.forminator-button-submit:hover,
.forminator-ui.forminator-custom-form button.forminator-button-submit:focus {
  color: #1A1206 !important;
}

/* The captcha is a third-party iframe, so its inside cannot be styled from here.
   Framing the box it sits in stops it reading as a bare white slab dropped into
   a dark form. */
.forminator-ui.forminator-custom-form .forminator-field-captcha,
.forminator-ui.forminator-custom-form .forminator-captcha,
.forminator-ui .forminator-g-recaptcha,
.forminator-ui .cf-turnstile {
  display: inline-block;
  max-width: 100%;
  padding: 6px;
  background-color: rgba(255, 255, 255, .04);
  border: 1px solid rgba(231, 143, 52, .2);
  border-radius: 6px;
  overflow: hidden;
  line-height: 0;
}

/* the form column should not stretch its fields past a comfortable measure */
.wedu-contact-label { color: #EFE8DC; }

/* Forminator sets its own widths on the two-column name row; on a phone they
   need to stack rather than squeeze */
@media (max-width: 600px) {
  .forminator-ui.forminator-custom-form .forminator-row .forminator-col {
    flex: 1 1 100%;
    max-width: 100%;
  }
}
/* ===== end Whiskey EDU contact page ===== */

/* ===== Whiskey EDU about page biographies =====
   The three expert profiles are wildly different lengths, so on a wide screen
   the longest one set the height of the row. They are folded to a common height
   here, with a button to open each one.

   Everything below hangs off html.wedu-js, a class a script in the head adds
   before the first paint. Without JavaScript the text is never clipped, so a
   reader can always finish reading even if the button could never work. ===== */

html.wedu-js .wedu-bio {
  max-height: 320px;
  overflow: hidden;
  transition: max-height .45s ease;
}

/* the fold is a fade rather than a hard cut, in the card's own colour:
   rgb(8,13,22) is the page, lifted by the card's 2.4% white */
html.wedu-js .wedu-bio::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 104px;
  pointer-events: none;
  background-image: linear-gradient(180deg, rgba(14, 19, 28, 0), rgba(14, 19, 28, .97));
  transition: opacity .3s ease;
}

html.wedu-js .wedu-bio[data-wedu-bio-open] {
  max-height: 3000px;
}

html.wedu-js .wedu-bio[data-wedu-bio-open]::after {
  opacity: 0;
}

/* the two labels; the button carries is-open while the profile is expanded */
.wedu-bio-toggle .wedu-bio-less { display: none; }
.wedu-bio-toggle.is-open .wedu-bio-more { display: none; }
.wedu-bio-toggle.is-open .wedu-bio-less { display: inline; }

/* The script hides a button whose profile barely overflows. [hidden] alone
   loses to the button's own display:inline-flex, so it is stated again. */
.wedu-bio-toggle[hidden] { display: none !important; }

/* Phones show one card per row, so nothing is competing for height and folding
   would only put a tap between the reader and the text. */
@media (max-width: 767px) {
  html.wedu-js .wedu-bio { max-height: none; }
  html.wedu-js .wedu-bio::after { display: none; }
  .wedu-bio-toggle { display: none; }
}

/* Someone who prefers less motion gets the same behaviour without the slide. */
@media (prefers-reduced-motion: reduce) {
  html.wedu-js .wedu-bio,
  html.wedu-js .wedu-bio::after,
  .wedu-bio-toggle::after { transition: none; }
}
/* ===== end Whiskey EDU about page biographies ===== */

/* ===== Whiskey EDU blog archive =====
   The grid and the pagination are built inside the Loop Template element, so
   they stay editable. What is left here is the room around them and the look of
   the page-number links, which GenerateBlocks renders with WordPress' own
   .page-numbers markup and does not style. ===== */

body.blog .site-main,
body.archive.category .site-main,
body.archive.tag .site-main {
  padding-top: 64px;
  padding-bottom: 76px;
}

@media (max-width: 1024px) {
  body.blog .site-main,
  body.archive.category .site-main,
  body.archive.tag .site-main { padding-top: 44px; }
}

@media (max-width: 640px) {
  body.blog .site-main,
  body.archive.category .site-main,
  body.archive.tag .site-main { padding-bottom: 54px; }
}

/* GeneratePress still wraps the template in its own article; the card supplies
   its own frame, so the wrapper must not add a second one. */
body.blog .site-main > article,
body.archive .site-main > article {
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
}

/* ---------- pagination ---------- */

body.blog .page-numbers,
body.archive .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(231, 143, 52, .28);
  border-radius: 999px;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 14.5px;
  color: #C6BFB4;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

body.blog .page-numbers:hover,
body.blog .page-numbers.current,
body.archive .page-numbers:hover,
body.archive .page-numbers.current {
  background-color: #E78F34;
  border-color: #E78F34;
  color: #14202F;
}

body.blog .page-numbers.dots,
body.archive .page-numbers.dots {
  border-color: transparent;
  min-width: 24px;
  padding: 0;
}

/* ===== end Whiskey EDU blog archive ===== */

/* ===== Whiskey EDU single post =====
   The article body is written by an author in ordinary blocks, so the template
   only sets the reading measure and the typography around it. ===== */

body.single-post .dynamic-entry-content > * {
  max-width: 100%;
}

body.single-post .dynamic-entry-content p {
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 17px;
  line-height: 1.8;
  color: #C6BFB4;
}

body.single-post .dynamic-entry-content h2 {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.2;
  color: #F0B968;
  margin-top: 1.6em;
}

body.single-post .dynamic-entry-content h3 {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  font-size: 22px;
  line-height: 1.25;
  color: #FBF6EE;
  margin-top: 1.4em;
}

body.single-post .dynamic-entry-content a {
  color: #F0B968;
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.single-post .dynamic-entry-content a:hover { color: #FBF6EE; }

body.single-post .dynamic-entry-content img {
  height: auto;
  max-width: 100%;
  border-radius: 6px;
}

body.single-post .dynamic-entry-content ul,
body.single-post .dynamic-entry-content ol {
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 17px;
  line-height: 1.8;
  color: #C6BFB4;
}

body.single-post .dynamic-entry-content blockquote {
  margin: 1.6em 0;
  padding: 4px 0 4px 22px;
  border-left: 2px solid rgba(231, 143, 52, .6);
  font-style: normal;
  color: #EFE8DC;
}

/* GeneratePress prints its own title and featured image above a content
   template on this layout; the template supplies both, and two copies of a
   title is exactly the duplication this rebuild was meant to remove. */
body.single-post .dynamic-content-template > .entry-header,
body.single-post .dynamic-content-template > .post-image {
  display: none;
}
/* ===== end Whiskey EDU single post ===== */

/* ===== Whiskey EDU awards tables =====
   The winners are core/table blocks so they stay editable and keep their
   <thead>. WordPress ships those unstyled, so the dark palette is applied here
   once and every tier's table follows it. ===== */

.wedu-awards-table {
  margin: 0;
  /* 127 rows across five columns will not fit a phone; the table scrolls
     inside its own box rather than pushing the page sideways */
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid rgba(231, 143, 52, .18);
  border-radius: 6px;
  background-color: rgba(255, 255, 255, .022);
}

.wedu-awards-table table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 15px;
  line-height: 1.45;
}

.wedu-awards-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 13px 16px;
  text-align: left;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #F0B968;
  background-color: #101823;
  border-bottom: 1px solid rgba(231, 143, 52, .3);
  white-space: nowrap;
}

.wedu-awards-table tbody th,
.wedu-awards-table tbody td {
  padding: 12px 16px;
  text-align: left;
  font-weight: 400;
  color: #C6BFB4;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  vertical-align: top;
}

/* the product name is the row's heading, so it carries the weight */
.wedu-awards-table tbody th {
  color: #FBF6EE;
  font-weight: 500;
  min-width: 220px;
}

.wedu-awards-table tbody tr:last-child th,
.wedu-awards-table tbody tr:last-child td {
  border-bottom: 0;
}

.wedu-awards-table tbody tr:nth-child(even) {
  background-color: rgba(255, 255, 255, .018);
}

.wedu-awards-table tbody tr:hover {
  background-color: rgba(231, 143, 52, .07);
}

/* ABV is a number: right-aligned and tabular so the decimals line up */
.wedu-awards-table tbody td:nth-child(4),
.wedu-awards-table thead th:nth-child(4) {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* the medal column reads as a label, not a sentence */
.wedu-awards-table tbody td:last-child {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #F0B968;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .wedu-awards-table table { font-size: 14px; }
  .wedu-awards-table thead th,
  .wedu-awards-table tbody th,
  .wedu-awards-table tbody td { padding: 10px 12px; }
  .wedu-awards-table tbody th { min-width: 180px; }
}
/* ===== end Whiskey EDU awards tables ===== */

/* ===== Whiskey EDU editorial lists =====
   The Knowledge page's twenty-four resource links were bare anchors sitting in
   divs; they are list items now, which is what they always were. Core list
   blocks arrive unstyled, so the palette is applied here. ===== */

.wedu-link-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px 24px;
}

.wedu-link-list li {
  margin: 0;
  border-bottom: 1px solid rgba(231, 143, 52, .14);
}

.wedu-link-list li a {
  display: block;
  padding: 11px 2px 11px 20px;
  position: relative;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 15.5px;
  line-height: 1.45;
  color: #C6BFB4;
  text-decoration: none;
  transition: color .2s ease, padding-left .2s ease;
}

/* a small amber caret instead of a bullet */
.wedu-link-list li a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 2px;
  width: 5px;
  height: 5px;
  margin-top: -4px;
  border-right: 1px solid #E78F34;
  border-bottom: 1px solid #E78F34;
  transform: rotate(-45deg);
  transition: left .2s ease;
}

.wedu-link-list li a:hover,
.wedu-link-list li a:focus {
  color: #F0B968;
  padding-left: 26px;
}

.wedu-link-list li a:hover::before { left: 8px; }

@media (max-width: 900px) {
  .wedu-link-list { grid-template-columns: 1fr; }
}

/* the four "Perfect For" items on the Events page */
.wedu-tick-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}

.wedu-tick-list li {
  position: relative;
  padding-left: 24px;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 15.5px;
  line-height: 1.6;
  color: #C6BFB4;
}

.wedu-tick-list li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 7px;
  width: 5px;
  height: 9px;
  border-right: 1.5px solid #E78F34;
  border-bottom: 1.5px solid #E78F34;
  transform: rotate(45deg);
}
/* ===== end Whiskey EDU editorial lists ===== */

/* ===== Whiskey EDU newsletter form (Brevo) =====
   The embed is third-party markup with its colours written as inline styles, so
   the few that matter have to be named as important — an inline style beats any
   class rule. Only colour is touched: the fields, the action URL, the reCAPTCHA
   key and the script are exactly as Brevo generated them. ===== */

.sib-form { padding: 0 !important; text-align: left !important; }

#sib-container {
  background-color: rgba(255, 255, 255, .028) !important;
  border-color: rgba(231, 143, 52, .2) !important;
  border-radius: 6px !important;
  max-width: 100% !important;
  padding: 26px 26px 30px !important;
  text-align: left !important;
}

/* Brevo prints the form's own title and intro; the page already says both, so
   they are dropped rather than repeated three inches apart */
#sib-form > div:first-child .sib-form-block[style*="32px"] { display: none !important; }

#sib-container .sib-form-block,
#sib-container .sib-text-form-block p,
#sib-container .entry__label,
#sib-container .sib-form__declaration div {
  font-family: 'Barlow Semi Condensed', sans-serif !important;
  color: #C6BFB4 !important;
  background-color: transparent !important;
}

#sib-container .entry__label {
  color: #EFE8DC !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .12em;
  text-transform: uppercase;
}

#sib-container .entry__specification {
  color: #8E97A3 !important;
  font-family: 'Barlow Semi Condensed', sans-serif !important;
}

#sib-container input.input,
#sib-container input[type="text"] {
  width: 100%;
  background-color: rgba(255, 255, 255, .05) !important;
  border: 1px solid rgba(231, 143, 52, .28) !important;
  border-radius: 4px !important;
  color: #FBF6EE !important;
  -webkit-text-fill-color: #FBF6EE;
  font-family: 'Barlow Semi Condensed', sans-serif !important;
  font-size: 15px !important;
  padding: 11px 14px !important;
}

#sib-container input.input:focus {
  border-color: #E78F34 !important;
  outline: none;
}

#sib-container input::placeholder { color: rgba(190, 184, 175, .5) !important; }

/* Chrome paints its autofill highlight over the field background */
#sib-container input:-webkit-autofill,
#sib-container input:-webkit-autofill:hover,
#sib-container input:-webkit-autofill:focus {
  box-shadow: 0 0 0 1000px #0B1420 inset !important;
  -webkit-text-fill-color: #FBF6EE !important;
  caret-color: #E78F34;
  transition: background-color 9999s ease-in-out 0s;
}

#sib-container .sib-form-block__button {
  background-color: #C97E2A !important;
  color: #1A1206 !important;
  font-family: 'Barlow Semi Condensed', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  border-radius: 999px !important;
  padding: 12px 30px !important;
  cursor: pointer;
  transition: background-color .22s ease, transform .22s ease;
}

#sib-container .sib-form-block__button:hover {
  background-color: #F0B968 !important;
  transform: translateY(-2px);
}

#sib-container a { color: #F0B968 !important; }

/* the tick box and its label */
#sib-container .entry__choice span[style] { color: #C6BFB4 !important; }
#sib-container .checkbox { border-color: rgba(231, 143, 52, .5) !important; }

/* Brevo's own success and error panels keep their meaning-carrying colours,
   but sit on the dark card rather than floating on white */
.sib-form-message-panel { max-width: 100% !important; }
/* ===== end Whiskey EDU newsletter form ===== */

/* ===== Whiskey EDU knowledge articles =====
   The body of these pages is ordinary editor blocks now, so the typography is
   set once here rather than being carried by hundreds of GenerateBlocks v1
   containers. ===== */

.wedu-kb-body > * { margin-top: 0; margin-bottom: 1.25em; }
.wedu-kb-body > *:last-child { margin-bottom: 0; }

.wedu-kb-body p,
.wedu-kb-body li {
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 17px;
  line-height: 1.8;
  color: #C6BFB4;
}

.wedu-kb-body h2 {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.2;
  color: #F0B968;
  margin-top: 1.7em;
  margin-bottom: .5em;
}

.wedu-kb-body h3 {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  font-size: 22px;
  line-height: 1.25;
  color: #FBF6EE;
  margin-top: 1.5em;
  margin-bottom: .4em;
}

.wedu-kb-body h4 {
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #EFE8DC;
  margin-top: 1.4em;
  margin-bottom: .3em;
}

.wedu-kb-body > *:first-child { margin-top: 0; }

.wedu-kb-body a {
  color: #F0B968;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.wedu-kb-body a:hover { color: #FBF6EE; }

.wedu-kb-body ul,
.wedu-kb-body ol { padding-left: 22px; }
.wedu-kb-body li { margin-bottom: .4em; }

.wedu-kb-body img {
  height: auto;
  max-width: 100%;
  border-radius: 6px;
}

.wedu-kb-body figure { margin: 1.6em 0; }

.wedu-kb-body figcaption {
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 14px;
  color: #8E97A3;
  text-align: center;
  margin-top: 10px;
}

.wedu-kb-body blockquote {
  margin: 1.6em 0;
  padding: 4px 0 4px 22px;
  border-left: 2px solid rgba(231, 143, 52, .6);
  color: #EFE8DC;
}

.wedu-kb-body table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 15.5px;
}

.wedu-kb-body th,
.wedu-kb-body td {
  padding: 10px 14px;
  text-align: left;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  color: #C6BFB4;
}

.wedu-kb-body th { color: #F0B968; }

/* core/columns inside an article: stack them on a phone */
@media (max-width: 767px) {
  .wedu-kb-body .wp-block-columns { flex-wrap: wrap !important; }
  .wedu-kb-body .wp-block-column { flex-basis: 100% !important; }
}
/* ===== end Whiskey EDU knowledge articles ===== */

/* ===== Whiskey EDU order tracking & confirmation =====
   WooCommerce renders the tracking form and the confirmation summary itself, so
   its own markup is dressed here for the dark palette. ===== */

/* ---------- order tracking form ---------- */

.woocommerce form.track_order {
  max-width: 100%;
  padding: 26px 26px 28px;
  background-color: rgba(255, 255, 255, .028);
  border: 1px solid rgba(231, 143, 52, .18);
  border-radius: 6px;
}

.woocommerce form.track_order p {
  font-family: 'Barlow Semi Condensed', sans-serif;
  color: #C6BFB4;
}

.woocommerce form.track_order label {
  display: block;
  margin-bottom: 6px;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #EFE8DC;
}

.woocommerce form.track_order input[type="text"],
.woocommerce form.track_order input[type="email"] {
  width: 100%;
  padding: 11px 14px;
  background-color: rgba(255, 255, 255, .05);
  border: 1px solid rgba(231, 143, 52, .28);
  border-radius: 4px;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 15px;
  color: #FBF6EE;
}

.woocommerce form.track_order input:focus {
  border-color: #E78F34;
  outline: none;
}

.woocommerce form.track_order input::placeholder { color: rgba(190, 184, 175, .5); }

.woocommerce form.track_order button,
.woocommerce form.track_order .button {
  background-color: #C97E2A;
  color: #1A1206;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  border: 0;
  border-radius: 999px;
  padding: 12px 30px;
  cursor: pointer;
  transition: background-color .22s ease, transform .22s ease;
}

.woocommerce form.track_order button:hover,
.woocommerce form.track_order .button:hover {
  background-color: #F0B968;
  transform: translateY(-2px);
}

/* the result WooCommerce prints after a successful lookup */
.woocommerce .woocommerce-order-details,
.woocommerce ul.order_details {
  font-family: 'Barlow Semi Condensed', sans-serif;
  color: #C6BFB4;
}

/* ---------- order confirmation ---------- */

/* The panel above already gives the order number, date, total and the address
   the confirmation went to, so WooCommerce's own overview list is the same four
   facts a second time. This is what keeps the screen short. */
body.wedu-thankyou ul.woocommerce-order-overview,
body.wedu-thankyou .woocommerce-notice--success {
  display: none;
}

body.wedu-thankyou .woocommerce-order {
  max-width: var(--wedu-container);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--wedu-gutter);
  padding-right: var(--wedu-gutter);
  padding-bottom: 70px;
}

body.wedu-thankyou .woocommerce-order h2,
body.wedu-thankyou .woocommerce-column__title {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  font-size: 24px;
  color: #FBF6EE;
  margin-bottom: 14px;
}

body.wedu-thankyou .woocommerce-table--order-details,
body.wedu-thankyou table.shop_table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid rgba(231, 143, 52, .18);
  border-radius: 6px;
  overflow: hidden;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-size: 15.5px;
  color: #C6BFB4;
  background-color: rgba(255, 255, 255, .022);
}

body.wedu-thankyou table.shop_table th,
body.wedu-thankyou table.shop_table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

body.wedu-thankyou table.shop_table thead th,
body.wedu-thankyou table.shop_table tfoot th {
  color: #F0B968;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.wedu-thankyou table.shop_table a { color: #F0B968; text-decoration: none; }
body.wedu-thankyou table.shop_table a:hover { color: #FBF6EE; }

body.wedu-thankyou table.shop_table tfoot td,
body.wedu-thankyou table.shop_table tfoot th { border-bottom: 0; }
/* ===== end Whiskey EDU order tracking & confirmation ===== */

/* ===== Whiskey EDU table of contents ===== */
/*
 * The "On this page" nav is built at render time from the article H2s. It had
 * no styling at all, so it arrived as a bare ordered list with underlined
 * links sitting in the middle of the prose.
 *
 * The link rules repeat .wedu-toc to reach 0-3-1, because the article's own
 * "body.single-post .dynamic-entry-content a" underline rule is 0-2-2 and would
 * otherwise win. Doubling a class avoids !important and keeps the rest of the
 * article links untouched.
 */
.wedu-toc {
	margin: 30px 0 36px;
	padding: 22px 26px 24px;
	border-radius: 14px;
	background-color: rgba(255, 255, 255, .03);
	border: 1px solid rgba(231, 143, 52, .2);
}

.wedu-toc__title {
	margin: 0 0 6px;
	font-family: 'Barlow Semi Condensed', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #E78F34;
}

.wedu-toc__list {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: wedu-toc;
}

.wedu-toc__list li {
	counter-increment: wedu-toc;
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(231, 143, 52, .12);
}

.wedu-toc__list li:first-child { border-top: 0; }

.wedu-toc.wedu-toc .wedu-toc__list a {
	display: grid;
	grid-template-columns: 32px 1fr;
	align-items: baseline;
	column-gap: 8px;
	padding: 11px 4px;
	color: #D8D2C7;
	font-size: 16px;
	text-decoration: none;
	border-radius: 8px;
	transition: color .18s ease, background-color .18s ease;
}

.wedu-toc.wedu-toc .wedu-toc__list a::before {
	content: counter(wedu-toc, decimal-leading-zero);
	color: #E78F34;
	font-family: 'Barlow Semi Condensed', sans-serif;
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .08em;
	transition: color .18s ease;
}

.wedu-toc.wedu-toc .wedu-toc__list a:hover,
.wedu-toc.wedu-toc .wedu-toc__list a:focus {
	color: #FBF6EE;
	background-color: rgba(231, 143, 52, .08);
	text-decoration: none;
}

.wedu-toc.wedu-toc .wedu-toc__list a:hover::before,
.wedu-toc.wedu-toc .wedu-toc__list a:focus::before { color: #F0B968; }

@media (max-width: 767px) {
	.wedu-toc { padding: 18px 18px 20px; margin: 24px 0 28px; }
	.wedu-toc.wedu-toc .wedu-toc__list a { font-size: 15px; padding: 10px 2px; }
}
/* ===== end Whiskey EDU table of contents ===== */



/* ===== Whiskey EDU newsletter form fields ===== */
/*
 * The fields were unreadable: cream text sitting on a white box.
 *
 * The Brevo block above already dresses the input itself for the dark card -
 * a 5% white fill, an amber border and #FBF6EE text. What it never touched is
 * .entry__field, the wrapper Brevo puts around every input, which ships with
 * a solid white background. The input's translucent fill was laid over that
 * white, so the box stayed white and the cream text vanished into it, and the
 * placeholder at 50% opacity was barely there either.
 *
 * Clearing the wrapper lets the treatment that was already written show, and
 * the placeholder is lifted to a weight that reads on the dark field.
 */
#sib-container .entry__field {
	background-color: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

#sib-container input::placeholder {
	color: rgba(214, 208, 198, .72) !important;
	opacity: 1;
}

#sib-container input::-webkit-input-placeholder { color: rgba(214, 208, 198, .72) !important; opacity: 1; }
#sib-container input::-moz-placeholder { color: rgba(214, 208, 198, .72) !important; opacity: 1; }
/* ===== end Whiskey EDU newsletter form fields ===== */

/* The logo size and the navigation font moved into the Whisky EDU Core plugin
   (includes/whiskyedu-brand-css.php). They are printed inline on every page so a
   cached copy of this file can never drop them - which is what let WooCommerce's
   img{height:auto} win and blow the logo up to full size. */

/* ---------- mobile menu: the nested Events items ---------- */
/* The desktop bar opens these as a dropdown built into the header element.
   Here they are simply indented under their parent, with a hairline down the
   left so the nesting reads without needing a control to open it. */
.wedu-mobile-sub {
  margin: 0;
  padding: 0 0 0 16px;
  list-style: none;
  border-left: 1px solid rgba(231,143,52,.2);
}

.wedu-mobile-sub a {
  padding: 11px 2px;
  font-size: 15px;
  color: #A9A296;
  border-bottom: 1px solid rgba(231,143,52,.09);
}

.wedu-mobile-sub li:last-child a { border-bottom: 0; }
