/** Shopify CDN: Minification failed

Line 198:58 Unexpected ";"

**/
/* =====================================================================
   KOSME CUSTOM CSS
   Carried over from the previous theme's base.css so theme updates
   don't wipe it. Loaded right after base.css in layout/theme.liquid.
   ===================================================================== */

/* Font overrides (were edited directly inside base.css before) */
.text-body {
  font-family: FTRegolaNeue-Light;
}

h1,
h2,
h3,
h4,
h5,
.h0,
.h1,
.h2,
.h3,
.h4,
.h5 {
  font-family: FTRegolaNeue-Regular;
}

h4,
.h4 {
  font-family: FTRegolaNeue-Regular;
}

.link,
.customer a {
  font-family: FTRegolaNeue-Light;
}

.text-area {
  font-family: FTRegolaNeue-Light;
}

/* Hide the arrow on announcement bar links */
.announcement-bar__link .icon-arrow {
  display: none;
}

.custom-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 400px;
  height: 120px;
  background: url('/cdn/shop/files/KOSME_AllShapesred_KOSME_Shape-7.png?v=1745887360') no-repeat center center;
  background-size: contain;
  border: none;
  text-decoration: none;
  color: #000;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  padding: 0;
    font-family: FTRegolaNeue-Light;
  
}

/* CUSTOM CSS COPY OVER - NW */
@font-face {
          font-family: FTRegolaNeue-Regular; /* Replace with your font name */
          src: url('/cdn/shop/files/FTRegolaNeue-Regular.otf?v=1744304921');
        }
@font-face {
          font-family: FTRegolaNeue-Light; /* Replace with your font name */
          src: url('/cdn/shop/files/FTRegolaNeue-Light.woff2?v=1744304911');
        }

p {
  font-family: FTRegolaNeue-Light !important;
  }

.field__label {
  font-family: FTRegolaNeue-Light !important;
  }

.header {
  padding: 0px !important;
  padding-top: 10px !important;
}
.header__inline-menu {
  width: 100%;
  text-align: center;
  border-top: #000000 solid 2px;
  border-bottom: #000000 solid 2px;
  text-decoration: none;
}
.list-menu--inline {
  border-collapse: collapse;
  border-left: solid 2px #000000;
  border-right: solid 2px #000000;
  text-decoration: none;
}
.list-menu--inline {
  border-left: solid 2px #000000;
  border-right: solid 2px #000000;
  text-decoration: none;
}
.header__search {
  padding-left: 5%;
}
.header__icons {
  padding-right: 5%;
}
.mobile-logo {
  display: none;
}

@media screen and (max-width: 749px) {
  .mobile-logo {
    display: block;
  }
  .desktop-logo {
    display: none;
  }
}
/* Keep the menu's layout intact; remove the old borders */
.header__inline-menu {
  border: 0 !important;
  position: relative;   /* anchor the pseudos */
  z-index: 1;           /* keep menu above the lines */
  background: rgb(var(--color-background));     /* ensure lines don't show through icons/text if transparent */
}

/* Full-bleed top/bottom bars */
.header__inline-menu::before,
.header__inline-menu::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%); /* center the bar */
  width: 100vw;                /* span the entire viewport */
  height: 2px;                 /* line thickness */
  background: #000;            /* line color */
  pointer-events: none;
  z-index: 0;                  /* bars sit behind menu content */
}

.header__inline-menu::before { top: 0; }
.header__inline-menu::after  { bottom: 0; }

/* Target the BEST SELLERS wrapper */
.collection__title-wrapper {
  position: relative;
  border: 0 !important;     /* remove default borders */
  text-align: center;       /* center the heading text */
  margin: 2rem 0;           /* add spacing above/below */
}
/* RESET any built-in borders on the title bar */
.collection .collection__title.title-wrapper,
.section-template .title-wrapper {
  border: 0 !important;
  position: relative;
  text-align: center;   /* center the title */
  overflow: visible;    /* allow our full-bleed bars to show */
}

/* FULL-BLEED top/bottom bars */
.collection .collection__title.title-wrapper::before,
.collection .collection__title.title-wrapper::after,
.section-template .title-wrapper::before,
.section-template .title-wrapper::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 2px;
  background: #000;     /* line color */
  pointer-events: none;
  z-index: 0;
}

.collection .collection__title.title-wrapper::before,
.section-template .title-wrapper::before { top: 0; }

.collection .collection__title.title-wrapper::after,
.section-template .title-wrapper::after  { bottom: 0; border-left: 0px;}

/* KEEP the text above the bars and centered */
.collection .collection__title.title-wrapper h2,
.section-template .title-wrapper h2,
.collection .collection__title.title-wrapper .ti

