/** Shopify CDN: Minification failed

Line 950:17 Unexpected "__container"
Line 960:19 Unexpected "__container"

**/
:root {
  --grey: #F2F1ED;
  --grey-2: #969696;
  --charcoal: #252525;
  --blue: #2b3990;
  --white: #FFF;
  --page-width: 1600px;
  
  /* ========================================
     DUKES TYPOGRAPHY SYSTEM - Figma Specs
     ======================================== */
  
  /* Desktop Typography */
  --h1-size: 6rem;
  --h1-line-height: 1;
  --h1-letter-spacing: -2px;
  
  --h2-size: 3rem;
  --h2-line-height: 1.3;
  --h2-letter-spacing: -0.28px;
  
  --h2-bold-size: 2.25rem;
  --h2-bold-line-height: 1.2;
  --h2-bold-letter-spacing: -0.56px;
  
  --h3-size: 2.25rem;
  --h3-line-height: 1.2;
  --h3-letter-spacing: -0.56px;
  
  --p-size: 18px;
  --p-line-height: 1.2;
  --p-letter-spacing: -0.28px;
  
  --small-detail-size: 14px;
  --small-detail-line-height: 18.2px;
  --small-detail-letter-spacing: -0.28px;
  
  --nav-size: 15px;
  --nav-line-height: 1;
  --nav-letter-spacing: -0.28px;
  
  --link-button-size: 12px;
  --link-button-line-height: 16px;
  --link-button-letter-spacing: 0.05px;
  
  --product-title-size: 30px;
  --product-title-line-height: 1.3;
  --product-title-letter-spacing: -1px;
  
  /* Mobile Typography */
  --h2-size-mobile: 26px;
  --h3-size-mobile: 18px;
  --p-size-mobile: 14px;
}

/* ========================================
   DUKES GLOBAL TYPOGRAPHY CLASSES
   ======================================== */

.dukes-h1 {
  font-family: 'Untitled Serif', serif;
  font-size: var(--h1-size);
  line-height: var(--h1-line-height);
  letter-spacing: var(--h1-letter-spacing);
  font-weight: 400;
}

.dukes-h2 {
  font-family: 'Untitled Serif', serif;
  font-size: var(--h2-size);
  line-height: var(--h2-line-height);
  letter-spacing: var(--h2-letter-spacing);
  font-weight: 400;
}

.dukes-h2-bold {
  font-family: 'GT America', sans-serif;
  font-size: var(--h2-bold-size);
  line-height: var(--h2-bold-line-height);
  letter-spacing: var(--h2-bold-letter-spacing);
  font-weight: 500;
}

.dukes-h3 {
  font-family: 'GT America', sans-serif;
  font-size: var(--h3-size);
  line-height: var(--h3-line-height);
  letter-spacing: var(--h3-letter-spacing);
  font-weight: 400;
}

.dukes-p {
  font-family: 'GT America', sans-serif;
  font-size: var(--p-size);
  line-height: var(--p-line-height);
  letter-spacing: var(--p-letter-spacing);
  font-weight: 400;
}

.dukes-small {
  font-family: 'GT America', sans-serif;
  font-size: var(--small-detail-size);
  line-height: var(--small-detail-line-height);
  letter-spacing: var(--small-detail-letter-spacing);
  font-weight: 400;
}

.dukes-nav {
  font-family: 'GT America', sans-serif;
  font-size: var(--nav-size);
  line-height: var(--nav-line-height);
  letter-spacing: var(--nav-letter-spacing);
  font-weight: 400;
}

.dukes-link-button {
  font-family: 'Helvetica Neue', sans-serif;
  font-size: var(--link-button-size);
  line-height: var(--link-button-line-height);
  letter-spacing: var(--link-button-letter-spacing);
  font-weight: 500;
  text-transform: uppercase;
}

.dukes-product-title {
  font-family: 'Untitled Serif', serif;
  font-size: var(--product-title-size);
  line-height: var(--product-title-line-height);
  letter-spacing: var(--product-title-letter-spacing);
  font-weight: 400;
}

/* Mobile Typography Adjustments */
@media screen and (max-width: 749px) {
  .dukes-h2 {
    font-size: var(--h2-size-mobile);
  }
  
  .dukes-h3 {
    font-size: var(--h3-size-mobile);
  }
  
  .dukes-p {
    font-size: var(--p-size-mobile);
  }
}