.collection .collection__title.title-wrapper h2
{border-bottom: 2px, solid #ffffff; text-transform: none;};




/* KOSME — Best Sellers card (Taste) */
.kb-card{border:2px solid #000;background:#fff;display:flex;flex-direction:column;height:100%;}
.kb-card__media{display:block;aspect-ratio:3/4;padding:24px;border-bottom:2px solid #000;}
.kb-card__img{width:100%;height:100%;object-fit:contain;}
.kb-card__title{margin:0;padding:18px 16px;text-align:center;font-size:clamp(18px,2.2vw,28px);line-height:1.2;font-weight:600;border-bottom:2px solid #000;}
.kb-card__title a{color:inherit;text-decoration:none;}
.kb-card__bottom{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;min-height:58px;}
.kb-card__price{display:flex;align-items:center;justify-content:center;font-weight:600;border-right:2px solid #000;border-top:2px solid #000;padding:12px 10px;}
.kb-card__cta{border-top:2px solid #000;}
.kb-card__form,.kb-card__btn--link{height:100%;display:block;}
.kb-card__btn{width:100%;height:100%;border:0;cursor:pointer;background:#bcd0ff;font-weight:600;}
.kb-card__btn--link{background:#bcd0ff;color:#000;text-decoration:none;display:flex;align-items:center;justify-content:center;font-weight:600;}
.kb-card__btn:hover,.kb-card__btn--link:hover{filter:brightness(.92);}
.grid .kb-card,.product-grid .kb-card{height:100%;}

/* --- KOSME: tighten Best Sellers card to match mock --- */

/* 1) Make the bottom bar perfectly flush, no gaps */
.kb-card__bottom {
  grid-template-columns: 1fr 1fr;
  column-gap: 0;
}
.kb-card__price,
.kb-card__cta {
  margin: 0;
  padding: 0;               /* we'll center the contents instead */
  border-top: 2px solid #000;
}

/* 2) Center price text and remove theme spacing */
.kb-card__price {
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 2px solid #000;
}
.kb-card__price .price { margin: 0; }          /* Taste adds margin */
.kb-card__price .price__sale,
.kb-card__price .price__regular { gap: 0; }    /* ensure tight */
.kb-card__price .price-item { font-weight: 600; }

/* 3) Make CTA half a solid block with square corners */
.kb-card__btn,
.kb-card__btn--link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0;                 /* Taste buttons add margins */
  padding: 0;                /* remove inner padding so it fills cell */
  border: 0;
  border-radius: 0;          /* remove rounded corners from Taste */
  box-shadow: none;
  background: #bcd0ff;       /* your blue fill */
  font-weight: 600;
  text-decoration: none;
  color: #000;
}

/* 4) Keep hover consistent (no outline jump) */
.kb-card__btn:hover,
.kb-card__btn--link:hover { filter: brightness(0.92); }

/* 5) Image stage and title: keep borders perfectly aligned */
.kb-card__media { border-bottom: 2px solid #000; }
.kb-card__title { border-bottom: 0px solid #000; }

/* 6) Ensure the outer card border stays square and strong */
.kb-card { border: 2px solid #000; }

/* --- KOSME: consistent title block height + vertical centering --- */

/* Tweak how many lines you want visible (2 or 3 usually). */
:root {
  --kb-title-lines: 3;         /* change to 2 if you prefer */
}

.kb-card__title {
  display: flex;
  align-items: center;          /* vertical center */
  justify-content: center;      /* horizontal center */
  text-align: center;

  /* Keep your existing look */
  margin: 0;
  padding: 18px 16px;
  border-bottom: 0px solid #000;
  font-size: clamp(16px, 2.2vw, 20px);
  line-height: 1.2;

  /* Make all cards equal-height here:
     1.2em * lines + vertical padding (18px top + 18px bottom) */
  min-height: calc(1.2em * var(--kb-title-lines) + 36px);
}

/* Clamp longer titles so they don't push the block taller */
.kb-card__title a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--kb-title-lines);
  overflow: hidden;
  max-width: 100%;
}
/* --- KOSME: bullet-proof sliver fix (pin the bar to the bottom) --- */
.kb-card { 
  position: relative; 
  padding-bottom: 60px; /* 58px row + 2px top border = no overlap */
}

.kb-card__bottom {
  margin-top: 0 !important;   /* override the earlier auto push */
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 65px;               /* lock the row height */
  min-height: 65px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 0px solid #000;
  align-items: stretch;
}

.kb-card__price,
.kb-card__cta {
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: FTRegolaNeue-Light;
  text-align: center;
}

.kb-card__price { border-right: 2px solid #000; }

.kb-card__form { height: 100%; width: 100%; margin: 0 !important; }
.kb-card__btn,
.kb-card__btn--link {
  width: 100%; height: 100%;
      font-size: small;
      font-family: FTRegolaNeue-Regular;
      text-align: center;

  margin: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}

/* Default (desktop/tablet) */
.kb-card {
  padding-bottom: 60px;
}

/* Mobile override */
@media screen and (max-width: 749px) {
  .kb-card {
    padding-bottom: 30px !important; /* force override */
  }
}
.slider-counter {
  font-family:FTRegolaNeue-Light;
}

.title-wrapper {text-align:center;}

/* KOSME — Full-width borders for section titles (like Best Sellers) */
.video-section .title-wrapper {
  position: relative;
  z-index: 2;
  background: #fff;     /* mask product card edges behind */
  border: 0 !important; /* remove native border */
}

.video-section .title-wrapper::before,
.video-section .title-wrapper::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;         /* span full width of viewport */
  height: 2px;
  background: #000;
}

.video-section .title-wrapper::before { top: 0; }
.video-section .title-wrapper::after  { bottom: 0; }

@media screen and (max-width: 749px) {
    .banner:not(.banner--stacked) {
        flex-direction: row;
        flex-wrap: wrap;
        height: 50rem;
    }
}

/* KOSME — Best Sellers slider fixes (stable, not tied to a specific theme duplicate) */
@media (max-width: 749px) {
  .featured-collection__section .product-grid,
  #featured_collection .product-grid {
    overflow-y: visible !important;
    overflow-x: auto !important;
    padding-bottom: 48px !important;
    margin-bottom: 0 !important;
    height: auto !important;
    box-sizing: content-box !important;
  }
}
@media (max-width: 749px) {
.collection .slider--tablet.product-grid {
   overflow-y: visible !important;
    overflow-x: auto !important;
    padding-bottom: 48px !important;
    margin-bottom: 0 !important;
    height: auto !important;
    box-sizing: content-box !important;
  }
}


/*Visit Us Page*/
/* layout */
.visitus_gridcontainer {
  display: grid;
  grid-template-columns: 1fr 0.5fr;
}
.visitus_col1 {
  padding: 2rem;
  margin-right: 2rem;
  margin-left: 10rem;
  border: 2px solid #000;
}
.visitheader { padding-left: 2rem; }
.visitus_col2 {
  display: inline-block;
  border: 2px solid #000;
  margin-right: 10rem;
  padding-left: 2rem;
  line-height: 20px;
}
/* fix the class name: it's .visitusmap in your HTML */
.visitusmap { text-align: center; }
.visitus_image { padding-top: 2rem; }

/* responsive */
@media (max-width: 768px) {
.visitus_gridcontainer { grid-template-columns: 1fr; }
.visitus_col1 { margin-left: 2rem; margin-bottom: 2rem; }
.visitus_col2 { margin-right: 2rem; margin-left: 2rem; }
}

@media (max-width: 749px) {
 .kb-card__price, .kb-card__cta {
  z-index: 3 !important;
 }

.smt-plain-text{
 font-family: 'FTRegolaNeue-Light';}}
 /* Kosmé Academy — Tevello members area override */
main#MainContent .courses-title,
main#MainContent .communities-title {
  font-family: 'FTRegolaNeue-Regular', sans-serif !important;
  color: #651D12 !important;
  font-weight: 500 !important;
}

main#MainContent .tw-card {
  background-color: #F9EEE5 !important;
  border-color: #651D12 !important;
  box-shadow: none !important;
}

main#MainContent .tw-card-title {
  font-family: 'FTRegolaNeue-Regular', sans-serif !important;
  color: #651D12 !important;
}

main#MainContent .tw-progress {
  background-color: #F9EEE5 !important;
}
main#MainContent .tw-progress::-webkit-progress-bar {
  background-color: #F9EEE5 !important;
}
main#MainContent .tw-progress-primary::-webkit-progress-value {
  background-color: #651D12 !important;
}
main#MainContent .tw-progress-primary::-moz-progress-bar {
  background-color: #651D12 !important;
}