/* ========================================
   DUKES HERO/BANNER - Full Viewport Height
   ======================================== */

/* Banner/Slideshow full viewport height option */
.banner--full-height,
.slideshow.banner--full-height {
  min-height: 100vh;
  min-height: 100dvh; /* Dynamic viewport height for mobile */
}

/* Account for header height (40px utility + 80px header = 120px) */
@media screen and (min-width: 990px) {
  .banner--full-height,
  .slideshow.banner--full-height {
    min-height: calc(100vh - 120px);
    min-height: calc(100dvh - 120px);
  }
}

/* Mobile: only header height (50px) */
@media screen and (max-width: 989px) {
  .banner--full-height,
  .slideshow.banner--full-height {
    min-height: calc(100vh - 50px);
    min-height: calc(100dvh - 50px);
  }
}

/* Ensure media fills the container */
.banner--full-height .banner__media,
.slideshow.banner--full-height .slideshow__media {
  height: 100%;
}

.banner--full-height .banner__media img,
.slideshow.banner--full-height .slideshow__media img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

@media screen and (min-width: 990px) {
  .header.header--middle-left {
      grid-template-columns: 160px 1fr 160px;
  }

  .header .header__inline-menu {
    text-align: center;
  }
}

.announcement-bar__message {
  font-size: 1.5rem;
}

@media (hover: hover) {

  .header .list-menu:hover a {
    color: var(--grey-2);
  }

  .header .list-menu .list-menu__item:hover {
    color: var(--charcoal);
  }

}

.header .list-menu__item {
  color: var(--charcoal);
  transition: color 0.5s;
}

.header .list-menu {
  justify-content: center;
}

@media (min-width: 769px) {
  .header .list-menu li {
    padding: 3px 18px;
  }

  .header .list-menu li a {
    padding: 0;
  }
}

.header .list-menu .header__active-menu-item {
  text-decoration: none;
  color: var(--charcoal);
}

.header .header__menu-item:hover span {
  text-decoration: none;
}

.featured-product {
  position: relative;
  justify-content: center;
}

.section-featured-product {
  position: relative;
  border-bottom: 1px solid var(--grey);
}

.shopify-section.section {
    margin: 0;
}

.badge.price__badge-sale.color-accent-1{
  display:none;
}

.badge.price__badge-sale.color-scheme-5 {
  display: none !important;
}

@media screen and (min-width: 750px) {
  .featured-product .product__media-list{
    max-width: 520px !important;
    margin:0 auto !important;
  }
  .featured-product::before {
    content: '';
    top: 0;
    bottom: 0;
    position: absolute;
    width: 1px;
    background-color: var(--grey);
    left: 50%;
  }

  /* .product__info-wrapper.grid__item{
    border-left: 1px solid var(--grey);
  } */
}

/* @media screen and (min-width: 990px) {
  .featured-product::before {
    left: 60%;
  }
  
  .featured-product .product__media-wrapper {
    width: 60% !important;
    max-width: 60% !important;
  }
  
  .featured-product .product__info-wrapper {
    width: 40% !important;
    max-width: 40% !important;
  }
} */

.product.grid {
  align-items: center;
}

.product .product__title {
  font-size: 3rem;
  margin-bottom: 1.5rem;
}

.product .product__text {
  font-family: var(--font-alt-family);
  font-weight: var(--font-alt-weight);
  margin: 0;
  color:#252525;
  line-height: 1.4;
}

.product .price {
  font-size: 2.2rem;
}

body .product .product-form__input input[type=radio]+label,
body .product .product-form__select {
  background: none;
  border: none;
  color: var(--grey-2);
  font-size: 2.2rem;
  padding: 0;
  margin-right: 10%;
  letter-spacing: inherit;
  transition: color 0.25s;
}

@media (max-width: 989px) {
  body .product .product-form__input input[type=radio]+label,
  body .product .product-form__select {
    margin-right: 1rem;
  }
}

body .product .product-form__select {
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  appearance: none;
  -webkit-appearance: none;
}

body .product .product-form__input input[type=radio]:checked+label,
body .product .product-form__select {
  color: var(--charcoal);
}

@media (hover: hover) {
  body .product .product-form__input input[type=radio]+label:hover {
    color: var(--charcoal);
  }
}

body .product .form__label {
  color: var(--charcoal);
}

body .product form {
  display: flex;
  flex-wrap: wrap;
}

body .product .product-form__element {
  margin-right: 15%;
  position: relative;
  width: fit-content;
}

@media (max-width: 989px) {
  body .product .product-form__element {
    margin-right: 10%;
  }
}

body .product .product-form__bottom {
  width: 100%;
  display: flex;
  margin-top: 2rem;
  align-items: center;
}

@media (max-width: 1100px) {
  body .product .product-form__bottom {
    display: block;
  }
}

body .product .product-form__input {
  max-width: 100%;
}

body .product .price .badge, body .product .price__container {
  margin-bottom: 0;
}

.select-element-container {
  position: relative;
  display: flex;
  align-items: center;
  gap:10px;
}

.product-form__select {
  outline: none;
  box-shadow:none;
  margin:0 !important;
}

.product-form__select option {
  font-weight:400;
  font-size:16px;
}

body .product__info-container .product-form,
body .product__info-container .product__description,
body .product__info-container .icon-with-text {
  margin-block: 1.5rem;
}

body .button.product-form__submit {
  background: var(--blue);
  border-radius: 1rem;
  color: var(--white);
  letter-spacing: inherit;
  transition: all 0.25s;
  border: 1px solid var(--blue);
  margin: 0;
}

.image-with-text .button {
  background: transparent;
  border: 1px solid white;
  border-radius: 0px;
  color: #eeeeee;
  font-family: 'GT America', 'Untitled serif', serif;
  font-weight: 400;
  font-size: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  transition: padding 0.3s ease; /* Smooth transition for gap */
}

.image-with-text .button .button-arrow {
  transition: transform 0.3s ease; /* Smooth transition for arrow */
}

.image-with-text .button:hover .button-arrow {
  transform: translateX(10px);
  padding: 0 0 0 10px;
}
.image-with-text .hover{
  background:white;
  color:#103193;
  border-color:#103193;
}

body .button:after,
body .button:before {
  content: none;
}

body .shopify-payment-button__button {
  background: var(--grey-2) !important;
  border-radius: 1rem !important;
  color: var(--white) !important;
  letter-spacing: inherit;
  transition: all 0.25s;
  border: 1px solid var(--grey-2) !important;
  margin: 0;
  font-weight: normal !important;
}

body .shopify-payment-button__button::before,
body .shopify-payment-button__button::after {
  content: none !important;
}

/*changes made by nirajan
body .product .button:not(disabled),
body .shopify-payment-button__button {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='8' viewBox='0 0 13 8' fill='none'%3E%3Cpath fill='%23FFF' d='M12.122 4.354a.5.5 0 0 0 0-.708L8.94.464a.5.5 0 0 0-.707.708L11.06 4 8.233 6.828a.5.5 0 1 0 .707.708l3.182-3.182ZM0 4.5h11.768v-1H0v1Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.5rem center;
} */

/* .image-with-text .button {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='8' viewBox='0 0 13 8' fill='none'%3E%3Cpath fill='%23FFF' d='M12.122 4.354a.5.5 0 0 0 0-.708L8.94.464a.5.5 0 0 0-.707.708L11.06 4 8.233 6.828a.5.5 0 1 0 .707.708l3.182-3.182ZM0 4.5h11.768v-1H0v1Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.5rem center;
}

.image-with-text .button:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='8' viewBox='0 0 13 8' fill='none'%3E%3Cpath fill='%232b3990' d='M12.122 4.354a.5.5 0 0 0 0-.708L8.94.464a.5.5 0 0 0-.707.708L11.06 4 8.233 6.828a.5.5 0 1 0 .707.708l3.182-3.182ZM0 4.5h11.768v-1H0v1Z'/%3E%3C/svg%3E");
    background-position: right 1rem center;
  } */
/* Promo Banner */

.rc_gifting_container .field:after{
  border:none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline:none !important;
}

.rc_gifting_container .field__input{
  border-bottom: 1px solid black;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline:none !important;
}


.product-form__bottom{
  position:relative;
}