main#MainContent .tw-text-primary,
main#MainContent .tw-percentage {
  color: #651D12 !important;
  font-family: 'FTRegolaNeue-Regular', sans-serif !important;
}

/* Academy members page — header override, scoped so it never touches the main site header */
body.is-academy-members .header,
body.is-academy-members .header-group,
body.is-academy-members header {
  background-color: #F9EEE5 !important;
}
body.is-academy-members .header * {
  color: #651D12 !important;
      background-color: #F9EEE5;

}

 main#MainContent .tw-card figure,
main#MainContent .tw-card .tw-bg-white {
  background-color: #F9EEE5 !important;
}
body.is-academy-members .header__submenu,
body.is-academy-members .list-menu--disclosure {
  background-color: #F9EEE5 !important;
}
body.is-academy-members .header__submenu a,
body.is-academy-members .header__menu-item:hover {
  color: #651D12 !important;
      background-color: #F9EEE5;

}
main#MainContent .tw-card figure,
main#MainContent .tw-card .tw-bg-white {
  background-color: #F9EEE5 !important;
}
body.is-academy-members .header__submenu,
body.is-academy-members .list-menu--disclosure {
  background-color: #F9EEE5 !important;
}
body.is-academy-members .header__submenu a,
body.is-academy-members .header__menu-item:hover {
  color: #651D12 !important;
      background-color: #F9EEE5;

}
body.is-academy-members .announcement-bar,
body.is-academy-members .shopify-section[id*="announcement-bar"] {
  display: none !important;
}

#downpay-block .purchase-option-input {
  display: flex;
  flex-wrap: wrap;
}

#downpay-block .deposit-option-label {
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
  min-width: 0;
  flex: 1 1 auto;
}

#downpay-block input[type="radio"] {
  flex-shrink: 0;
}