#shopify-buyer-consent {
    position: absolute;
    font-size: 10px;
    left: 0;
}

.image-with-text__media {
  position: relative; /* Required for absolute positioning */
}

.promo-banner {
  position: absolute !important;
  top: 35px !important;
  left: 35px !important;
  display: none !important;
  width: 110px !important;
  height:110px !important;
  font-size: 11px;
  background: #103193;
  border-radius: 100%;
  padding: 8px;
  z-index: 2;
  text-align:center;
  font-family: 'GT America';
  color: #eeeeee;
  line-height: 1.3;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
.promo-banner p{
  margin:0;
}

/* Repeaters Grid */
.repeaters-row {
  display: flex;
  flex-direction:column;
  gap: 20px; /* Spacing between columns */
  margin: 30px 0;
}

.repeater-item {
  text-align: left;
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:12px;
  font-family:'GT America';
}

.repeater-icon {
  width: 52px;
  height: 52px;
  object-fit: contain;
}

.repeater-text {
  margin: 0;
  font-size: 14px;
  color: #eeeeee;
}

/* Content Box */
.content-box {
  margin: 20px 0;
}

.image-with-text__text-item .image-with-text__content {
  display: flex;
  justify-content: space-between;
  color: #dddddd;
  font-family: "Untitled serif", serif;
  line-height: 1.3;
}

.image-with-text h2 {
  color: white;
  line-height:1.3;
}

.product .product__title {
  font-size:25px;
}

@media screen and (min-width: 750px) {
  .promo-banner{
    display:flex !important;
  }
  .image-with-text__text-item .image-with-text__content {
    padding: 35px;
  }
  .image-with-text h2 {
    width: 308px;
  }
  .image-with-text .image-with-text__text {
    width: 93%;
  }
  .product .product__title {
    font-weight:normal;
    font-size: 3rem;
  }
  .repeaters-row {
    margin:0;
  }
  .content-box{
    display:flex;
    flex-direction:column;
    gap:4rem;
  }
  .image-with-text .button {
  width: fit-content;
  }
}

@media screen and (min-width: 775px){
  #shopify-buyer-consent {
    margin-top:0.4rem !important;
    font-size: 11px;
  }
}

@media screen and (min-width: 950px) {
.repeaters-row {
    flex-direction:row;
  }
}

@media screen and (min-width: 989px){
  .image-with-text__text-item .image-with-text__content {
    padding: 54px;
  }
}

@media screen and (min-width: 1250px) {
   #shopify-buyer-consent{
     margin-top: 1rem;
    font-size: 14px !important;
  }
  .promo-banner{
    display: flex !important;
    width: 156px !important;
    height:156px !important;
    font-size: 14px;
  }
  .image-with-text__text-item .image-with-text__content {
    font-size:18px;
  }
  .image-with-text h2 {
    width: 400px;
    font-size: 3rem;
  }
  .image-with-text__text .image-with-text__text {
    width: 100%;
  }
  .product .product__text {
    font-size:18px;
    max-width:508px;
  }
  .grid__item.product__media-wrapper{
    padding-block:70px;
  }
}

@media (hover: hover) {
  body .product .button:hover,
  body .button:hover {
    color: var(--blue);
    background-color: var(--white);
  }
  
  /* body .product .button:hover,
  .shopify-payment-button__button:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='8' viewBox='0 0 13 8' fill='none'%3E%3Cpath fill='%232b3990' d='M12.122 4.354a.5.5 0 0 0 0-.708L8.94.464a.5.5 0 0 0-.707.708L11.06 4 8.233 6.828a.5.5 0 1 0 .707.708l3.182-3.182ZM0 4.5h11.768v-1H0v1Z'/%3E%3C/svg%3E");
    background-position: right 1rem center;
  } */

  body .shopify-payment-button__button:hover {
    color: var(--grey-2) !important;
    background-color: var(--blue) !important;
  }
}

body .product .button::after,
body .quantity:before,
body .quantity:after {
  content: none;
}

body .product-form__buttons {
  max-width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

@media (max-width: 1100px) {
  body .product-form__buttons {
    margin-left: 0;
  }
}

@media (max-width: 989px) {
  body .product-form__buttons {
    margin: 1.5rem 0 0 0;
    grid-template-columns: 1fr;
  }
}

body .quantity {
  width: 7rem;
}

body .product .quantity .quantity__input,
body .product .quantity .quantity__button {
  font-size: 2.2rem;
}

body .quantity .quantity__button {
  width: auto;
}

body .shopify-payment-button__more-options {
  display: none;
}

.shopify-payment-button [role="button"] {
  border-radius: 1rem;
}

/* .product-form__input--grind {
  display: none;
} */

.cart-drawer .cart-item cart-remove-button {
  display: block;
}

.cart-drawer .cart-item__quantity .button {
  background: none;
  padding: 0 !important;
  color: inherit;
  border: none;
}

.image-with-text--image-size-full .image-with-text__media,
.image-with-text--image-size-full .image-with-text__media img {
  border-radius: 0 !important;
}

.image-with-text--image-size-full .image-with-text__content {
  max-width: 65rem;
}

@media screen and (max-width: 749px) {
  .image-with-text--image-size-full .image-with-text__content {
    padding-inline: 1.5rem;
  }
}

.rich-text__text {
  font-family: var(--font-alt-family);
  font-weight: var(--font-alt-weight);
  color: var(--charcoal);
}

.rich-text__text strong,
.rich-text__text b {
  font-weight: var(--font-alt-weight-bold);
}

undefined {
  display: none;
}

#buyer-consent {
  display: none;
}

buyer-consent {
  display: none;
}

select#delivery-select {
    position: relative !important;
    opacity: 1 !important;
}

/* =============================================
   NEW HEADER STYLES - Text-based Icons
   ============================================= */

/* Header icon text styling */
.header__icon-text {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0;
  text-decoration: none;
  color: var(--charcoal);
  transition: color 0.25s ease;
  white-space: nowrap;
}

.header__icon:hover .header__icon-text {
  color: var(--grey-2);
}

/* Header icons container - ensure proper spacing */
.header__icons {
  display: flex;
  align-items: center;
  gap: 3rem;
  flex-shrink: 0;
}

@media screen and (min-width: 990px) {
  .header__icons {
    gap: 4rem;
  }
}

/* Remove icon-specific padding for text links */
.header__icon--search,
.header__icon--account,
.header__icon--cart {
  padding: 0;
  display: flex;
  align-items: center;
}

/* Hide SVG icons in favor of text */
.header__icon .icon,
.header__icon svg {
  display: none;
}

/* Search modal toggle - ensure text shows */
.header__icon--search.modal__toggle {
  display: flex;
  align-items: center;
}

/* Currency/Country selector in header */
.header__localization {
  display: flex;
  align-items: center;
}

.header__localization .localization-form {
  margin: 0;
}

.header__localization .disclosure__button {
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--charcoal);
  padding: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  background: none;
  border: none;
  cursor: pointer;
  transition: color 0.25s ease;
}

.header__localization .disclosure__button:hover {
  color: var(--grey-2);
}

/* Simplified currency display - show just currency code */
.header__localization .disclosure__button span {
  display: inline-flex;
  align-items: center;
}

/* Caret icon for dropdown */
.header__localization .disclosure__button svg,
.header__localization .disclosure__button .icon-caret {
  display: inline-block;
  width: 1rem;
  height: 1rem;
}

/* Country selector dropdown positioning */
.header__localization .disclosure__list-wrapper {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 101;
  background: var(--white);
  border: 1px solid var(--grey);
  min-width: 200px;
  max-height: 300px;
  overflow-y: auto;
}

/* Mobile adjustments */
@media screen and (max-width: 989px) {
  .header__localization {
    display: none;
  }
  
  .header__icons {
    gap: 2rem;
  }
  
  .header__icon-text {
    font-size: 1.3rem;
  }
}

/* =============================================
   DUKES GLOBAL CONTAINER PADDING RULE
   ============================================= */

/* Global rule: All Dukes sections should use full-width containers with 40px padding (desktop) and 16px (mobile) */
/* This ensures consistent page margins across all custom sections */
[class*="dukes-"]__container,
[class*="dukes-"]__wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 40px !important;
  box-sizing: border-box;
}

@media screen and (max-width: 749px) {
  [class*="dukes-"]__container,
  [class*="dukes-"]__wrapper {
    padding: 0 16px !important;
  }
}