/* Mosbeau Responsive V2 — consolidated responsive layer */
:root {
  --v2-gold: #c58a06;
  --v2-dark: #30363c;
  --v2-text: #252525;
  --v2-muted: #6a6a6a;
  --v2-line: #e7e4de;
  --v2-bg: #fff;
  --v2-soft: #f7f7f6;
  --v2-radius: 8px;
  --v2-width: 1280px;
  --v2-max: 1368px;
  --v2-pad: clamp(16px, 3vw, 40px);
}

html { box-sizing: border-box; overflow-x: hidden; -webkit-text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: inherit; }

body.responsive-v2 {
  min-width: 0;
  margin: 0;
  overflow-x: hidden;
  background: var(--v2-bg);
  color: var(--v2-text);
  font-size: 16px;
  line-height: 1.5;
}

body.responsive-v2 img,
body.responsive-v2 video,
body.responsive-v2 iframe { max-width: 100%; height: auto; }
body.responsive-v2 a { color: inherit; }
body.responsive-v2 a:focus-visible,
body.responsive-v2 button:focus-visible,
body.responsive-v2 input:focus-visible,
body.responsive-v2 select:focus-visible,
body.responsive-v2 textarea:focus-visible { outline: 3px solid rgba(197,138,6,.35); outline-offset: 2px; }

body.responsive-v2 .wrapper,
body.responsive-v2 .centerColumn,
body.responsive-v2 #contentMainWrapper,
body.responsive-v2 .content-wrapper {
  width: min(100%, var(--v2-width));
  min-width: 0;
  margin-inline: auto;
}

body.responsive-v2:not(#indexHomeBody) .centerColumn {
  padding: clamp(26px, 5vw, 70px) var(--v2-pad);
}

/* top utility bar */
body.responsive-v2 #header.navbar {
  min-height: 82px;
  height: auto;
  padding: 12px max(var(--v2-pad), calc((100vw - var(--v2-width))/2 + 20px));
  background: var(--v2-dark) !important;
  color: #fff;
}
body.responsive-v2 #header #nav-left,
body.responsive-v2 #header #nav-right { min-width: 0; }
body.responsive-v2 #header #nav-right { margin-left: auto; }
body.responsive-v2 #header input[type="text"] { max-width: 220px; }
body.responsive-v2 #header #toggle-toggler { display: none; }
body.responsive-v2 #header .logo { display: none; }
body.responsive-v2 #header a,
body.responsive-v2 #header svg,
body.responsive-v2 #header i { color: #fff; }

/* logo and primary navigation */
body.responsive-v2 #float-nav {
  position: static;
  top: auto;
  left: auto;
  width: 100%;
  z-index: 5;
  padding-block: 22px;
  background: #fff;
}
body.responsive-v2 #float-nav > .wrapper {
  display: flex;
  align-items: center;
  min-height: 76px;
  padding-inline: var(--v2-pad);
}
body.responsive-v2 #float-nav img[src*="logo"] {
  display: block;
  width: clamp(210px, 24vw, 330px);
}
body.responsive-v2 #float-nav #float-links {
  position: static;
  float: none;
  width: auto;
  height: auto;
  margin-left: auto;
}
body.responsive-v2 #float-nav #float-links ul {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.5vw, 38px);
  margin: 0;
  padding: 0;
  list-style: none;
}
body.responsive-v2 #float-nav #float-links li { float: none; margin: 0; }
body.responsive-v2 #float-nav #float-links a { font-size: 15px; font-weight: 600; white-space: nowrap; }

/* country and language controls */
body.responsive-v2 .dd_holder { max-width: 100%; }
body.responsive-v2 #lang_dd {
  display: flex;
  justify-content: flex-end;
  margin: 0 auto 28px;
  padding-inline: var(--v2-pad);
  text-align: left;
}
body.responsive-v2 #lang_dd #lang_pos {
  display: flex;
  float: none;
  width: auto;
  max-width: 100%;
  gap: 8px;
}
body.responsive-v2 #lang_dd .dd_holder { float: none; margin: 0; }
body.responsive-v2 #lang_dd #set_country { width: min(377px, 38vw) !important; }
body.responsive-v2 #lang_dd #lang { width: min(155px, 18vw) !important; }
body.responsive-v2 #pwa > br { display: none; }
body.responsive-v2 select,
body.responsive-v2 input[type="text"],
body.responsive-v2 input[type="email"],
body.responsive-v2 input[type="password"],
body.responsive-v2 input[type="tel"],
body.responsive-v2 input[type="number"],
body.responsive-v2 textarea {
  max-width: 100%;
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid #d7d3cc;
  border-radius: 6px;
  background: #fff;
  color: var(--v2-text);
  font: inherit;
}
body.responsive-v2 textarea { width: 100%; min-height: 120px; resize: vertical; }

/* homepage product stories */
body.responsive-v2#indexHomeBody > section { min-height: 0; height: auto; }
body.responsive-v2 #pwa,
body.responsive-v2 #multi20,
body.responsive-v2 #collagen,
body.responsive-v2 #placolla,
body.responsive-v2 #sunfade,
body.responsive-v2 #omegacollagen,
body.responsive-v2 #aojiru-collagen,
body.responsive-v2 #premiumcream {
  min-height: 0;
  padding: clamp(44px, 6vw, 86px) 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
body.responsive-v2 #pwa,
body.responsive-v2 #multi20 { padding-top: 0; }
body.responsive-v2 #pwa > .wrapper,
body.responsive-v2 #multi20 > .wrapper,
body.responsive-v2 #collagen > .wrapper,
body.responsive-v2 #placolla > .wrapper,
body.responsive-v2 #sunfade > .wrapper,
body.responsive-v2 #omegacollagen > .wrapper,
body.responsive-v2 #aojiru-collagen > .wrapper,
body.responsive-v2 #premiumcream > .wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(30px, 5vw, 76px);
  padding-inline: var(--v2-pad);
}
body.responsive-v2 #pwa > .wrapper > #left { grid-column: 1; grid-row: 1; }
body.responsive-v2 #pwa > .wrapper > #right { grid-column: 2; grid-row: 1; }
body.responsive-v2 #multi20 > .wrapper > #left { grid-column: 1; grid-row: 1; }
body.responsive-v2 #multi20 > .wrapper > #right { grid-column: 2; grid-row: 1; }
body.responsive-v2 #pwa > .wrapper > #left,
body.responsive-v2 #pwa > .wrapper > #right,
body.responsive-v2 #multi20 > .wrapper > #left,
body.responsive-v2 #multi20 > .wrapper > #right,
body.responsive-v2 #collagen > .wrapper > .left,
body.responsive-v2 #collagen > .wrapper > .right,
body.responsive-v2 #placolla > .wrapper > .left,
body.responsive-v2 #placolla > .wrapper > .right,
body.responsive-v2 #sunfade > .wrapper > .left,
body.responsive-v2 #sunfade > .wrapper > .right,
body.responsive-v2 #omegacollagen > .wrapper > .left,
body.responsive-v2 #omegacollagen > .wrapper > .right,
body.responsive-v2 #aojiru-collagen > .wrapper > .left,
body.responsive-v2 #aojiru-collagen > .wrapper > .right,
body.responsive-v2 #premiumcream > .wrapper > .left,
body.responsive-v2 #premiumcream > .wrapper > .right {
  position: static !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.responsive-v2#indexHomeBody .break { display: none; }
body.responsive-v2#indexHomeBody .isMobile { display: none !important; }
body.responsive-v2#indexHomeBody .isWeb { display: block !important; }

body.responsive-v2#indexHomeBody #multi20 { background-position: center bottom; }
body.responsive-v2#indexHomeBody #multi20 #left p.title {
  color: #bd2c60;
  font-weight: 700;
  text-transform: uppercase;
}
body.responsive-v2#indexHomeBody #multi20 #left p.sub {
  color: #111;
  font-weight: 400;
}
body.responsive-v2#indexHomeBody #multi20 #left > p:not(.title):not(.sub):not(.made) {
  color: #282828;
  line-height: 1.55;
}
body.responsive-v2#indexHomeBody #multi20 #left p.made { color: #ef312d; }
body.responsive-v2#indexHomeBody #multi20 .multi20-info {
  width: 100%;
  max-width: 520px;
  max-height: none;
  margin: 22px 0 26px;
}

/* Homepage depth and reveal motion. JavaScript only adds the ready class after
   the sections are initialized, so content stays visible without JavaScript. */
body.responsive-v2#indexHomeBody.home-parallax-ready .home-parallax-section {
  background-position: center calc(50% + var(--home-parallax-bg-y, 0px));
}

body.responsive-v2#indexHomeBody.home-parallax-ready .home-parallax-artwork {
  translate: 0 var(--home-parallax-art-y, 0px);
  will-change: translate;
}

body.responsive-v2#indexHomeBody.home-parallax-ready .home-parallax-section > .wrapper {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity .75s ease, transform .85s cubic-bezier(.2,.7,.2,1);
}

body.responsive-v2#indexHomeBody.home-parallax-ready .home-parallax-section.is-in-view > .wrapper {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  body.responsive-v2#indexHomeBody.home-parallax-ready .home-parallax-section,
  body.responsive-v2#indexHomeBody.home-parallax-ready .home-parallax-artwork,
  body.responsive-v2#indexHomeBody.home-parallax-ready .home-parallax-section > .wrapper {
    transition: none !important;
    transform: none !important;
    translate: none !important;
    background-position: center !important;
  }

  body.responsive-v2#indexHomeBody.home-parallax-ready .home-parallax-section > .wrapper {
    opacity: 1;
  }
}

/* Compact desktop/tablet browsers can expose the page background between two
   consecutive story sections. Slightly overlap their background edges so the
   transition remains continuous while the parallax artwork is moving. */
@media (max-width: 1199.98px) {
  body.responsive-v2#indexHomeBody :is(#multi20,#pwa,#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body.responsive-v2#indexHomeBody :is(#multi20,#pwa,#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream)
  + :is(#multi20,#pwa,#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) {
    margin-top: clamp(-30px, -2.4vw, -18px) !important;
  }
}
body.responsive-v2 #pwa #pwa { display: block !important; }
body.responsive-v2 #pwa #pwa-mobile { display: none !important; }
body.responsive-v2#indexHomeBody section img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: min(62vw, 720px);
  margin-inline: auto;
  object-fit: contain;
}
body.responsive-v2#indexHomeBody section p { max-width: 610px; font-size: clamp(16px, 1.35vw, 20px); }
body.responsive-v2#indexHomeBody section p.title { font-size: clamp(32px, 4vw, 56px) !important; line-height: 1.08 !important; }
body.responsive-v2#indexHomeBody section p.sub { font-size: clamp(24px, 2.5vw, 36px) !important; line-height: 1.2 !important; }
body.responsive-v2#indexHomeBody section p.made { margin-top: 20px; font-weight: 700; }
body.responsive-v2#indexHomeBody .btn-pink { min-height: 44px; padding: 10px 22px; border-radius: 6px; }

body.responsive-v2 #download {
  min-height: 0 !important;
  height: auto !important;
  padding: clamp(38px, 5vw, 64px) var(--v2-pad) !important;
}
body.responsive-v2 #download #mobile { display: none !important; }
body.responsive-v2 #download #web { display: block !important; }
body.responsive-v2 #download .wrapper { width: min(100%, 1040px); }
body.responsive-v2 #download #shop-earn { width: min(100%, 700px); max-height: none; }
body.responsive-v2 #download iframe {
  display: block;
  width: min(100%, 680px);
  aspect-ratio: 16 / 9;
  height: auto;
  margin: clamp(24px, 4vw, 42px) auto !important;
}
body.responsive-v2 #download .app-download-panel { width: min(100%, 720px); margin: 36px auto 0; text-align: center; }
body.responsive-v2 #download .app-download-panel h1 { margin: 0 0 6px; font-size: clamp(24px, 2.5vw, 34px); }
body.responsive-v2 #download .app-download-panel p.sub { margin: 0; font-size: clamp(16px, 1.6vw, 21px) !important; }
body.responsive-v2 #download .app-download-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; gap: 24px; margin-top: 22px; }
body.responsive-v2 #download .app-download-links img { width: auto; max-width: 185px; max-height: 64px; margin-inline: auto; }
body.responsive-v2 #download .app-download-links .app-download-qr { width: 125px; max-height: 125px; }
body.responsive-v2 .brandlogos,
body.responsive-v2 .marketplace-section { min-height: 0; height: auto; }
body.responsive-v2 .brandlogos { padding: clamp(28px, 4vw, 52px) 0 clamp(24px, 3vw, 42px); }
body.responsive-v2 .brandlogos .wrapper { padding-inline: var(--v2-pad); }
body.responsive-v2 .brandlogos .section-divider { width: 100%; margin-bottom: clamp(26px, 4vw, 46px); border-top: 1px solid #d7d7d7; }
body.responsive-v2 .brandlogos h1 { margin: 0 0 22px; }
body.responsive-v2 .brandlogos #web > img,
body.responsive-v2 .brandlogos #mobile > img { width: min(100%, 860px); max-height: none; margin: 0 auto 12px !important; }
body.responsive-v2 .brandlogos .btn-pink { margin-top: 4px; }
body.responsive-v2 .marketplace-section { padding: clamp(22px, 3vw, 38px) var(--v2-pad); }
body.responsive-v2 .marketplace-section .container { width: min(100%, 1060px); margin-inline: auto; padding: 0; }
body.responsive-v2 .marketplace-section .marketplace-title { margin: 0 0 24px; text-align: center; }
body.responsive-v2 .marketplace-section .row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(18px, 3vw, 34px); }
body.responsive-v2 .marketplace-section [class*="col-"] {
  float: none;
  flex: none;
  width: 100% !important;
  max-width: none !important;
  padding: 0;
}
body.responsive-v2 .marketplace-logo-box { display: grid; place-items: center; height: 104px; overflow: hidden; border-radius: 0; background: transparent; }
body.responsive-v2 .marketplace-logo-box a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
body.responsive-v2 .marketplace-logo-box img {
  position: absolute;
  top: 50% !important;
  left: 50% !important;
  width: 230px !important;
  max-width: none !important;
  max-height: none;
  transform: translate(-50%, -50%) !important;
  object-fit: contain;
}
body.responsive-v2 .marketplace-logo-box.tiktok-logo img { width: 185px !important; }

/* shared content pages */
body.responsive-v2 h1 { font-size: clamp(28px, 3vw, 42px); line-height: 1.15; }
body.responsive-v2 h2 { font-size: clamp(23px, 2.4vw, 34px); line-height: 1.2; }
body.responsive-v2 h3 { font-size: clamp(19px, 2vw, 27px); line-height: 1.25; }
body.responsive-v2 fieldset,
body.responsive-v2 .account-container,
body.responsive-v2 .checkout-container {
  min-width: 0;
  margin-bottom: 24px;
  padding: clamp(16px, 3vw, 28px);
  border: 1px solid var(--v2-line);
  border-radius: var(--v2-radius);
  background: #fff;
}
body.responsive-v2 legend { width: auto; padding-inline: 8px; font-size: 18px; font-weight: 700; }
body.responsive-v2 label { display: inline-block; margin-bottom: 5px; font-weight: 600; }
body.responsive-v2 button,
body.responsive-v2 input[type="button"],
body.responsive-v2 input[type="submit"],
body.responsive-v2 .button,
body.responsive-v2 .btn { min-height: 44px; max-width: 100%; padding: 10px 18px; white-space: normal; }

body.responsive-v2 .productListing-row,
body.responsive-v2 .centerBoxWrapper { min-width: 0; }

/* category banner and product cards */
body.responsive-v2 .poster {
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4200 / 1546;
  margin-bottom: clamp(36px, 6vw, 72px) !important;
  background-size: cover !important;
  background-position: center !important;
}
body.responsive-v2 .poster #mobile-banner { display: none; }
body.responsive-v2 #products-list { padding-bottom: clamp(40px, 7vw, 90px); }
body.responsive-v2 #products-list #product-listing { margin-bottom: 0; }
body.responsive-v2 #products-list #product-listing > .row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(22px, 3vw, 42px);
  align-items: stretch;
}
body.responsive-v2 #products-list #product-listing .listing {
  float: none;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(16px, 2vw, 24px);
  border: 0;
  border-radius: 0;
  background: #fff;
}
body.responsive-v2 #products-list #product-listing .productListing-data {
  width: 100%;
  height: auto !important;
  min-height: 0;
  padding: 5px 0;
  text-align: center;
}
body.responsive-v2 #products-list #product-listing .productListing-data img {
  display: block;
  width: min(100%, 230px) !important;
  height: 230px !important;
  margin: 0 auto 14px;
  object-fit: contain;
}
body.responsive-v2 #products-list #product-listing div.listing div.product-image {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center;
}
body.responsive-v2 #products-list #product-listing .product-image .image-holder {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: auto !important;
  min-height: 300px;
  text-align: center;
}
body.responsive-v2 #products-list #product-listing .product-image .image-holder > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
body.responsive-v2 #products-list #product-listing .product-image img {
  display: block;
  width: min(100%, 320px) !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain;
}
body.responsive-v2 #products-list #product-listing div.listing div.product-image div.image-holder img.img-fluid {
  margin: 0 auto !important;
}
body.responsive-v2 #products-list #product-listing .productListing-data a { overflow-wrap: anywhere; }
body.responsive-v2 #products-list #product-listing .product-name {
  margin-top: 8px;
  font-size: clamp(18px, 2vw, 25px);
  font-weight: 600;
  line-height: 1.25;
}
body.responsive-v2 #products-list #product-listing .product-includes,
body.responsive-v2 #products-list #product-listing .product-short-desc {
  margin-top: 12px;
  color: #333;
  font-size: clamp(14px, 1.3vw, 17px);
  line-height: 1.55;
}
body.responsive-v2 #products-list #product-listing .product-price {
  margin-top: 22px;
  font-size: clamp(27px, 3vw, 42px);
  font-weight: 700;
}
body.responsive-v2 #products-list #product-listing .product-more { margin-top: 22px; }
body.responsive-v2 #products-list #product-listing .product-more a { display: block; }
body.responsive-v2 #products-list #product-listing .btn-black,
body.responsive-v2 #products-list #product-listing .btn-white {
  width: min(100%, 310px);
  min-height: 52px;
  margin: 5px auto;
  border: 2px solid #000;
  border-radius: 8px;
  font-size: clamp(14px, 1.4vw, 19px);
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
}
body.responsive-v2 #products-list #product-listing .btn-black { color: #fff; background: #000; }
body.responsive-v2 #products-list #product-listing .btn-white { color: #000; background: #fff; }

/* footer */
body.responsive-v2 #footer {
  width: 100%;
  min-height: 0;
  height: auto;
  padding: clamp(42px, 6vw, 72px) 0 0;
  background: #171717;
  color: #fff;
}
body.responsive-v2 #footer > .wrapper {
  display: grid;
  grid-template-columns: minmax(220px, 1.25fr) repeat(3, minmax(150px, 1fr));
  gap: clamp(26px, 4vw, 58px);
  width: min(100%, var(--v2-max));
  margin: 0 auto;
  padding: 0 var(--v2-pad) clamp(38px, 5vw, 60px);
}
body.responsive-v2 #footer .column {
  float: none;
  width: auto;
  min-width: 0;
  margin: 0;
  color: #fff;
}
body.responsive-v2 #footer .column > a > img { display: block; width: min(100%, 230px); height: auto; }
body.responsive-v2 #footer #tagline { margin: 24px 0; line-height: 1.55; }
body.responsive-v2 #footer .title {
  margin: 0 0 18px;
  padding: 0 0 12px;
  border-bottom: 1px solid #777;
  font-size: 18px;
  font-weight: 700;
}
body.responsive-v2 #footer ul { margin: 0; padding: 0; list-style: none; }
body.responsive-v2 #footer li { margin: 0 0 8px; line-height: 1.35; }
body.responsive-v2 #footer a { color: #fff; }
body.responsive-v2 #footer #footer-call-now {
  position: static !important;
  margin-top: 24px;
  color: #fff !important;
  line-height: 1.55;
}
body.responsive-v2 #footer #download-app { margin-top: 22px; text-align: center; }
body.responsive-v2 #footer #app-qr { margin-bottom: 10px; line-height: 1.55; }
body.responsive-v2 #footer #app-qr img { width: 82px; height: auto; margin: 8px auto; }
body.responsive-v2 #footer #ios,
body.responsive-v2 #footer #android { float: none; display: block; margin: 7px 0; }
body.responsive-v2 #footer #ios img,
body.responsive-v2 #footer #android img { width: 145px; max-width: 100%; height: auto; margin-inline: auto; }
body.responsive-v2 #footer .break { display: none; }
body.responsive-v2 #footer #copyright {
  width: 100%;
  min-height: 0;
  padding: 26px var(--v2-pad);
  background: #050505;
  text-align: center;
}
body.responsive-v2:not(#indexHomeBody) .wrapper { padding-inline: var(--v2-pad); }
body.responsive-v2 #product-detail,
body.responsive-v2 #categories-navigation,
body.responsive-v2 #checkout-navigation { min-height: 0; padding-top: 0; }
body.responsive-v2 #product-detail > .wrapper,
body.responsive-v2 #categories-navigation > .wrapper,
body.responsive-v2 #checkout-navigation > .wrapper { padding-inline: var(--v2-pad); }
body.responsive-v2 #product-detail form {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(360px, 1.2fr) minmax(320px, 380px);
  grid-template-areas: "image description pricing";
  grid-template-rows: auto;
  align-items: start;
  column-gap: clamp(30px, 5vw, 70px);
  row-gap: 22px;
  width: 100%;
}
body.responsive-v2 #product-detail #product-image,
body.responsive-v2 #product-detail #product-desc {
  float: none;
  width: auto;
  max-width: 100%;
  margin: 0;
}
body.responsive-v2 #product-detail #product-image { grid-area: image; }
body.responsive-v2 #product-detail #product-desc,
body.responsive-v2 #product-detail #product-desc > .row { display: contents; }
body.responsive-v2 #product-detail #description { grid-area: description; }
body.responsive-v2 #product-detail #product-pricing { grid-area: pricing; }
body.responsive-v2 #product-detail #product-image img { max-height: 560px; }
body.responsive-v2 #product-detail #product-image {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  align-self: start;
}
body.responsive-v2 #product-detail #product-image #image-holder { width: 100%; text-align: center; }
body.responsive-v2 #product-detail #product-image img {
  display: block;
  width: min(100%, 520px);
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}
body.responsive-v2 #product-detail #description,
body.responsive-v2 #product-detail #product-pricing {
  float: none;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0;
  padding: 0;
}
body.responsive-v2 #product-detail #description { font-size: 16px; line-height: 1.6; }
body.responsive-v2 #product-detail #product-title { margin-bottom: 16px; font-size: clamp(27px, 3vw, 40px); line-height: 1.12; }
body.responsive-v2 #product-detail #product-content { font-size: clamp(19px, 2vw, 25px); line-height: 1.25; }
body.responsive-v2 #product-detail #product-social { margin-top: 28px; }
body.responsive-v2 #product-detail :is(#product-social, #product-social2) #share-product {
  margin: 0 0 12px;
  color: #303137;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
}
body.responsive-v2 #product-detail :is(#product-social, #product-social2) #share-icons {
  width: 100%;
  max-width: none;
}
body.responsive-v2 #product-detail :is(#product-social, #product-social2) #share-icons ul {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.responsive-v2 #product-detail :is(#product-social, #product-social2) #share-icons li {
  float: none;
  flex: 0 0 auto;
  margin: 0;
}
body.responsive-v2 #product-detail :is(#product-social, #product-social2) #share-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid #dedbd5;
  border-radius: 50%;
  background: #fff;
  color: #303137;
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  transition: color .15s ease, border-color .15s ease, background-color .15s ease, transform .15s ease;
}
body.responsive-v2 #product-detail :is(#product-social, #product-social2) #share-icons a:hover,
body.responsive-v2 #product-detail :is(#product-social, #product-social2) #share-icons a:focus-visible {
  transform: translateY(-2px);
  outline: none;
}
body.responsive-v2 #product-detail #share-icons a.social-facebook:hover { border-color: #1877f2; background: #1877f2; color: #fff; }
body.responsive-v2 #product-detail #share-icons a.social-twitter:hover { border-color: #1da1f2; background: #1da1f2; color: #fff; }
body.responsive-v2 #product-detail #share-icons a.social-instagram:hover { border-color: #c13584; background: #c13584; color: #fff; }
body.responsive-v2 #product-detail #share-icons a.social-youtube:hover { border-color: #f00; background: #f00; color: #fff; }
body.responsive-v2 #product-detail :is(#product-social, #product-social2) #share-icons .break,
body.responsive-v2 #product-detail :is(#product-social, #product-social2) #share-icons br { display: none; }
body.responsive-v2 #product-detail #product-copy-collapsible { position: relative; }
body.responsive-v2 #product-detail #product-copy-collapsible.is-collapsible {
  max-height: 280px;
  overflow: hidden;
}
body.responsive-v2 #product-detail #product-copy-collapsible.is-collapsible::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 72px;
  content: "";
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 85%);
}
body.responsive-v2 #product-detail #product-copy-collapsible.is-expanded { max-height: none; }
body.responsive-v2 #product-detail #product-copy-collapsible.is-expanded::after { display: none; }
body.responsive-v2 #product-detail #product-copy-toggle {
  display: none;
  min-height: 38px;
  margin: 10px 0 20px;
  padding: 7px 16px;
  border: 1px solid #c9a24d;
  border-radius: 999px;
  background: #fff;
  color: #8a6718;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
body.responsive-v2 #product-detail #product-copy-toggle.is-visible { display: inline-flex; align-items: center; justify-content: center; }
body.responsive-v2 #product-detail #product-pricing {
  justify-self: start;
  width: min(100%, 430px) !important;
  margin-top: 0;
  padding: clamp(17px, 2.5vw, 24px);
  border: 1px solid #e8e5df;
  border-radius: 14px;
  background: #faf9f7;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .05);
}
body.responsive-v2 #product-detail form.has-product-variants {
  grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr);
  grid-template-areas:
    "image description"
    "image pricing";
  grid-template-rows: auto auto;
}
body.responsive-v2 #product-detail form.has-product-variants #product-pricing {
  justify-self: stretch;
  width: 100% !important;
  margin-top: 0;
}

body.responsive-v2 #product-detail form:not(.has-product-variants) #product-pricing {
  max-width: 430px !important;
}

body.responsive-v2 #product-detail form:not(.has-product-variants) #product-social {
  margin-bottom: 4px;
}

@media (max-width: 1365px) and (min-width: 768px) {
  body.responsive-v2 #product-detail form:not(.has-product-variants) {
    grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr);
    grid-template-areas:
      "image description"
      "image pricing";
  }

  body.responsive-v2 #product-detail form.has-product-variants {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "image"
      "description"
      "pricing";
    grid-template-rows: auto;
    width: 100%;
    max-width: 100%;
  }

  body.responsive-v2 #product-detail form.has-product-variants #product-image,
  body.responsive-v2 #product-detail form.has-product-variants #description,
  body.responsive-v2 #product-detail form.has-product-variants #product-pricing {
    width: min(100%, 680px) !important;
    max-width: 680px !important;
    margin-inline: auto !important;
    justify-self: center;
  }

  body.responsive-v2 #product-detail form.has-product-variants #product-image {
    display: flex;
    justify-content: center;
  }

  body.responsive-v2 #product-detail form.has-product-variants #description {
    padding-inline: 20px;
    text-align: left;
  }
}
body.responsive-v2 #product-detail form.has-product-variants #product-pricing > table:first-child,
body.responsive-v2 #product-detail form.has-product-variants #product-pricing > table:first-child tbody { display: block; }
body.responsive-v2 #product-detail form.has-product-variants #product-pricing > table:first-child tbody {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
body.responsive-v2 #product-detail form.has-product-variants #product-pricing > table:first-child tr {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-content: start;
  min-height: 106px;
  padding: 11px;
  border: 1px solid #d8d3ca;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
}
body.responsive-v2 #product-detail form.has-product-variants #product-pricing > table:first-child tr:has(input:checked) {
  padding: 10px;
  border: 2px solid #bf8c23;
  background: #fffaf0;
}
body.responsive-v2 #product-detail form.has-product-variants #product-pricing > table:first-child td {
  display: block;
  min-width: 0;
  padding: 0 !important;
  font-size: 14px;
  line-height: 1.3;
}
body.responsive-v2 #product-detail form.has-product-variants #product-pricing > table:first-child td:last-child {
  padding-left: 6px !important;
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
}
body.responsive-v2 #product-detail form.has-product-variants #product-pricing > table:first-child input[type="checkbox"] {
  min-height: 0;
  margin: 0 4px 0 0;
  accent-color: #bf8c23;
}
body.responsive-v2 #product-detail #product-pricing table { width: 100%; }
body.responsive-v2 #product-detail #product-pricing > table:first-child td {
  padding: 0 !important;
  font-size: 17px;
}
body.responsive-v2 #product-detail #product-pricing > table:first-child td.price {
  text-align: right;
  font-size: clamp(25px, 2.7vw, 34px);
  font-weight: 700;
}
body.responsive-v2 #product-detail #product-pricing #line { margin: 18px 0 !important; border-color: #d9d4cb; }
body.responsive-v2 #product-detail #product-pricing table#qty { width: auto; margin: 0 auto 17px; }
body.responsive-v2 #product-detail #product-pricing table#qty tbody {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
body.responsive-v2 #product-detail #product-pricing table#qty tr:first-child {
  display: flex;
  align-items: center;
  justify-content: center;
}
body.responsive-v2 #product-detail #product-pricing table#qty tr:first-child td { padding: 0 !important; }
body.responsive-v2 #product-detail #product-pricing table#qty tr:first-child td:first-child { margin-right: 16px; }
body.responsive-v2 #product-detail #product-pricing table#qty .minus-qty,
body.responsive-v2 #product-detail #product-pricing table#qty .add-qty { display: block; line-height: 0; }
body.responsive-v2 #product-detail #product-pricing table#qty .minus-qty img,
body.responsive-v2 #product-detail #product-pricing table#qty .add-qty img { display: block; width: 42px; height: 42px; }
body.responsive-v2 #product-detail #product-pricing .qty-input-left,
body.responsive-v2 #product-detail #product-pricing .qty-input-right { height: 42px; background-size: auto 42px; }
body.responsive-v2 #product-detail #product-pricing .qty-input-rep { height: 42px; padding-top: 3px; background-size: auto 42px; }
body.responsive-v2 #product-detail #product-pricing table#qty tr:nth-child(2) { display: flex; align-items: center; }
body.responsive-v2 #product-detail #product-pricing table#qty tr:nth-child(2) td { padding: 0 !important; }
body.responsive-v2 #product-detail #product-pricing table#qty tr:nth-child(2) td:first-child { display: none; }
body.responsive-v2 #product-detail #product-pricing table#qty tr:nth-child(2) br { display: none; }
body.responsive-v2 #product-detail #product-pricing .clearQty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 5px 12px;
  border: 1px solid rgba(243, 59, 59, .28);
  border-radius: 999px;
  background: #fff0f0;
  color: #d82f2f;
  font-size: 13px;
  line-height: 1;
  text-decoration: none;
}
body.responsive-v2 #product-detail #product-pricing .clearQty:hover { border-color: #d82f2f; background: #ffe3e3; color: #b82020; }
body.responsive-v2 #product-detail #product-pricing center { display: block; }
body.responsive-v2 #product-detail #product-pricing .btn-black {
  width: 100%;
  min-height: 48px;
  margin: 0;
  border-radius: 9px;
  font-size: 17px;
}

/* related products: use the same clean card rhythm as category listings */
body.responsive-v2 #also-like {
  min-height: 0;
  padding: clamp(42px, 6vw, 76px) 0;
}
body.responsive-v2 #also-like > .wrapper { padding-inline: var(--v2-pad); }
body.responsive-v2 #also-like #alsoLike-title {
  margin-bottom: clamp(24px, 4vw, 42px);
  border-bottom: 1px solid #d8d8d8;
}
body.responsive-v2 #also-like #alsoLike-title p.sub {
  margin: 0 0 18px;
  color: #303137;
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 700;
  line-height: 1.2;
}
body.responsive-v2 #also-like #product-listing { width: 100%; }
body.responsive-v2 #also-like #product-listing > .row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 38px);
  align-items: stretch;
}
body.responsive-v2 #also-like #product-listing > .row > .centerBoxHeading,
body.responsive-v2 #also-like #product-listing > .row > h2 { display: none; }
body.responsive-v2 #also-like #product-listing > .row > br { display: none; }
body.responsive-v2 #also-like #product-listing .listing {
  grid-column: auto;
  justify-self: stretch;
  float: none;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(14px, 2vw, 22px);
  text-align: center;
}
body.responsive-v2 #also-like #product-listing .product-image {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.responsive-v2 #also-like #product-listing .product-image .image-holder {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: auto !important;
  min-height: 260px;
}
body.responsive-v2 #also-like #product-listing .product-image .image-holder > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
body.responsive-v2 #also-like #product-listing .product-image img {
  display: block;
  width: min(100%, 280px) !important;
  height: auto !important;
  max-height: 280px;
  margin: 0 auto !important;
  object-fit: contain;
}
body.responsive-v2 #also-like #product-listing .product-name {
  height: auto !important;
  margin: 12px 0 0;
  padding: 0 !important;
  color: #111;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 600;
  line-height: 1.25;
}
body.responsive-v2 #also-like #product-listing .product-includes,
body.responsive-v2 #also-like #product-listing .product-tagline,
body.responsive-v2 #also-like #product-listing .product-short-desc {
  height: auto !important;
  max-height: none !important;
  margin: 10px 0 0;
  padding: 0 !important;
  color: #444;
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 1.45;
}
body.responsive-v2 #also-like #product-listing .product-price {
  margin-top: 18px;
  font-size: clamp(25px, 2.8vw, 36px);
  font-weight: 700;
}
body.responsive-v2 #also-like #product-listing .product-more { margin-top: 18px; }
body.responsive-v2 #also-like #product-listing .product-more a { display: block; }
body.responsive-v2 #also-like #product-listing .btn-black,
body.responsive-v2 #also-like #product-listing .btn-white {
  width: min(100%, 310px);
  min-height: 52px;
  margin: 5px auto;
  border: 2px solid #000;
  border-radius: 8px;
  font-size: clamp(14px, 1.4vw, 18px);
  font-weight: 700;
  text-transform: uppercase;
}
body.responsive-v2 #also-like #product-listing .btn-black { color: #fff; background: #000; }
body.responsive-v2 #also-like #product-listing .btn-white { color: #000; background: #fff; }
body.responsive-v2 #also-like #product-listing .more-details,
body.responsive-v2 #also-like #product-listing .btn-details,
body.responsive-v2 #reviews input[type="button"] {
  min-height: 48px;
  padding: 10px 24px;
  border: 2px solid #000;
  border-radius: 7px;
  background: #000;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease;
}
body.responsive-v2 #also-like #product-listing .more-details:hover,
body.responsive-v2 #also-like #product-listing .more-details:focus-visible,
body.responsive-v2 #also-like #product-listing .btn-details:hover,
body.responsive-v2 #also-like #product-listing .btn-details:focus-visible,
body.responsive-v2 #reviews input[type="button"]:hover,
body.responsive-v2 #reviews input[type="button"]:focus-visible {
  background: #fff;
  color: #000;
  outline: none;
}

/* reviews: compact reading column and a clear, contained review form */
body.responsive-v2 #reviews { min-height: 0; padding: clamp(42px, 6vw, 72px) 0; }
body.responsive-v2 #reviews > .wrapper { padding-inline: var(--v2-pad); }
body.responsive-v2 #reviews > .wrapper > .row {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
  gap: clamp(28px, 4vw, 52px);
  align-items: start;
}
body.responsive-v2 #reviews #customer-reviews,
body.responsive-v2 #reviews #write-review {
  float: none;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
body.responsive-v2 #reviews p.title,
body.responsive-v2 #reviews .reviews p.title {
  margin: 0;
  color: #303137;
  font-size: clamp(17px, 1.6vw, 21px);
  font-weight: 600;
  line-height: 1.3;
}
body.responsive-v2 #reviews .reviews {
  padding: 24px 0;
  border-top: 1px solid #d3d3d3;
}
body.responsive-v2 #reviews .reviews br { display: none; }
body.responsive-v2 #reviews .reviews p { margin: 8px 0; color: #555; font-size: 16px; line-height: 1.55; }
body.responsive-v2 #reviews .reviews p.product-name,
body.responsive-v2 #reviews .reviews p.bottom-title { font-size: 15px; line-height: 1.4; }
body.responsive-v2 #reviews .reviews p.super-title {
  margin-top: 12px;
  color: #303137;
  font-size: clamp(19px, 2vw, 25px);
  line-height: 1.25;
}
body.responsive-v2 #reviews .product-rating { display: flex; align-items: center; gap: 3px; }
body.responsive-v2 #reviews .product-rating .rating { float: none; }
body.responsive-v2 #reviews .product-rating img { width: 20px; height: 20px; object-fit: contain; }
body.responsive-v2 #reviews #write-review {
  padding: 22px;
  border: 1px solid #e3dfd7;
  border-radius: 12px;
  background: #faf9f7;
}
body.responsive-v2 #reviews #write-review #review-form { padding: 16px 0 0; border-top: 1px solid #d8d4cc; }
body.responsive-v2 #reviews #write-review input[type="text"],
body.responsive-v2 #reviews #write-review textarea {
  width: 100%;
  min-height: 44px;
  margin-bottom: 10px;
  padding: 10px 12px;
  border: 1px solid #cfcfcf;
  border-radius: 6px;
  background: #fff;
  font-size: 15px;
}
body.responsive-v2 #reviews #write-review textarea { height: 135px; resize: vertical; line-height: 1.5; }
body.responsive-v2 #reviews #write-review #review-form table { margin-top: 8px; }
body.responsive-v2 #reviews #write-review #review-form table p.title { padding-top: 0; line-height: 1.3; }
body.responsive-v2 #reviews #write-review .btn-black { width: 100%; min-height: 46px; border-radius: 7px; font-size: 16px; }

/* shopping cart */
body.responsive-v2 #cart-page-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(290px, 350px);
  grid-template-areas:
    "cart summary"
    "shipping summary";
  gap: 0 clamp(28px, 4vw, 54px);
  width: min(calc(100% - (var(--v2-pad) * 2)), var(--v2-max));
  margin: 0 auto;
  padding: clamp(32px, 5vw, 64px) 0;
}
body.responsive-v2 #cart-breadcrumbs {
  width: min(calc(100% - (var(--v2-pad) * 2)), var(--v2-max));
  margin: 0 auto;
  padding: 22px 0 0;
}
body.responsive-v2 #cart-breadcrumbs > .wrapper {
  width: 100%;
  padding: 0 0 16px;
  border-bottom: 1px solid #d8d8d8;
  font-size: 14px;
}
body.responsive-v2 #shopping-cart { grid-area: cart; }
body.responsive-v2 #estimate-shipping { grid-area: shipping; }
body.responsive-v2 #cart-order-total { grid-area: summary; align-self: start; position: sticky; top: 24px; }
body.responsive-v2 #shopping-cart,
body.responsive-v2 #estimate-shipping,
body.responsive-v2 #cart-order-total { min-width: 0; min-height: 0; padding: 0; }
body.responsive-v2 #shopping-cart > .wrapper,
body.responsive-v2 #estimate-shipping > .wrapper,
body.responsive-v2 #cart-order-total > .wrapper { width: 100%; padding: 0; }
body.responsive-v2 #shopping-cart > .wrapper > p.title,
body.responsive-v2 #estimate-shipping p.title { margin-bottom: 20px; font-size: clamp(28px, 3vw, 42px) !important; line-height: 1.15; }
body.responsive-v2 #shopping-cart .cart-contents {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 140px;
  grid-template-areas:
    "product quantity"
    "product edit";
  gap: 6px 20px;
  align-items: center;
  width: 100%;
  padding: 26px 0;
  border-top: 1px solid var(--v2-line);
}
body.responsive-v2 #shopping-cart .cart-contents:last-child { border-bottom: 1px solid var(--v2-line); }
body.responsive-v2 #shopping-cart .cart-contents > div {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center;
}
body.responsive-v2 #shopping-cart .cart-contents > .break { display: none !important; }
body.responsive-v2 #shopping-cart .item-name { grid-area: product; }
body.responsive-v2 #shopping-cart .item-qty { grid-area: quantity; }
body.responsive-v2 #shopping-cart .item-edit { grid-area: edit; }
body.responsive-v2 #shopping-cart .cart-contents p.title {
  min-height: 0;
  margin: 0 0 8px;
  color: #666;
  font-size: 13px !important;
  font-weight: 700;
}
body.responsive-v2 #shopping-cart .cart-contents p.title + br { display: none; }
body.responsive-v2 #shopping-cart .item-name {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 22px;
  row-gap: 16px;
  align-items: center;
  text-align: left !important;
}
body.responsive-v2 #shopping-cart .item-name > p.title { display: none; }
body.responsive-v2 #shopping-cart .item-name .image-wrap,
body.responsive-v2 #shopping-cart .item-name .product-holder,
body.responsive-v2 #shopping-cart .item-name .image-aligner {
  float: none !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  grid-row: 1 / 3;
  width: 180px !important;
  height: 180px !important;
  margin: 0 !important;
}
body.responsive-v2 #shopping-cart .item-name img { display: block; max-width: 174px; max-height: 174px; width: auto; height: auto; object-fit: contain; }
body.responsive-v2 #shopping-cart .product-name { font-weight: 700; line-height: 1.4; }
body.responsive-v2 #shopping-cart .item-qty table.qty { width: auto; margin: 0 auto; border-collapse: collapse; border-spacing: 0; }
body.responsive-v2 #shopping-cart .item-qty table.qty tbody { display: block; }
body.responsive-v2 #shopping-cart .item-qty table.qty tr {
  display: flex;
  align-items: stretch;
  gap: 0;
  overflow: hidden;
  border: 1px solid #000;
  border-radius: 8px;
  background: #fff;
}
body.responsive-v2 #shopping-cart .item-qty table.qty td {
  display: block !important;
  flex: 0 0 38px !important;
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.responsive-v2 #shopping-cart .item-qty .minus-qty,
body.responsive-v2 #shopping-cart .item-qty .add-qty {
  position: relative;
  display: block;
  width: 38px;
  height: 38px;
  border: 0;
  background: #000;
  color: #fff;
  line-height: 0;
  transition: background-color .2s ease, color .2s ease;
}
body.responsive-v2 #shopping-cart .item-qty .minus-qty,
body.responsive-v2 #shopping-cart .item-qty .add-qty { border-radius: 0; }
body.responsive-v2 #shopping-cart .item-qty .minus-qty::after,
body.responsive-v2 #shopping-cart .item-qty .add-qty::after {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  line-height: 1;
}
body.responsive-v2 #shopping-cart .item-qty .minus-qty::after { content: "−"; }
body.responsive-v2 #shopping-cart .item-qty .add-qty::after { content: "+"; }
body.responsive-v2 #shopping-cart .item-qty .minus-qty:hover,
body.responsive-v2 #shopping-cart .item-qty .add-qty:hover { background: #fff; color: #000; }
body.responsive-v2 #shopping-cart .item-qty .minus-qty img,
body.responsive-v2 #shopping-cart .item-qty .add-qty img { display: block; width: 38px; height: 38px; opacity: 0; }
body.responsive-v2 #shopping-cart .item-qty .qty-input-left,
body.responsive-v2 #shopping-cart .item-qty .qty-input-right { display: none; }
body.responsive-v2 #shopping-cart .item-qty .qty-notices { display: none; }
body.responsive-v2 #shopping-cart .item-qty .qty-input-rep {
  position: relative;
  float: none;
  width: 38px;
  height: 38px;
  padding: 0;
  border-right: 1px solid #000;
  border-left: 1px solid #000;
  background: transparent !important;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.responsive-v2 #shopping-cart .item-qty .qty-input-rep input {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  display: block !important;
  width: 38px !important;
  min-height: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #111 !important;
  font-size: 18px !important;
  line-height: normal !important;
  margin: 0 !important;
  text-align: center;
  vertical-align: middle;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  transform: translate(-50%, -56%) !important;
}
body.responsive-v2 #shopping-cart .item-qty { justify-self: center; width: 140px !important; }
body.responsive-v2 #shopping-cart .item-qty > p.title { text-align: center; }
body.responsive-v2 #shopping-cart .item-qty .qty-input-rep br,
body.responsive-v2 #shopping-cart .item-qty .break { display: none; }
body.responsive-v2 #shopping-cart .item-prices {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 28px;
  padding: 0 !important;
  text-align: left !important;
}
body.responsive-v2 #shopping-cart .item-prices > div {
  float: none !important;
  flex: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.responsive-v2 #shopping-cart .item-price,
body.responsive-v2 #shopping-cart .item-total { min-width: 90px; font-weight: 700; text-align: left; }
body.responsive-v2 #shopping-cart .item-edit { align-self: start; justify-self: center; width: 140px !important; margin-top: 2px !important; text-align: center !important; }
body.responsive-v2 #shopping-cart .item-edit a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  padding: 3px 8px;
  border: 0;
  background: transparent;
  color: #555;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .2s ease;
}
body.responsive-v2 #shopping-cart .item-edit a:hover,
body.responsive-v2 #shopping-cart .item-edit a:focus-visible { color: #c62828; }
body.responsive-v2 #estimate-shipping {
  justify-self: start;
  width: 100%;
  margin-top: 22px;
  padding: 20px !important;
  border: 1px solid #e1ddd5;
  border-radius: 12px;
  background: #faf9f7;
}
body.responsive-v2 #estimate-shipping p.title { margin-bottom: 8px; font-size: clamp(24px, 2.2vw, 30px) !important; }
body.responsive-v2 #estimate-shipping p.sub-title { margin-bottom: 10px; font-size: 20px; }
body.responsive-v2 #estimate-shipping p.sub-title + br { display: none; }
body.responsive-v2 #estimate-shipping .estimate-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }
body.responsive-v2 #estimate-shipping .form-field { float: none; width: auto; max-width: none; margin: 0 !important; padding: 0; }
body.responsive-v2 #estimate-shipping input,
body.responsive-v2 #estimate-shipping select { width: 100%; min-height: 44px; }
body.responsive-v2 #estimate-shipping .btn-black { width: min(100%, 300px); min-height: 44px; margin-top: 12px; border-radius: 7px; }
body.responsive-v2 #cart-order-total #estimated_shipping_container { display: block; }
body.responsive-v2 #cart-order-total .order-totals {
  float: none;
  width: 100%;
  max-width: none;
  padding: 24px;
  border: 1px solid #e1ddd5;
  border-radius: 12px;
  background: #faf9f7;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .05);
}
body.responsive-v2 #cart-order-total .order-totals::before {
  display: block;
  margin-bottom: 16px;
  content: "Order summary";
  color: #303137;
  font-size: 22px;
  font-weight: 700;
}
body.responsive-v2 #cart-order-total .order-totals table td { padding: 10px 0; font-size: 16px; }
body.responsive-v2 #cart-order-total .order-totals table tr:last-child td { padding-top: 16px; border-top: 1px solid #d8d3ca; font-size: 20px; font-weight: 700; }
body.responsive-v2 #cart-order-total .checkout-buttons { margin-top: 18px; }
body.responsive-v2 #cart-order-total .checkout-buttons .btn-black { width: 100%; min-height: 48px; margin: 5px 0; border-radius: 7px; }
body.responsive-v2 #shopping-cart .empty-cart-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 360px;
  margin-top: 24px;
  padding: clamp(36px, 7vw, 72px) 24px;
  border: 1px solid #e4e0d8;
  border-radius: 14px;
  background: #faf9f7;
  text-align: center;
}
body.responsive-v2 #shopping-cart .empty-cart-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  margin-bottom: 22px;
  border: 2px solid #c79a37;
  border-radius: 50%;
  color: #c79a37;
  font-size: 30px;
}
body.responsive-v2 #shopping-cart .empty-cart-message { margin: 0 0 24px; font-size: clamp(20px, 2.4vw, 28px); font-weight: 700; }
body.responsive-v2 #shopping-cart .empty-cart-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  min-height: 50px;
  padding: 10px 24px;
  border: 2px solid #000;
  border-radius: 8px;
  background: #000;
  color: #fff !important;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}
body.responsive-v2 #shopping-cart .empty-cart-action:hover,
body.responsive-v2 #shopping-cart .empty-cart-action:focus-visible { background: #fff; color: #000 !important; }
body.responsive-v2 #cart-page-layout:has(.empty-cart-state) {
  display: block;
  width: min(calc(100% - (var(--v2-pad) * 2)), 980px);
}
body.responsive-v2 .row { max-width: 100%; margin-left: 0; margin-right: 0; }
body.responsive-v2 .centerBoxContentsProducts,
body.responsive-v2 .centerBoxContentsNew,
body.responsive-v2 .centerBoxContentsFeatured,
body.responsive-v2 .centerBoxContentsSpecials { min-width: 0; padding: 12px; }
body.responsive-v2 .centerBoxContentsProducts img,
body.responsive-v2 .centerBoxContentsNew img,
body.responsive-v2 .centerBoxContentsFeatured img,
body.responsive-v2 .centerBoxContentsSpecials img,
body.responsive-v2 #productMainImage img { width: auto; max-height: 520px; margin-inline: auto; object-fit: contain; }

body.responsive-v2 table { max-width: 100%; }
body.responsive-v2 .rv2-table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
body.responsive-v2 .rv2-table-scroll > table { min-width: 680px; }
body.responsive-v2 .messageStackError,
body.responsive-v2 .messageStackWarning,
body.responsive-v2 .messageStackSuccess { padding: 12px 16px; border-radius: 6px; }

/* tablet/laptop: keep desktop navigation and two-column stories */
@media (min-width: 768px) and (max-width: 1100px) {
  body.responsive-v2 #cart-page-layout { grid-template-columns: minmax(0, 1fr) minmax(260px, 300px); gap: 28px; }
  body.responsive-v2 #shopping-cart .cart-contents { grid-template-columns: minmax(0, 1fr) 140px; gap: 6px 14px; }
  body.responsive-v2 #shopping-cart .item-name { grid-template-columns: 140px minmax(0, 1fr); gap: 14px; }
  body.responsive-v2 #shopping-cart .item-name .image-wrap,
  body.responsive-v2 #shopping-cart .item-name .product-holder,
  body.responsive-v2 #shopping-cart .item-name .image-aligner { width: 140px !important; height: 140px !important; }
  body.responsive-v2 #shopping-cart .item-name img { max-width: 134px; max-height: 134px; }
  body.responsive-v2 #shopping-cart .item-prices { gap: 12px 20px; }
  body.responsive-v2 #footer > .wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :root { --v2-pad: 22px; }
  body.responsive-v2 #header.navbar { min-height: 74px; }
  body.responsive-v2 #float-nav { padding-block: 14px; }
  body.responsive-v2 #float-nav > .wrapper { min-height: 62px; }
  body.responsive-v2 #float-nav img[src*="logo"] { width: clamp(190px, 25vw, 260px); }
  body.responsive-v2 #float-nav #float-links ul { gap: 18px; }
  body.responsive-v2 #float-nav #float-links a { font-size: 13px; }
  body.responsive-v2 #pwa > .wrapper,
  body.responsive-v2 #collagen > .wrapper,
  body.responsive-v2 #placolla > .wrapper,
  body.responsive-v2 #sunfade > .wrapper,
  body.responsive-v2 #omegacollagen > .wrapper,
  body.responsive-v2 #aojiru-collagen > .wrapper,
  body.responsive-v2 #premiumcream > .wrapper { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 28px; }
  body.responsive-v2#indexHomeBody section img { max-height: 600px; }
  body.responsive-v2#indexHomeBody section p.title { font-size: clamp(29px, 4vw, 42px) !important; }
  body.responsive-v2 #products-list #product-listing > .row { gap: 20px; }
  body.responsive-v2 #products-list #product-listing .productListing-data img { width: min(100%, 200px) !important; height: 200px !important; }
}

/* phones: mobile menu and single-column content */
@media (max-width: 767.98px) {
  body.responsive-v2 .brandlogos #web { display: none !important; }
  body.responsive-v2 .brandlogos #mobile { display: block !important; }
  body.responsive-v2 .marketplace-section { padding-block: 24px; }
  body.responsive-v2 .marketplace-section .marketplace-title { margin-bottom: 18px; font-size: 23px; }
  body.responsive-v2 .marketplace-section .row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  body.responsive-v2 .marketplace-logo-box { height: 82px; }
  body.responsive-v2#indexHomeBody .marketplace-logo-box img { width: 164px !important; max-width: none !important; max-height: none; }
  body.responsive-v2#indexHomeBody .marketplace-logo-box.tiktok-logo img { width: 135px !important; }

  body.responsive-v2 #download { padding: 28px 15px !important; }
  body.responsive-v2 #download #mobile .wrapper { width: min(100%, 420px); padding: 0; }
  body.responsive-v2#indexHomeBody #download #mobile #shop-earn { width: min(100%, 330px); max-height: none; }
  body.responsive-v2 #download #mobile iframe { width: min(100%, 390px); margin: 22px auto !important; }
  body.responsive-v2#indexHomeBody #download #mobile > .wrapper > img:not(#shop-earn) { width: min(82%, 310px); max-height: none; margin-inline: auto; }
  body.responsive-v2 #download #mobile table { width: min(82%, 310px) !important; margin: 16px auto 0 !important; }
  body.responsive-v2 #download #mobile table img { width: auto !important; max-height: 44px; }

  body.responsive-v2 #footer { padding-top: 32px; }
  body.responsive-v2 #footer > .wrapper { gap: 0; padding-bottom: 28px; }
  body.responsive-v2 #footer .column-link { display: none; }
  body.responsive-v2 #footer .column > a > img { width: 185px; }
  body.responsive-v2 #footer #tagline { display: none; }
  body.responsive-v2 #footer #download-app {
    display: grid;
    grid-template-columns: repeat(2, auto);
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
  }
  body.responsive-v2 #footer #app-qr { grid-column: 1 / -1; width: 100%; }
  body.responsive-v2 #footer #app-qr img { width: 70px; }
  body.responsive-v2 #footer #ios,
  body.responsive-v2 #footer #android { float: none !important; display: block; width: auto !important; margin: 0; }
  body.responsive-v2 #footer #ios img,
  body.responsive-v2 #footer #android img { width: 120px; }
  body.responsive-v2 #footer #copyright { padding-block: 18px; }
  body.responsive-v2 #footer > .wrapper { grid-template-columns: 1fr; text-align: center; }
  body.responsive-v2 #footer .column > a > img,
  body.responsive-v2 #footer #app-qr img,
  body.responsive-v2 #footer #ios img,
  body.responsive-v2 #footer #android img { margin-left: auto; margin-right: auto; }
  :root { --v2-pad: 15px; }
  body.responsive-v2 { font-size: 16px; }
  body.responsive-v2 #header.navbar { min-height: 62px; padding: 8px 12px; background: #fff !important; color: #111; }
  body.responsive-v2 #header > .wrapper { display: flex; flex-wrap: wrap; align-items: center; width: 100%; }
  body.responsive-v2 #header > .wrapper > a:not(#toggle-toggler) { order: 2; }
  body.responsive-v2 #header .logo { display: block !important; width: min(170px, 43vw); height: auto; }
  body.responsive-v2 #header #toggle-toggler { display: block; order: 1; margin: 0 10px 0 0; }
  body.responsive-v2 #header #toggler { display: inline-flex; align-items: center; justify-content: center; margin: 0; }
  body.responsive-v2 #header #nav-right-search,
  body.responsive-v2 #header #welcome { display: none !important; }
  body.responsive-v2 #header #nav-right { order: 3; width: auto !important; height: auto; margin-left: auto; padding: 0; }
  body.responsive-v2 #header #nav-left {
    display: block !important;
    order: 4;
    flex: 0 0 calc(100% + 24px);
    width: calc(100% + 24px);
    height: auto;
    margin: 10px -12px -8px;
    padding: 13px 15px;
    background: var(--v2-dark);
    color: #fff;
    text-align: center;
  }
  body.responsive-v2 #header a,
  body.responsive-v2 #header svg,
  body.responsive-v2 #header i { color: #111; }
  body.responsive-v2 #header #account-icon { display: none !important; }
  body.responsive-v2 #header #account-icon-mobile { display: inline-block !important; }

  body.responsive-v2 #float-nav { display: none; }
  body.responsive-v2 #lang_dd { display: block; padding-inline: 15px; }
  body.responsive-v2 #lang_dd #lang_pos { display: grid; grid-template-columns: minmax(0, 2fr) minmax(120px, 1fr); width: 100%; }
  body.responsive-v2 #lang_dd #set_country,
  body.responsive-v2 #lang_dd #lang { width: 100% !important; }
  body.responsive-v2 #pwa,
  body.responsive-v2 #multi20,
  body.responsive-v2 #collagen,
  body.responsive-v2 #placolla,
  body.responsive-v2 #sunfade,
  body.responsive-v2 #omegacollagen,
  body.responsive-v2 #aojiru-collagen,
  body.responsive-v2 #premiumcream { padding: 34px 0; background-position: center; }
  body.responsive-v2 #pwa > .wrapper,
  body.responsive-v2 #multi20 > .wrapper,
  body.responsive-v2 #collagen > .wrapper,
  body.responsive-v2 #placolla > .wrapper,
  body.responsive-v2 #sunfade > .wrapper,
  body.responsive-v2 #omegacollagen > .wrapper,
  body.responsive-v2 #aojiru-collagen > .wrapper,
  body.responsive-v2 #premiumcream > .wrapper { display: flex; flex-direction: column; gap: 24px; padding-inline: var(--v2-pad); }
  body.responsive-v2 #pwa > .wrapper > *,
  body.responsive-v2 #multi20 > .wrapper > *,
  body.responsive-v2 #collagen > .wrapper > *,
  body.responsive-v2 #placolla > .wrapper > *,
  body.responsive-v2 #sunfade > .wrapper > *,
  body.responsive-v2 #omegacollagen > .wrapper > *,
  body.responsive-v2 #aojiru-collagen > .wrapper > *,
  body.responsive-v2 #premiumcream > .wrapper > * { width: 100% !important; max-width: 100% !important; text-align: center; }
  body.responsive-v2#indexHomeBody .isWeb { display: none !important; }
  body.responsive-v2#indexHomeBody .isMobile { display: block !important; }
  body.responsive-v2 #pwa #pwa { display: none !important; }
  body.responsive-v2 #pwa #pwa-mobile { display: block !important; }
  body.responsive-v2#indexHomeBody section img { width: 100%; max-height: 560px; }
  body.responsive-v2#indexHomeBody section p { margin-inline: auto; }
  body.responsive-v2 #download #web { display: none !important; }
  body.responsive-v2 #download #mobile { display: block !important; text-align: center; }
  body.responsive-v2 #product-detail form {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    grid-template-columns: 1fr;
    grid-template-areas:
      "image"
      "description"
      "pricing";
    grid-template-rows: auto;
  }
  body.responsive-v2 #product-detail > .wrapper > .row {
    display: block;
    width: 100%;
    margin-inline: 0;
  }
  body.responsive-v2 #product-detail #product-image {
    display: block;
    width: 100% !important;
    max-width: 680px;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }
  body.responsive-v2 #product-detail #product-image #image-holder {
    display: flex;
    justify-content: center;
    width: 100%;
  }
  body.responsive-v2 #product-detail #product-image img { max-height: 420px; }
  body.responsive-v2 #product-detail #product-desc,
  body.responsive-v2 #product-detail #description { text-align: center; }
  body.responsive-v2 #product-detail #description,
  body.responsive-v2 #product-detail #product-pricing {
    width: min(100%, 680px) !important;
    max-width: 680px;
    margin-inline: auto !important;
    justify-self: center;
  }
  body.responsive-v2 #product-detail #description { padding-inline: 20px !important; }
  body.responsive-v2 #product-detail #product-pricing { padding-inline: 14px !important; }
  body.responsive-v2 #product-detail #product-title {
    margin-bottom: 12px;
    font-size: clamp(24px, 7vw, 30px) !important;
    line-height: 1.15;
  }
  body.responsive-v2 #product-detail #product-content {
    font-size: clamp(17px, 4.8vw, 20px) !important;
    line-height: 1.3;
  }
  body.responsive-v2 #product-detail #product-tagline,
  body.responsive-v2 #product-detail #description h2,
  body.responsive-v2 #product-detail #description h3 {
    font-size: clamp(18px, 5vw, 21px) !important;
    line-height: 1.32;
  }
  body.responsive-v2 #product-detail #description,
  body.responsive-v2 #product-detail #description p,
  body.responsive-v2 #product-detail #description li {
    font-size: 16px !important;
    line-height: 1.55;
  }
  body.responsive-v2 #product-detail #description ul,
  body.responsive-v2 #product-detail #description ol {
    display: inline-block;
    max-width: 100%;
    padding-left: 22px;
    text-align: left;
  }
  body.responsive-v2 #product-detail #product-copy-toggle { margin-inline: auto; }
  body.responsive-v2 #product-detail #product-social { text-align: center; }
  body.responsive-v2 #product-detail #share-product { font-size: 18px !important; line-height: 1.3; text-align: center; }
  body.responsive-v2 #product-detail :is(#product-social, #product-social2) #share-icons ul { justify-content: center; }
  body.responsive-v2 #product-detail #share-icons img { width: 24px; height: auto; }
  body.responsive-v2 #product-detail form.has-product-variants {
    width: min(100%, 400px);
    max-width: 400px;
    margin-inline: auto;
    grid-template-areas:
      "image"
      "description"
      "pricing";
    grid-template-rows: auto;
  }
  body.responsive-v2 #product-detail form.has-product-variants #product-pricing > table:first-child tbody { grid-template-columns: 1fr; }
  body.responsive-v2 #product-detail form.has-product-variants #product-pricing > table:first-child tr { min-height: 0; }

  body.responsive-v2 #product-features {
    padding: 54px 0 64px;
  }
  body.responsive-v2 #product-features > .wrapper {
    padding-inline: 16px;
  }
  body.responsive-v2 #product-features table {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 6px 0;
    table-layout: fixed;
  }
  body.responsive-v2 #product-features table tr td {
    width: auto;
    padding: 0 !important;
    vertical-align: stretch;
  }
  body.responsive-v2 #product-features table tr td a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 8px 3px;
    border: 1px solid #dedbd5;
    border-bottom: 0;
    border-radius: 9px 9px 0 0;
    background: #f7f6f3;
    text-align: center;
  }
  body.responsive-v2 #product-features table tr td a.active {
    border-color: #c18b17;
    background: #fff;
    box-shadow: inset 0 -3px #c18b17;
  }
  body.responsive-v2 #product-features table tr td p.title {
    margin: 0 !important;
    font-size: clamp(12px, 3.6vw, 16px) !important;
    line-height: 1.15 !important;
    white-space: nowrap;
  }
  body.responsive-v2 #product-features div#line {
    width: 100%;
    max-width: 400px;
    margin: 0 auto 30px;
  }
  body.responsive-v2 #product-features :is(#features, #ingredients, #ingredients2, #direction) {
    width: 100%;
    max-width: 400px;
    margin-inline: auto;
  }

  body.responsive-v2 #cart-page-layout { display: block; width: 100%; padding: 30px var(--v2-pad); }
  body.responsive-v2 #cart-breadcrumbs { width: 100%; padding: 16px var(--v2-pad) 0; }
  body.responsive-v2 #cart-order-total { position: static; margin-top: 24px; }
  body.responsive-v2 #shopping-cart .cart-contents {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "product product"
      "quantity quantity"
      "edit edit";
    gap: 14px 10px;
    padding: 20px 0;
  }
  body.responsive-v2 #shopping-cart .cart-contents .item-name { grid-template-columns: 120px minmax(0, 1fr); text-align: left !important; }
  body.responsive-v2 #shopping-cart .item-name .image-wrap,
  body.responsive-v2 #shopping-cart .item-name .product-holder,
  body.responsive-v2 #shopping-cart .item-name .image-aligner { width: 120px !important; height: 120px !important; }
  body.responsive-v2 #shopping-cart .item-name img { max-width: 114px; max-height: 114px; }
  body.responsive-v2 #shopping-cart .item-qty { justify-self: start; }
  body.responsive-v2 #shopping-cart .item-qty { justify-self: center; width: 140px !important; }
  body.responsive-v2 #shopping-cart .item-qty p.title { display: none; }
  body.responsive-v2 #shopping-cart .item-prices { justify-content: flex-start; padding-left: 0 !important; }
  body.responsive-v2 #shopping-cart .item-edit { justify-self: center; width: 140px !important; }
  body.responsive-v2 #estimate-shipping { width: 100%; margin-top: 24px; padding: 18px !important; }
  body.responsive-v2 #estimate-shipping .estimate-form { grid-template-columns: 1fr; }
  body.responsive-v2 #estimate-shipping p.title { font-size: 24px !important; }
  body.responsive-v2 #estimate-shipping .btn-black { width: 100%; }
  body.responsive-v2 #cart-order-total .order-totals { padding: 20px; }
  body.responsive-v2 #shopping-cart .empty-cart-state { min-height: 300px; padding: 44px 18px; }

  body.responsive-v2 .poster {
    aspect-ratio: auto;
    margin-bottom: 34px !important;
    background: none !important;
  }
  body.responsive-v2 .poster #mobile-banner { display: block; }
  body.responsive-v2 .poster #mobile-banner img { display: block; width: 100%; height: auto; }
  body.responsive-v2 #products-list #product-listing > .row {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
  }
  body.responsive-v2 #products-list #product-listing .listing {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    padding: 16px 14px 22px;
    overflow: hidden;
  }
  body.responsive-v2 #products-list #product-listing .productListing-data img {
    width: min(100%, 260px) !important;
    height: 260px !important;
  }
  body.responsive-v2 #products-list #product-listing .product-image .image-holder {
    min-height: 270px;
  }
  body.responsive-v2 #products-list #product-listing .product-image img {
    width: min(100%, 340px) !important;
    max-height: 310px;
  }
  body.responsive-v2 #products-list #product-listing .product-name {
    min-height: 0;
    margin: 18px auto 0;
    padding: 0 8px;
    font-size: clamp(22px, 7vw, 30px);
    line-height: 1.2;
    overflow-wrap: anywhere;
  }
  body.responsive-v2 #products-list #product-listing .product-includes,
  body.responsive-v2 #products-list #product-listing .product-includes .product-includes-sets,
  body.responsive-v2 #products-list #product-listing .product-tagline,
  body.responsive-v2 #products-list #product-listing .product-short-desc {
    min-height: 0;
    max-height: none;
    height: auto;
    padding-inline: 8px;
    font-size: 16px;
    line-height: 1.55;
  }
  body.responsive-v2 #products-list #product-listing .product-price {
    margin-top: 20px;
    font-size: clamp(30px, 10vw, 42px);
  }
  body.responsive-v2 #products-list #product-listing .product-more {
    margin-top: 20px;
  }
  body.responsive-v2 #products-list #product-listing .btn-black,
  body.responsive-v2 #products-list #product-listing .btn-white {
    width: 100%;
    max-width: 390px;
    min-height: 52px;
    white-space: normal;
  }

  body.responsive-v2 #also-like { padding: 34px 0; }
  body.responsive-v2 #also-like > .wrapper { padding-inline: 16px; }
  body.responsive-v2 #also-like #alsoLike-title { margin-bottom: 18px; }
  body.responsive-v2 #also-like #alsoLike-title p.sub { margin-bottom: 12px; font-size: 23px; }
  body.responsive-v2 #also-like #product-listing > .row {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    margin: 0;
  }
  body.responsive-v2 #also-like #product-listing .listing {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: min(100%, 400px);
    margin-inline: auto;
    padding: 20px 18px;
    border: 1px solid #e5e1da;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(24, 24, 24, 0.06);
    text-align: center;
  }
  body.responsive-v2 #also-like #product-listing .product-image {
    width: 100% !important;
    max-width: 210px;
    margin-inline: auto !important;
  }
  body.responsive-v2 #also-like #product-listing .product-image .image-holder {
    height: 170px !important;
    min-height: 0;
    border-radius: 9px;
    background: #fafafa;
    overflow: hidden;
  }
  body.responsive-v2 #also-like #product-listing .product-image img {
    width: min(100%, 190px) !important;
    max-width: 190px;
    max-height: 160px;
  }
  body.responsive-v2 #also-like #product-listing .product-name,
  body.responsive-v2 #also-like #product-listing .product-includes,
  body.responsive-v2 #also-like #product-listing .product-tagline,
  body.responsive-v2 #also-like #product-listing .product-short-desc,
  body.responsive-v2 #also-like #product-listing .product-price,
  body.responsive-v2 #also-like #product-listing .product-more {
    width: 100%;
  }
  body.responsive-v2 #also-like #product-listing .product-name {
    width: 100%;
    margin-top: 14px;
    font-size: 18px;
    line-height: 1.25;
    text-align: center;
  }
  body.responsive-v2 #also-like #product-listing .product-includes,
  body.responsive-v2 #also-like #product-listing .product-tagline,
  body.responsive-v2 #also-like #product-listing .product-short-desc {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 7px;
    font-size: 13px;
    line-height: 1.42;
    text-align: center;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  body.responsive-v2 #also-like #product-listing .product-includes:empty { display: none; }
  body.responsive-v2 #also-like #product-listing .product-price { margin-top: 9px; font-size: 22px; }
  body.responsive-v2 #also-like #product-listing .product-more { margin-top: 16px; }
  body.responsive-v2 #also-like #product-listing .product-more a {
    width: min(100%, 280px);
    margin-inline: auto;
  }
  body.responsive-v2 #also-like #product-listing .btn-black,
  body.responsive-v2 #also-like #product-listing .btn-white {
    width: min(100%, 280px);
    min-height: 44px;
    margin: 0;
    padding: 8px 10px;
    font-size: 13px;
  }
  body.responsive-v2 #also-like #product-listing .more-details,
  body.responsive-v2 #also-like #product-listing .btn-details,
  body.responsive-v2 #reviews input[type="button"] { min-height: 44px; padding: 9px 18px; font-size: 14px; }

  body.responsive-v2 #reviews { padding: 38px 0; }
  body.responsive-v2 #reviews > .wrapper > .row { grid-template-columns: 1fr; gap: 28px; }
  body.responsive-v2 #reviews #customer-reviews > .row:first-child {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 18px;
  }
  body.responsive-v2 #reviews #customer-reviews > .row:first-child > div { width: auto; padding: 0; }
  body.responsive-v2 #reviews #customer-reviews > .row:first-child .text-right { text-align: right !important; }
  body.responsive-v2 #reviews #customer-reviews > .row:nth-child(2) {
    display: block;
    margin: 0 0 28px;
    padding: 18px 12px;
    border: 1px solid #e5e1da;
    border-radius: 10px;
    background: #faf9f7;
    text-align: center;
  }
  body.responsive-v2 #reviews #customer-reviews > .row:nth-child(2) table {
    width: auto;
    margin: 0 auto !important;
  }
  body.responsive-v2 #reviews #customer-reviews > .row:nth-child(2) tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }
  body.responsive-v2 #reviews #customer-reviews > .row:nth-child(2) td {
    padding: 0 !important;
    white-space: nowrap;
  }
  body.responsive-v2 #reviews #customer-reviews > .row:nth-child(2) td:nth-child(2),
  body.responsive-v2 #reviews #customer-reviews > .row:nth-child(2) td:nth-child(4) { display: none; }
  body.responsive-v2 #reviews #customer-reviews > .row:nth-child(2) select {
    width: 64px;
    min-height: 44px;
    margin: 0 5px;
    padding: 7px 10px;
  }
  body.responsive-v2 #reviews #customer-reviews > .row:nth-child(2) input[type="button"] {
    min-width: 112px;
    margin: 0;
  }
  body.responsive-v2 #reviews p.title,
  body.responsive-v2 #reviews .reviews p.title { font-size: 17px !important; line-height: 1.3; }
  body.responsive-v2 #reviews .reviews { padding: 26px 0; }
  body.responsive-v2 #reviews .reviews p { font-size: 15px; line-height: 1.55; }
  body.responsive-v2 #reviews .reviews p.super-title { font-size: 19px; }
  body.responsive-v2 #reviews .reviews p.product-name,
  body.responsive-v2 #reviews .reviews p.bottom-title { font-size: 14px; }
  body.responsive-v2 #reviews .reviews .row:last-child { display: flex; justify-content: space-between; }
  body.responsive-v2 #reviews .reviews .row:last-child > div { width: auto; padding: 0; }
  body.responsive-v2 #reviews #write-review { padding: 18px; }
  body.responsive-v2 #reviews #write-review textarea { height: 120px; }

  body.responsive-v2 .centerBoxContentsProducts,
  body.responsive-v2 .centerBoxContentsNew,
  body.responsive-v2 .centerBoxContentsFeatured,
  body.responsive-v2 .centerBoxContentsSpecials { width: 50% !important; }
  body.responsive-v2 .buttonRow,
  body.responsive-v2 .button-row,
  body.responsive-v2 .form-actions { display: flex; flex-wrap: wrap; gap: 10px; }
}

@media (max-width: 430px) {
  body.responsive-v2 .centerBoxContentsProducts,
  body.responsive-v2 .centerBoxContentsNew,
  body.responsive-v2 .centerBoxContentsFeatured,
  body.responsive-v2 .centerBoxContentsSpecials { width: 100% !important; }
  body.responsive-v2#indexHomeBody section p.title { font-size: 29px !important; }
  body.responsive-v2#indexHomeBody section p.sub { font-size: 22px !important; }
}

/* Homepage PWA story: restrained scale while retaining original artwork/content. */
@media (min-width: 768px) {
  body.responsive-v2#indexHomeBody section#multi20 {
    padding-bottom: clamp(48px, 5.5vw, 78px);
  }
  body.responsive-v2#indexHomeBody section#multi20 > .wrapper {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    width: min(100%, 1560px);
    gap: clamp(34px, 5vw, 72px);
    padding-inline: clamp(28px, 4vw, 54px);
  }
  body.responsive-v2#indexHomeBody section#multi20 > .wrapper > #left {
    justify-self: end;
    width: min(100%, 730px) !important;
  }
  body.responsive-v2#indexHomeBody section#multi20 > .wrapper > #right {
    justify-self: start;
    width: min(100%, 730px) !important;
  }
  body.responsive-v2#indexHomeBody section#multi20 #right > img {
    width: 100%;
    max-width: 550px;
    height: auto;
    max-height: 650px;
  }
  body.responsive-v2#indexHomeBody section#multi20 #left > p { margin-left: 0; }
  body.responsive-v2#indexHomeBody section#multi20 #left p.title {
    margin: 0 0 20px;
    font-size: clamp(28px, 2.45vw, 44px) !important;
    line-height: 1.22 !important;
  }
  body.responsive-v2#indexHomeBody section#multi20 #left p.sub {
    margin: 0 0 18px;
    font-size: clamp(24px, 2vw, 32px) !important;
    line-height: 1.2 !important;
  }
  body.responsive-v2#indexHomeBody section#multi20 #left > p:not(.title):not(.sub):not(.made) {
    max-width: 520px;
    margin: 0 0 18px;
    font-size: clamp(16px, 1.22vw, 20px);
  }
  body.responsive-v2#indexHomeBody section#multi20 #left p.made {
    margin: 18px 0 0;
    font-size: clamp(17px, 1.3vw, 21px);
  }
  body.responsive-v2#indexHomeBody section#multi20 #left .btn-pink {
    min-width: 210px;
    min-height: 62px;
    padding: 14px 30px;
    font-size: 18px;
  }

  body.responsive-v2#indexHomeBody section#pwa {
    padding-bottom: clamp(38px, 4.5vw, 60px);
  }
  body.responsive-v2#indexHomeBody section#pwa > .wrapper {
    grid-template-columns: minmax(360px, .96fr) minmax(390px, 1.04fr);
    width: min(100%, 1180px);
    gap: clamp(36px, 5vw, 68px);
    padding-inline: clamp(28px, 4vw, 54px);
  }
  body.responsive-v2#indexHomeBody section#pwa > .wrapper > #left {
    justify-self: end;
    width: min(100%, 500px) !important;
  }
  body.responsive-v2#indexHomeBody section#pwa > .wrapper > #right {
    justify-self: start;
    width: min(100%, 520px) !important;
  }
  body.responsive-v2#indexHomeBody section#pwa #right #pwa img {
    width: 100%;
    max-width: 500px;
    height: auto;
    max-height: 555px;
    margin: 0 auto;
  }
  body.responsive-v2#indexHomeBody section#pwa #left > br { display: none; }
  body.responsive-v2#indexHomeBody section#pwa #left p.title {
    max-width: 500px;
    margin: 0 0 12px;
    font-size: clamp(32px, 3.2vw, 43px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.8px;
  }
  body.responsive-v2#indexHomeBody section#pwa #left p.sub {
    margin: 0 0 15px;
    font-size: clamp(20px, 2vw, 26px) !important;
    line-height: 1.25 !important;
  }
  body.responsive-v2#indexHomeBody section#pwa #left > p:not(.title):not(.sub):not(.made) {
    max-width: 470px;
    margin: 0 0 16px;
    font-size: clamp(15px, 1.2vw, 17px);
    line-height: 1.62;
  }
  body.responsive-v2#indexHomeBody section#pwa #left p.made {
    margin: 18px 0 0;
    font-size: 15px;
  }
  body.responsive-v2#indexHomeBody section#pwa #left > img {
    width: 100%;
    max-width: 455px;
    max-height: none;
    margin: 23px 0 24px;
  }
  body.responsive-v2#indexHomeBody section#pwa #left .btn-pink {
    min-height: 42px;
    padding: 10px 24px;
    font-size: 14px;
  }
}

@media (min-width: 992px) {
  body.responsive-v2#indexHomeBody section#multi20 #left p.title {
    white-space: nowrap;
  }
}

@media (max-width: 767.98px) {
  body.responsive-v2#indexHomeBody section#multi20 {
    padding: 24px 0 38px;
    background-position: center bottom;
  }
  body.responsive-v2#indexHomeBody section#multi20 > .wrapper { gap: 18px; }
  body.responsive-v2#indexHomeBody section#multi20 #right > img {
    width: min(88%, 390px);
    max-height: 430px;
    margin: 0 auto;
  }
  body.responsive-v2#indexHomeBody section#multi20 > .wrapper > #left {
    width: min(100%, 520px) !important;
    margin-inline: auto !important;
    text-align: center;
  }
  body.responsive-v2#indexHomeBody section#multi20 #left p.title {
    margin: 0 0 10px;
    font-size: clamp(27px, 7.4vw, 32px) !important;
  }
  body.responsive-v2#indexHomeBody section#multi20 #left p.sub {
    margin: 0 0 12px;
    font-size: clamp(18px, 5vw, 21px) !important;
  }
  body.responsive-v2#indexHomeBody section#multi20 #left > p:not(.title):not(.sub):not(.made) {
    margin: 0 auto 14px;
    font-size: 15px;
    line-height: 1.58;
  }
  body.responsive-v2#indexHomeBody section#multi20 #left p.made { margin: 16px 0 0; }
  body.responsive-v2#indexHomeBody section#multi20 .multi20-info {
    width: min(100%, 455px);
    max-height: none;
    margin: 19px auto 21px;
  }

  body.responsive-v2#indexHomeBody section#pwa { padding: 24px 0 34px; }
  body.responsive-v2#indexHomeBody section#pwa > .wrapper { gap: 20px; }
  body.responsive-v2#indexHomeBody section#pwa #right #pwa-mobile img {
    width: min(88%, 390px);
    max-height: 430px;
    margin: 0 auto;
  }
  body.responsive-v2#indexHomeBody section#pwa > .wrapper > #left {
    width: min(100%, 520px) !important;
    margin-inline: auto !important;
    text-align: left;
  }
  body.responsive-v2#indexHomeBody section#pwa #left > br { display: none; }
  body.responsive-v2#indexHomeBody section#pwa #left p.title {
    margin: 0 0 10px;
    font-size: clamp(27px, 7.4vw, 32px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.4px;
    text-align: left;
  }
  body.responsive-v2#indexHomeBody section#pwa #left p.sub {
    margin: 0 0 12px;
    font-size: clamp(18px, 5vw, 21px) !important;
    line-height: 1.3 !important;
    text-align: left;
  }
  body.responsive-v2#indexHomeBody section#pwa #left > p:not(.title):not(.sub):not(.made) {
    margin: 0 0 14px;
    font-size: 15px;
    line-height: 1.58;
    text-align: left;
  }
  body.responsive-v2#indexHomeBody section#pwa #left p.made {
    margin: 16px 0 0;
    font-size: 14px;
    text-align: left;
  }
  body.responsive-v2#indexHomeBody section#pwa #left > img {
    width: 100%;
    max-width: 455px;
    max-height: none;
    margin: 19px auto 21px;
  }
  body.responsive-v2#indexHomeBody section#pwa #left > a {
    display: block;
    text-align: left;
  }
  body.responsive-v2#indexHomeBody section#pwa #left .btn-pink {
    width: auto;
    min-height: 42px;
    padding: 9px 21px;
    font-size: 14px;
  }
}

/* Other homepage product stories: match the approved PWA proportions. */
@media (min-width: 768px) {
  body.responsive-v2#indexHomeBody :is(#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) > .wrapper {
    width: min(100%, 1180px);
    grid-template-columns: minmax(360px, .96fr) minmax(390px, 1.04fr);
    gap: clamp(36px, 5vw, 68px);
    padding-inline: clamp(28px, 4vw, 54px);
  }
  body.responsive-v2#indexHomeBody :is(#collagen,#omegacollagen,#aojiru-collagen) > .wrapper > .left,
  body.responsive-v2#indexHomeBody :is(#placolla,#sunfade,#premiumcream) > .wrapper > .right {
    justify-self: center;
    width: min(100%, 520px) !important;
  }
  body.responsive-v2#indexHomeBody :is(#collagen,#omegacollagen,#aojiru-collagen) > .wrapper > .left > img,
  body.responsive-v2#indexHomeBody :is(#placolla,#sunfade,#premiumcream) > .wrapper > .right > img {
    width: 100%;
    max-width: 500px;
    max-height: 555px;
    margin: 0 auto;
  }
  body.responsive-v2#indexHomeBody :is(#collagen,#omegacollagen,#aojiru-collagen) > .wrapper > .right,
  body.responsive-v2#indexHomeBody :is(#placolla,#sunfade,#premiumcream) > .wrapper > .left {
    justify-self: center;
    width: min(100%, 500px) !important;
  }
  body.responsive-v2#indexHomeBody :is(#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) > .wrapper > div > br {
    display: none;
  }
  body.responsive-v2#indexHomeBody :is(#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) p.title {
    margin: 0 0 12px;
    font-size: clamp(32px, 3.2vw, 43px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.8px;
  }
  body.responsive-v2#indexHomeBody :is(#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) p.sub {
    margin: 0 0 15px;
    font-size: clamp(20px, 2vw, 26px) !important;
    line-height: 1.25 !important;
  }
  body.responsive-v2#indexHomeBody :is(#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) p:not(.title):not(.sub):not(.made) {
    margin-bottom: 16px;
    font-size: clamp(15px, 1.2vw, 17px);
    line-height: 1.62;
  }
  body.responsive-v2#indexHomeBody :is(#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) p.made {
    margin: 18px 0 0;
    font-size: 15px;
  }
  body.responsive-v2#indexHomeBody :is(#collagen,#omegacollagen,#aojiru-collagen) > .wrapper > .right > img,
  body.responsive-v2#indexHomeBody :is(#placolla,#sunfade,#premiumcream) > .wrapper > .left > img {
    width: 100%;
    max-width: 455px;
    max-height: 110px;
    margin: 23px 0 24px;
    object-position: left center;
  }
  body.responsive-v2#indexHomeBody :is(#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) .btn-pink {
    min-height: 42px;
    padding: 10px 24px;
    font-size: 14px;
  }

  /* Home product stories: enlarge the product artwork slightly and align its
     bottom edge with the bottom of the Learn More button/content column. */
  body.responsive-v2#indexHomeBody :is(#collagen,#omegacollagen,#aojiru-collagen) > .wrapper > .left,
  body.responsive-v2#indexHomeBody :is(#placolla,#sunfade) > .wrapper > .right {
    align-self: stretch;
    display: flex;
    align-items: flex-end;
    width: min(100%, 570px) !important;
  }

  body.responsive-v2#indexHomeBody :is(#collagen,#omegacollagen,#aojiru-collagen) > .wrapper > .left > img,
  body.responsive-v2#indexHomeBody :is(#placolla,#sunfade) > .wrapper > .right > img {
    width: 108%;
    max-width: 555px;
    max-height: 610px;
    margin: 0 auto;
  }

  /* The Collagen PNG has transparent canvas below the award mark. Align the
     visible artwork—not the empty canvas—with the Learn More button. */
  body.responsive-v2#indexHomeBody #collagen > .wrapper > .left > img {
    transform: translateY(clamp(62px, 5vw, 92px));
  }
}

@media (max-width: 767.98px) {
  body.responsive-v2#indexHomeBody :is(#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) {
    padding: 30px 0 34px;
  }
  body.responsive-v2#indexHomeBody :is(#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) > .wrapper {
    gap: 20px;
  }
  body.responsive-v2#indexHomeBody :is(#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) .isMobile,
  body.responsive-v2#indexHomeBody #premiumcream > .wrapper > .right > img {
    width: min(88%, 390px) !important;
    max-height: 430px;
    margin: 0 auto;
  }
  body.responsive-v2#indexHomeBody :is(#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) p.title {
    margin: 0 0 10px;
    font-size: clamp(27px, 7.4vw, 32px) !important;
    line-height: 1.12 !important;
  }
  body.responsive-v2#indexHomeBody :is(#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) p.sub {
    margin: 0 0 12px;
    font-size: clamp(18px, 5vw, 21px) !important;
    line-height: 1.3 !important;
  }
  body.responsive-v2#indexHomeBody :is(#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) p:not(.title):not(.sub):not(.made) {
    margin: 0 0 14px;
    font-size: 15px;
    line-height: 1.58;
  }

  body.responsive-v2#indexHomeBody :is(#pwa,#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) > .wrapper > div {
    text-align: center !important;
  }
  body.responsive-v2#indexHomeBody :is(#pwa,#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) :is(p.title,p.sub,p.made),
  body.responsive-v2#indexHomeBody :is(#pwa,#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) p:not(.title):not(.sub):not(.made) {
    margin-right: auto;
    margin-left: auto;
    text-align: center !important;
  }
  body.responsive-v2#indexHomeBody :is(#pwa,#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) > .wrapper > div > a {
    display: block;
    width: max-content;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    text-align: center !important;
  }
  body.responsive-v2#indexHomeBody :is(#pwa,#collagen,#placolla,#sunfade,#omegacollagen,#aojiru-collagen,#premiumcream) .btn-pink {
    width: auto;
    min-width: 154px;
    min-height: 42px;
    padding: 9px 21px;
    font-size: 14px;
  }
  body.responsive-v2#indexHomeBody #pwa > .wrapper > #left > img,
  body.responsive-v2#indexHomeBody :is(#collagen,#omegacollagen,#aojiru-collagen) > .wrapper > .right > img,
  body.responsive-v2#indexHomeBody :is(#placolla,#sunfade,#premiumcream) > .wrapper > .left > img {
    display: block;
    width: min(74%, 330px) !important;
    max-width: 330px !important;
    max-height: 88px !important;
    margin: 18px auto 21px !important;
    object-fit: contain;
    object-position: center;
  }
}

/* Header search: single, balanced control instead of a separate gray icon block. */
@media (min-width: 768px) {
  body.responsive-v2 #header #nav-right-search {
    width: 240px;
    margin-left: auto;
    padding: 0;
  }
  body.responsive-v2 #header #nav-right-search form {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
  }
  body.responsive-v2 #header #nav-right-search #float-search {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 8px 0 0 8px;
    transform: translateY(-50%);
  }
  body.responsive-v2 #header #nav-right-search #float-search a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
  body.responsive-v2 #header #nav-right-search #float-search img {
    display: block;
    width: 19px;
    height: 19px;
    object-fit: contain;
    opacity: .78;
  }
  body.responsive-v2 #header #nav-right-search input[type="text"] {
    display: block;
    width: 100%;
    max-width: none;
    height: 42px;
    min-height: 42px;
    margin: 0;
    padding: 8px 14px 8px 42px;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 8px;
    background: #fff;
    color: #222;
    font-size: 15px;
    line-height: 1.2;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
  }
  body.responsive-v2 #header #nav-right-search input[type="text"]:focus {
    border-color: var(--v2-gold);
    outline: 0;
    box-shadow: 0 0 0 3px rgba(197,138,6,.22);
  }
  body.responsive-v2 #header #welcome { padding-top: 10px; font-size: 15px; }
  body.responsive-v2 #header #register-menu { padding-top: 8px; }
}

@media print {
  body.responsive-v2 #header,
  body.responsive-v2 #float-nav,
  body.responsive-v2 #footer { display: none !important; }
}
/* Auth popup: centered, scroll-safe, and responsive without changing form contracts. */
body.responsive-v2.auth-modal-open {
  overflow: hidden;
}

html.auth-modal-scroll-locked {
  height: 100%;
  overflow: hidden !important;
  overscroll-behavior: none;
}

html.auth-modal-scroll-locked body.responsive-v2 {
  position: fixed !important;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden !important;
}

body.responsive-v2 #auth-route-background {
  display: block;
  width: 100%;
  min-height: clamp(520px, 68vh, 820px);
  background: #fff;
}

@media (max-width: 767px) {
  body.responsive-v2 #auth-route-background {
    min-height: 62vh;
  }
}

body.responsive-v2 #cover2 {
  inset: 0;
  top: 0 !important;
  width: 100%;
  height: 100%;
  background: rgba(20, 23, 27, 0.62);
  opacity: 1;
  z-index: 10040;
}

body.responsive-v2 #surface.auth-popup-open {
  display: flex !important;
  align-items: flex-start;
  justify-content: center;
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 10050;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: clamp(18px, 4vh, 44px) 24px;
}

body.responsive-v2 #surface.auth-popup-open #pop-login,
body.responsive-v2 #surface.auth-popup-open #pop-signup {
  display: flow-root;
  width: min(1088px, calc(100vw - 48px));
  max-width: 1088px;
  min-height: 0;
  margin: auto;
  transform: none;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.3);
}

@media (min-width: 768px) {
  body.responsive-v2 #surface.auth-popup-open #pop-login {
    height: min(760px, calc(100vh - 48px));
    max-height: calc(100vh - 48px);
  }

  body.responsive-v2 #surface.auth-popup-open #pop-login-form,
  body.responsive-v2 #surface.auth-popup-open #pop-login-signup {
    height: 100%;
    min-height: 0;
  }

  body.responsive-v2 #surface.auth-popup-open #pop-login-form {
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
  }
}

body.responsive-v2 #surface #pop-login-form,
body.responsive-v2 #surface #pop-login-signup,
body.responsive-v2 #surface #pop-signup-signin,
body.responsive-v2 #surface #pop-signup-form {
  min-height: 560px;
  height: auto;
  box-sizing: border-box;
}

body.responsive-v2 #surface #pop-login-form,
body.responsive-v2 #surface #pop-signup-form {
  padding: 52px 70px;
}

body.responsive-v2 #surface #pop-login-form h2,
body.responsive-v2 #surface #pop-signup-form h2 {
  margin-top: 32px;
}

body.responsive-v2 #surface .auth-popup-message {
  display: none;
  margin: 0 0 16px;
  padding: 11px 14px;
  border-radius: 8px;
  background: #eef7ef;
  color: #255d2b;
  font-size: 14px;
  line-height: 1.4;
  text-align: left;
}

body.responsive-v2 #surface .auth-popup-message.is-error {
  background: #fff0f0;
  color: #a22525;
}

body.responsive-v2 #surface input:disabled {
  cursor: wait;
  opacity: 0.65;
}

body.responsive-v2 #surface #pop-login-form .auth-login-intro {
  margin: -10px 0 14px;
  color: #666;
  font-size: 14px;
  text-align: left;
}

body.responsive-v2 #surface #pop-login-form .auth-login-methods {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  margin-bottom: 22px;
  padding: 4px;
  border-radius: 10px;
  background: #f3f1ed;
}

body.responsive-v2 #surface #pop-login-form .auth-method {
  min-height: 40px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #555;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

body.responsive-v2 #surface #pop-login-form .auth-method.is-active {
  background: #fff;
  color: #111;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

body.responsive-v2 #surface #pop-login-form .auth-field-label {
  display: block;
  float: none;
  width: auto;
  margin: 0 0 7px;
  color: #333;
  font-size: 13px;
  font-weight: 700;
  text-align: left;
}

body.responsive-v2 #surface #pop-login-form .auth-field-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-top: 15px;
}

body.responsive-v2 #surface #pop-login-form .auth-field-heading .auth-field-label {
  margin: 0;
}

body.responsive-v2 #surface #pop-login-form .auth-field-heading a {
  font-size: 13px;
}

body.responsive-v2 #surface #pop-login-form #password-login-fields .btn-black,
body.responsive-v2 #surface #pop-login-form #email-code-fields .btn-black {
  width: 100%;
  margin-top: 16px;
}

body.responsive-v2 #surface #pop-login-form #email-code-fields,
body.responsive-v2 #surface #pop-login-form #otp-code-entry {
  display: none;
}

body.responsive-v2 #surface #pop-login-form .email-code-heading {
  margin: 17px 0 12px;
  text-align: left;
}

body.responsive-v2 #surface #pop-login-form .email-code-heading strong,
body.responsive-v2 #surface #pop-login-form .email-code-heading small {
  display: block;
}

body.responsive-v2 #surface #pop-login-form .email-code-heading strong {
  color: #222;
  font-size: 17px;
}

body.responsive-v2 #surface #pop-login-form .email-code-heading small {
  margin-top: 3px;
  color: #707070;
  font-size: 12px;
}

body.responsive-v2 #surface #pop-login-form .auth-code-switch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 14px;
  padding: 5px 0;
  border: 0 !important;
  background: transparent !important;
  color: #2d5f98 !important;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

body.responsive-v2 #surface #pop-login-form .otp-step {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  margin: 16px 0 8px;
  text-align: left;
}

body.responsive-v2 #surface #pop-login-form .otp-step > span {
  display: inline-flex;
  flex: 0 0 27px;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  background: #c99017;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}

body.responsive-v2 #surface #pop-login-form .otp-step strong,
body.responsive-v2 #surface #pop-login-form .otp-step small {
  display: block;
}

body.responsive-v2 #surface #pop-login-form .otp-step small {
  margin-top: 2px;
  color: #707070;
  font-size: 12px;
  line-height: 1.4;
}

body.responsive-v2 #surface #pop-login-form #verification_code {
  letter-spacing: 0.28em;
  text-align: center;
}

body.responsive-v2 #surface #pop-login-form #otp-flow-status {
  min-height: 19px;
  margin-top: 8px;
  color: #276532;
  font-size: 12px;
  line-height: 1.45;
  text-align: left;
}

body.responsive-v2 #surface #pop-login-form #otp-flow-status.is-error {
  color: #a22525;
}

body.responsive-v2 #surface #pop-login-form #resend_email_code {
  margin-top: 12px;
  border: 0;
  background: transparent;
  color: #2d5f98;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

body.responsive-v2 #surface #pop-login-form #resend_email_code:disabled {
  color: #888;
  cursor: wait;
}

@media (max-width: 767px) {
  body.responsive-v2 #surface.auth-popup-open {
    padding: 14px;
  }

  body.responsive-v2 #surface.auth-popup-open #pop-login,
  body.responsive-v2 #surface.auth-popup-open #pop-signup {
    width: 100%;
    margin: 0 auto;
    border-radius: 12px;
  }

  body.responsive-v2 #surface #pop-login-form,
  body.responsive-v2 #surface #pop-login-signup,
  body.responsive-v2 #surface #pop-signup-signin,
  body.responsive-v2 #surface #pop-signup-form {
    float: none;
    width: 100%;
    min-height: 0;
    height: auto;
    border-radius: 0;
  }

  body.responsive-v2 #surface #pop-login-form,
  body.responsive-v2 #surface #pop-signup-form {
    padding: 28px 22px 34px;
  }

  body.responsive-v2 #surface #pop-login-form .auth-login-methods {
    margin-bottom: 18px;
  }

  body.responsive-v2 #surface #pop-login-signup,
  body.responsive-v2 #surface #pop-signup-signin {
    padding: 24px 22px 30px;
    margin: 0;
  }

  body.responsive-v2 #surface #pop-login-signup #pop-login-x,
  body.responsive-v2 #surface #pop-signup-signin #pop-signup-x {
    margin-bottom: 18px;
  }

  body.responsive-v2 #surface h2,
  body.responsive-v2 #surface #pop-login-form h2,
  body.responsive-v2 #surface #pop-signup-form h2 {
    margin-top: 10px;
    font-size: 28px;
  }

  body.responsive-v2 #surface #pop-signup-form #form-wrapper {
    height: auto;
    max-height: 48vh;
    padding: 0 4px;
  }
}

/* Shared account dashboard pages */
body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) #checkout-navigation > .wrapper {
  padding-top: 20px;
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) #checkout-navigation #lang_dd {
  margin-bottom: 24px;
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) #checkout-navigation #breadcrumbs {
  margin: 0;
  padding: 12px 0 14px;
  font-size: 14px;
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount {
  padding: 34px 0 90px;
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount > .wrapper {
  display: grid;
  grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(28px, 4vw, 56px);
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount :is(#sidenav, #account-content) {
  float: none;
  width: 100%;
  max-width: none;
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount #sidenav {
  padding: 24px;
  border: 1px solid #e5e1d9;
  border-radius: 14px;
  background: #fbfaf8;
  box-shadow: 0 10px 28px rgba(31,31,31,.06);
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount #sidenav #greetings {
  padding: 0 0 18px;
  border-color: #ddd7cc;
  font-size: 20px;
  line-height: 1.35;
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount #sidenav .side-cat {
  padding: 22px 0 8px;
  font-size: 17px;
  font-weight: 700;
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount #sidenav ul {
  margin: 0;
  padding: 0;
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount #sidenav ul li {
  display: block;
  width: 100%;
  margin: 4px 0;
  padding: 0;
  border-radius: 8px;
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount #sidenav ul li a {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 9px 12px;
  border-radius: 8px;
  font-size: 15px;
  line-height: 1.3;
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount #sidenav ul li img {
  width: 18px;
  height: 18px;
  margin: 0 10px 0 0;
  object-fit: contain;
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount #sidenav ul li:hover,
body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount #sidenav ul li:hover a {
  background: #111;
  color: #fff;
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount #account-content {
  min-height: 360px;
  padding: clamp(24px, 3vw, 38px);
  border: 1px solid #e5e1d9;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(31,31,31,.05);
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount #account-content .account-title {
  margin: 0 0 24px;
  padding: 0 0 14px;
  border-color: #ddd7cc;
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.25;
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount #account-content :is(input.full, select.full, textarea.full) {
  display: block;
  width: 100%;
  max-width: 620px;
  min-height: 46px;
  margin: 7px 0 16px;
  padding: 10px 13px;
  border: 1px solid #d9d5ce;
  border-radius: 8px;
  background: #fff;
  font-size: 15px;
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount #account-content :is(input.full, select.full, textarea.full):focus {
  border-color: #111;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(197,138,6,.16);
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount #account-content :is(.btn-black, input[type="button"], input[type="submit"]) {
  min-height: 42px;
  padding: 10px 18px;
  border-radius: 8px;
  font-size: 14px;
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount #account-content .entry {
  margin: 0;
  padding: 22px 0;
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount #account-content :is(address, p, label) {
  font-size: 15px;
  line-height: 1.55;
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount #account-content img.img-fluid {
  width: auto;
  max-width: min(100%, 220px);
  height: auto;
}

body.responsive-v2:is(
  #accounteditBody,
  #addressbookBody,
  #accountpasswordBody,
  #accounthistoryBody,
  #addressbookprocessBody,
  #accountnotificationsBody
) section#myaccount .break {
  display: none;
}

@media (max-width: 767px) {
  body.responsive-v2:is(
    #accounteditBody,
    #addressbookBody,
    #accountpasswordBody,
    #accounthistoryBody,
    #addressbookprocessBody,
    #accountnotificationsBody
  ) section#myaccount {
    padding: 20px 0 60px;
  }

  body.responsive-v2:is(
    #accounteditBody,
    #addressbookBody,
    #accountpasswordBody,
    #accounthistoryBody,
    #addressbookprocessBody,
    #accountnotificationsBody
  ) section#myaccount > .wrapper {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body.responsive-v2:is(
    #accounteditBody,
    #addressbookBody,
    #accountpasswordBody,
    #accounthistoryBody,
    #addressbookprocessBody,
    #accountnotificationsBody
  ) section#myaccount :is(#sidenav, #account-content) {
    padding: 20px;
    border-radius: 12px;
  }

  body.responsive-v2:is(
    #accounteditBody,
    #addressbookBody,
    #accountpasswordBody,
    #accounthistoryBody,
    #addressbookprocessBody,
    #accountnotificationsBody
  ) section#myaccount #sidenav ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  body.responsive-v2:is(
    #accounteditBody,
    #addressbookBody,
    #accountpasswordBody,
    #accounthistoryBody,
    #addressbookprocessBody,
    #accountnotificationsBody
  ) section#myaccount #sidenav ul li {
    margin: 0;
  }

  body.responsive-v2:is(
    #accounteditBody,
    #addressbookBody,
    #accountpasswordBody,
    #accounthistoryBody,
    #addressbookprocessBody,
    #accountnotificationsBody
  ) section#myaccount #sidenav ul li a {
    height: 100%;
    padding: 10px;
    border: 1px solid #e5e1d9;
    background: #fff;
    font-size: 14px;
  }

  body.responsive-v2:is(
    #accounteditBody,
    #addressbookBody,
    #accountpasswordBody,
    #accounthistoryBody,
    #addressbookprocessBody,
    #accountnotificationsBody
  ) section#myaccount #account-content :is(input.full, select.full, textarea.full) {
    max-width: none;
  }
}

/* My Account dashboard */
body#accountBody #checkout-navigation > .wrapper {
  padding-top: 20px;
}

body#accountBody #checkout-navigation #lang_dd {
  margin-bottom: 24px;
}

body#accountBody #checkout-navigation #breadcrumbs {
  margin: 0;
  padding: 12px 0 14px;
  font-size: 14px;
}

body#accountBody section#myaccount {
  padding: 34px 0 90px;
}

body#accountBody section#myaccount > .wrapper {
  display: grid;
  grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(28px, 4vw, 56px);
}

body#accountBody section#myaccount #sidenav,
body#accountBody section#myaccount #account-content {
  float: none;
  width: 100%;
  max-width: none;
}

body#accountBody section#myaccount #sidenav {
  padding: 24px;
  border: 1px solid #e5e1d9;
  border-radius: 14px;
  background: #fbfaf8;
  box-shadow: 0 10px 28px rgba(31, 31, 31, .06);
}

body#accountBody section#myaccount #sidenav #greetings {
  padding: 0 0 18px;
  border-color: #ddd7cc;
  font-size: 20px;
  line-height: 1.35;
}

body#accountBody section#myaccount #sidenav .side-cat {
  padding: 22px 0 8px;
  font-size: 17px;
  font-weight: 700;
}

body#accountBody section#myaccount #sidenav ul {
  margin: 0;
  padding: 0;
}

body#accountBody section#myaccount #sidenav ul li {
  display: block;
  width: 100%;
  margin: 4px 0;
  padding: 0;
  border-radius: 8px;
}

body#accountBody section#myaccount #sidenav ul li a {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 9px 12px;
  border-radius: 8px;
  font-size: 15px;
  line-height: 1.3;
}

body#accountBody section#myaccount #sidenav ul li img {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 0 10px 0 0;
  object-fit: contain;
}

body#accountBody section#myaccount #sidenav ul li:hover,
body#accountBody section#myaccount #sidenav ul li:hover a {
  background: #111;
  color: #fff;
}

body#accountBody section#myaccount #account-content {
  min-height: 360px;
  padding: clamp(24px, 3vw, 38px);
  border: 1px solid #e5e1d9;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(31, 31, 31, .05);
}

body#accountBody section#myaccount #account-content .account-title {
  margin: 0 0 24px;
  padding: 0 0 14px;
  border-color: #ddd7cc;
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.25;
}

body#accountBody section#myaccount #account-content p,
body#accountBody section#myaccount #account-content p.label {
  font-size: 16px;
  line-height: 1.55;
}

body#accountBody section#myaccount #account-content p.label {
  margin: 24px 0 12px;
}

body#accountBody section#myaccount #account-content ul.list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body#accountBody section#myaccount #account-content ul.list li {
  margin: 0;
}

body#accountBody section#myaccount #account-content .btn-black.mini {
  min-height: 40px;
  padding: 9px 16px !important;
  border: 1px solid #111;
  border-radius: 8px;
  font-size: 13px;
}

body#accountBody section#myaccount #account-content table.prev-order {
  display: table;
  margin: 16px 0 24px;
  font-size: 14px;
}

body#accountBody section#myaccount #account-content table.prev-order th,
body#accountBody section#myaccount #account-content table.prev-order td {
  padding: 12px 10px;
  vertical-align: middle;
}

body#accountBody section#myaccount .break {
  display: none;
}

@media (max-width: 767px) {
  body#accountBody #checkout-navigation > .wrapper {
    padding-top: 10px;
  }

  body#accountBody #checkout-navigation #breadcrumbs {
    margin-top: 10px;
  }

  body#accountBody section#myaccount {
    padding: 20px 0 60px;
  }

  body#accountBody section#myaccount > .wrapper {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body#accountBody section#myaccount #sidenav,
  body#accountBody section#myaccount #account-content {
    padding: 20px;
    border-radius: 12px;
  }

  body#accountBody section#myaccount #sidenav ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  body#accountBody section#myaccount #sidenav ul li {
    margin: 0;
  }

  body#accountBody section#myaccount #sidenav ul li a {
    height: 100%;
    padding: 10px;
    border: 1px solid #e5e1d9;
    background: #fff;
    font-size: 14px;
  }

  body#accountBody section#myaccount #account-content ul.list,
  body#accountBody section#myaccount #account-content ul.list li,
  body#accountBody section#myaccount #account-content ul.list a,
  body#accountBody section#myaccount #account-content .btn-black.mini {
    width: 100%;
  }

  body#accountBody section#myaccount #account-content table.prev-order {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
}
/* Country/language async-render feedback */
body.responsive-v2 #locale-update-overlay {
  position: fixed;
  inset: 0;
  z-index: 11000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(3px);
}

body.responsive-v2 #locale-update-overlay .locale-update-card {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 150px;
  padding: 14px 20px;
  border: 1px solid #e2ded6;
  border-radius: 10px;
  background: #fff;
  color: #222;
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 12px 35px rgba(0,0,0,.14);
}

body.responsive-v2 #locale-update-overlay .locale-update-spinner {
  width: 20px;
  height: 20px;
  border: 2px solid #e4e4e4;
  border-top-color: #111;
  border-radius: 50%;
  animation: locale-update-spin .7s linear infinite;
}

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

/* Shared layout for content maintained through Tools > Define Pages Editor. */
body.responsive-v2:is(
  #conditionsBody,
  #page2Body,
  #page3Body,
  #page4Body,
  #pagenotfoundBody,
  #discountcouponBody,
  #sitemapBody
) .centerColumn {
  width: min(1180px, calc(100% - 48px));
  min-height: 320px;
  margin: clamp(32px, 5vw, 72px) auto clamp(64px, 8vw, 112px);
  padding: clamp(30px, 4vw, 56px);
  border: 1px solid #e5e1d9;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(31, 31, 31, .06);
}

body.responsive-v2:is(
  #conditionsBody,
  #page2Body,
  #page3Body,
  #page4Body,
  #pagenotfoundBody,
  #discountcouponBody,
  #sitemapBody
) .centerColumn > h1 {
  margin: 0 0 clamp(24px, 3vw, 36px);
  padding: 0 0 16px;
  border-bottom: 1px solid #ddd7cc;
  color: #171717;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 600;
  line-height: 1.2;
}

body.responsive-v2:is(
  #conditionsBody,
  #page2Body,
  #page3Body,
  #page4Body,
  #pagenotfoundBody,
  #discountcouponBody,
  #sitemapBody
) .centerColumn .content {
  max-width: 920px;
  color: #333;
  font-size: 16px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

body.responsive-v2:is(
  #conditionsBody,
  #page2Body,
  #page3Body,
  #page4Body,
  #pagenotfoundBody,
  #discountcouponBody,
  #sitemapBody
) .centerColumn .content :is(h2, h3, h4) {
  margin: 1.6em 0 .65em;
  color: #1d1d1d;
  font-weight: 600;
  line-height: 1.3;
}

body.responsive-v2:is(
  #conditionsBody,
  #page2Body,
  #page3Body,
  #page4Body,
  #pagenotfoundBody,
  #discountcouponBody,
  #sitemapBody
) .centerColumn .content :is(p, ul, ol, table, blockquote) {
  margin-top: 0;
  margin-bottom: 1.15em;
}

body.responsive-v2:is(
  #conditionsBody,
  #page2Body,
  #page3Body,
  #page4Body,
  #pagenotfoundBody,
  #discountcouponBody,
  #sitemapBody
) .centerColumn .content :is(ul, ol) {
  padding-left: 1.4em;
}

body.responsive-v2:is(
  #conditionsBody,
  #page2Body,
  #page3Body,
  #page4Body,
  #pagenotfoundBody,
  #discountcouponBody,
  #sitemapBody
) .centerColumn .content :is(img, video, iframe) {
  max-width: 100%;
  height: auto;
}

body.responsive-v2:is(
  #conditionsBody,
  #page2Body,
  #page3Body,
  #page4Body,
  #pagenotfoundBody,
  #discountcouponBody,
  #sitemapBody
) .centerColumn .content table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
  -webkit-overflow-scrolling: touch;
}

body.responsive-v2:is(
  #conditionsBody,
  #page2Body,
  #page3Body,
  #page4Body,
  #pagenotfoundBody,
  #discountcouponBody,
  #sitemapBody
) .centerColumn .content :is(th, td) {
  padding: 10px 12px;
  border: 1px solid #e4e0d8;
  text-align: left;
  vertical-align: top;
}

body.responsive-v2:is(
  #conditionsBody,
  #page2Body,
  #page3Body,
  #page4Body,
  #pagenotfoundBody,
  #discountcouponBody,
  #sitemapBody
) .centerColumn .buttonRow.back {
  float: none;
  clear: both;
  margin-top: 32px;
}

body.responsive-v2:is(
  #conditionsBody,
  #page2Body,
  #page3Body,
  #page4Body,
  #pagenotfoundBody,
  #discountcouponBody,
  #sitemapBody
) .centerColumn .buttonRow.back a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

@media (max-width: 767px) {
  body.responsive-v2:is(
    #conditionsBody,
    #page2Body,
    #page3Body,
    #page4Body,
    #pagenotfoundBody,
    #discountcouponBody,
    #sitemapBody
  ) .centerColumn {
    width: calc(100% - 28px);
    min-height: 0;
    margin: 22px auto 64px;
    padding: 24px 20px;
    border-radius: 12px;
  }

  body.responsive-v2:is(
    #conditionsBody,
    #page2Body,
    #page3Body,
    #page4Body,
    #pagenotfoundBody,
    #discountcouponBody,
    #sitemapBody
  ) .centerColumn > h1 {
    margin-bottom: 22px;
    padding-bottom: 12px;
    font-size: clamp(25px, 8vw, 32px);
  }

  body.responsive-v2:is(
    #conditionsBody,
    #page2Body,
    #page3Body,
    #page4Body,
    #pagenotfoundBody,
    #discountcouponBody,
    #sitemapBody
  ) .centerColumn .content {
    font-size: 15px;
    line-height: 1.65;
  }
}

/* Checkout flow: shipping, payment and confirmation. */
body.responsive-v2:is(
  #checkoutshippingBody,
  #checkoutpaymentBody,
  #checkoutconfirmationBody
) #checkout-navigation > .wrapper {
  padding-top: 20px;
}

body.responsive-v2:is(
  #checkoutshippingBody,
  #checkoutpaymentBody,
  #checkoutconfirmationBody
) #checkout-navigation #breadcrumbs {
  margin: 0;
  padding: 12px 0 18px;
  font-size: 14px;
}

body.responsive-v2:is(
  #checkoutshippingBody,
  #checkoutpaymentBody,
  #checkoutconfirmationBody
) :is(
  #shipping-info,
  #shipping-methods,
  #billing-info,
  #payment-methods,
  #discount-coupon,
  #points-redemption,
  #comments,
  #cart-contents
) {
  min-height: 0;
  height: auto;
  padding: 0;
}

body.responsive-v2:is(
  #checkoutshippingBody,
  #checkoutpaymentBody,
  #checkoutconfirmationBody
) :is(
  #shipping-info,
  #shipping-methods,
  #billing-info,
  #payment-methods,
  #discount-coupon,
  #points-redemption,
  #comments,
  #cart-contents
) > .wrapper {
  width: min(1120px, calc(100% - 48px));
  max-width: 1120px;
  margin: 0 auto 24px;
  padding: clamp(26px, 3vw, 38px) !important;
  border: 1px solid #e5e1d9;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(31, 31, 31, .05);
}

body.responsive-v2:is(
  #checkoutshippingBody,
  #checkoutpaymentBody,
  #checkoutconfirmationBody
) :is(#shipping-info, #billing-info):first-of-type > .wrapper {
  margin-top: 30px;
}

body.responsive-v2:is(
  #checkoutshippingBody,
  #checkoutpaymentBody,
  #checkoutconfirmationBody
) p.checkout-title {
  margin: 0 0 22px;
  padding: 0 0 14px;
  border-bottom: 1px solid #ddd7cc;
  color: #1d1d1d;
  font-size: clamp(24px, 2.4vw, 32px);
  font-weight: 600;
  line-height: 1.25;
}

body.responsive-v2:is(
  #checkoutshippingBody,
  #checkoutpaymentBody,
  #checkoutconfirmationBody
) .shipping-content {
  padding: 0;
  border-top: 0;
  color: #444;
  font-size: 16px;
  line-height: 1.6;
}

body.responsive-v2:is(
  #checkoutshippingBody,
  #checkoutpaymentBody,
  #checkoutconfirmationBody
) .shipping-content :is(p, address, strong) {
  font-size: inherit;
  line-height: inherit;
}

body.responsive-v2:is(
  #checkoutshippingBody,
  #checkoutpaymentBody,
  #checkoutconfirmationBody
) .btn-black {
  min-height: 44px;
  padding: 10px 20px !important;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.2;
}

body.responsive-v2:is(
  #checkoutshippingBody,
  #checkoutpaymentBody,
  #checkoutconfirmationBody
) .messageStackError,
body.responsive-v2:is(
  #checkoutshippingBody,
  #checkoutpaymentBody,
  #checkoutconfirmationBody
) .messageStackWarning {
  margin: 0 0 20px;
  padding: 14px 16px;
  border-radius: 8px;
}

/* Shipping step */
body#checkoutshippingBody #shipping-info address {
  margin-bottom: 16px;
  padding: 18px 20px;
  border-radius: 10px;
  background: #f8f7f4;
}

body#checkoutshippingBody #shipping-methods .shipping-content {
  display: grid;
  gap: 12px;
}

body#checkoutshippingBody #shipping-methods .shipping-option {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #333;
  font-size: 16px;
  vertical-align: middle;
}

body#checkoutshippingBody #shipping-methods .shipping-option input[type="radio"] {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: #111;
}

body#checkoutshippingBody #shipping-methods .shipping-option label {
  margin: 0;
  cursor: pointer;
}

body#checkoutshippingBody #shipping-methods table {
  width: 100%;
  margin: 0 0 14px;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #e4e0d8;
  border-radius: 10px;
  overflow: hidden;
}

body#checkoutshippingBody #shipping-methods :is(td, th) {
  padding: 14px 16px;
  border-bottom: 1px solid #eeeae3;
  vertical-align: middle;
}

body#checkoutshippingBody #comments textarea {
  min-height: 130px;
  margin-bottom: 20px;
  border: 1px solid #d8d3ca;
  border-radius: 8px;
  resize: vertical;
}

body#checkoutshippingBody #deliveryInfoTable {
  width: 100%;
  margin: 0 0 20px;
}

body#checkoutshippingBody #deliveryInfoTable select {
  min-height: 44px;
  margin: 4px;
  padding: 8px 30px 8px 10px;
  border: 1px solid #d8d3ca;
  border-radius: 7px;
  background-color: #fff;
}

/* Payment step */
body#checkoutpaymentBody #billing-info {
  padding-bottom: 0;
}

body#checkoutpaymentBody #billing-info .shipping-content {
  margin-bottom: 30px;
}

body#checkoutpaymentBody #billing-info address {
  display: inline-block;
  min-width: min(100%, 420px);
  margin: 0 0 14px;
  padding: 18px 20px;
  border-radius: 10px;
  background: #f8f7f4;
}

body#checkoutpaymentBody #billing-info table,
body#checkoutconfirmationBody #cart-contents table {
  width: 100%;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #e4e0d8;
  border-radius: 10px;
  font-size: 15px;
  overflow: hidden;
}

body#checkoutpaymentBody #billing-info :is(th, td),
body#checkoutconfirmationBody #cart-contents :is(th, td) {
  padding: 13px 14px;
  border-bottom: 1px solid #eeeae3;
  vertical-align: middle;
}

body#checkoutpaymentBody #billing-info th,
body#checkoutconfirmationBody #cart-contents th {
  background: #f8f7f4;
  color: #222;
  font-weight: 700;
}

body#checkoutpaymentBody #billing-info td.total,
body#checkoutconfirmationBody #cart-contents td.total {
  border-top: 2px solid #222;
  border-bottom: 0;
  font-size: 17px;
}

body#checkoutpaymentBody #payment-methods {
  color: #444;
  font-size: 16px;
}

body#checkoutpaymentBody #payment-methods > .wrapper {
  padding-top: clamp(26px, 3vw, 38px) !important;
  border-top: 1px solid #e5e1d9;
}

body#checkoutpaymentBody #payment-methods .payment-category {
  margin: 0 0 14px;
  border: 1px solid #ddd8cf;
  border-radius: 11px;
  background: #fff;
  overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease;
}

body#checkoutpaymentBody #payment-methods .payment-category:hover {
  border-color: #bbb4a8;
  box-shadow: 0 8px 22px rgba(31, 31, 31, .06);
}

body#checkoutpaymentBody #payment-methods .payment-category.is-open {
  border-color: #c79a3b;
  box-shadow: 0 10px 28px rgba(31, 31, 31, .08);
}

body#checkoutpaymentBody #payment-methods .payment-category .paytitle {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 58px;
  padding: 15px 18px;
  border-bottom: 0 !important;
  background: #f8f7f4;
  color: #222;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  cursor: pointer;
}

body#checkoutpaymentBody #payment-methods .payment-category .paytitle i {
  color: #9c7a2f;
  transition: transform .2s ease;
}

body#checkoutpaymentBody #payment-methods .payment-category.is-open .paytitle {
  background: #fcfaf4;
}

body#checkoutpaymentBody #payment-methods .payment-category.is-open .paytitle i {
  transform: rotate(180deg);
}

body#checkoutpaymentBody #payment-methods .payment-category .paytitle:focus-visible {
  outline: 2px solid #222;
  outline-offset: -4px;
}

body#checkoutpaymentBody #payment-methods .payment-category .paytitle img {
  width: auto;
  max-width: 180px;
  max-height: 30px;
  margin-left: auto;
  object-fit: contain;
}

body#checkoutpaymentBody #payment-methods .payment-option {
  margin: 0;
  padding: 18px;
  border: 0;
  border-top: 1px solid #eeeae3;
  background: #fff;
}

body#checkoutpaymentBody #payment-methods > .wrapper > .payment-option {
  margin: 0 0 12px;
  border: 1px solid #ddd8cf;
  border-radius: 10px;
}

body#checkoutpaymentBody #payment-methods .payment-option .title {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 0;
  color: #222;
  font-size: 16px;
  line-height: 1.4;
}

body#checkoutpaymentBody #payment-methods .payment-option .title input[type="radio"] {
  flex: 0 0 auto;
  width: 21px;
  height: 21px;
  margin: 0;
  accent-color: #111;
}

body#checkoutpaymentBody #payment-methods .payment-option .title label {
  flex: 1 1 auto;
  margin: 0;
  padding: 4px 0;
  cursor: pointer;
}

body#checkoutpaymentBody #payment-methods .payment-option:has(input[type="radio"]:checked) {
  background: #fcfaf4;
  box-shadow: inset 4px 0 0 #c79a3b;
}

body#checkoutpaymentBody #payment-methods .payment-option .info {
  padding: 16px 0 0 33px;
  color: #555;
  font-size: 14px;
  line-height: 1.55;
}

body#checkoutpaymentBody #payment-methods .payment-option .info > img {
  width: auto;
  max-width: min(100%, 600px);
  max-height: 150px;
  object-fit: contain;
  object-position: left center;
}

body#checkoutpaymentBody #payment-methods #qr .payment-option .info > img {
  max-height: none;
  object-position: center;
}

body#checkoutpaymentBody #payment-methods .ccinfo {
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  gap: 10px 16px;
  align-items: center;
  max-width: 680px;
  margin-top: 14px;
}

body#checkoutpaymentBody #payment-methods .ccinfo :is(input, select, textarea) {
  width: 100%;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid #d8d3ca;
  border-radius: 7px;
}

body#checkoutpaymentBody :is(#discount-coupon, #points-redemption) .shipping-content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

body#checkoutpaymentBody #discount-coupon .shipping-content {
  display: block;
}

body#checkoutpaymentBody #discount-coupon .coupon-instructions {
  margin-bottom: 22px;
  color: #444;
  font-size: 16px;
  line-height: 1.65;
}

body#checkoutpaymentBody #discount-coupon .coupon-instructions br {
  display: block;
  margin-top: 10px;
  content: "";
}

body#checkoutpaymentBody #discount-coupon .coupon-code-field {
  display: grid;
  grid-template-columns: minmax(130px, max-content) minmax(220px, 360px);
  align-items: center;
  gap: 12px;
}

body#checkoutpaymentBody #discount-coupon .coupon-code-field .inputLabel {
  margin: 0;
  color: #333;
  font-weight: 600;
}

body#checkoutpaymentBody #discount-coupon .coupon-code-field .inputLabel::after {
  content: ":";
}

body#checkoutpaymentBody #discount-coupon .coupon-code-field input[type="text"] {
  width: 100%;
  margin: 0;
}

body#checkoutpaymentBody :is(#discount-coupon, #points-redemption, #comments) > .wrapper {
  min-height: 0;
  height: auto;
}

body.responsive-v2#checkoutpaymentBody #points-redemption > .wrapper {
  padding-top: 26px !important;
  padding-bottom: 26px !important;
}

body#checkoutpaymentBody #points-redemption .checkout-title {
  margin-bottom: 18px;
}

body#checkoutpaymentBody :is(#discount-coupon, #points-redemption) input[type="text"] {
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid #d8d3ca;
  border-radius: 7px;
}

body#checkoutpaymentBody section#comments {
  padding-bottom: 0;
}

body#checkoutpaymentBody section#comments textarea {
  height: 140px;
  min-height: 130px;
  margin-bottom: 20px;
  padding: 12px;
  border: 1px solid #d8d3ca;
  border-radius: 8px;
  resize: vertical;
}

/* Confirmation step */
body.responsive-v2#checkoutconfirmationBody #shipping-info {
  padding-top: 16px;
}

body#checkoutconfirmationBody #shipping-info > .wrapper {
  margin-top: 0;
}

body#checkoutconfirmationBody :is(#shipping-info, #billing-info) .shipping-content {
  display: block;
}

body#checkoutconfirmationBody :is(#shipping-info, #billing-info) address {
  display: block;
  width: min(100%, 520px);
  margin: 0;
  padding: 18px 20px;
  border-radius: 10px;
  background: #f8f7f4;
}

body#checkoutconfirmationBody :is(#shipping-info, #billing-info) .shipping-content > a {
  display: inline-block;
  margin: 14px 0 24px;
}

body#checkoutconfirmationBody :is(#shipping-info, #billing-info) .shipping-content > br {
  display: none;
}

body#checkoutconfirmationBody :is(#shipping-info, #billing-info) .shipping-content p {
  margin: 0 0 8px;
}

body#checkoutconfirmationBody :is(#shipping-info, #billing-info) strong.checkout-details {
  display: block;
  color: #444;
  font-size: 16px;
  line-height: 1.55;
}

body#checkoutconfirmationBody #billing-info strong.checkout-details img {
  display: inline-block;
  width: auto;
  max-width: 180px;
  max-height: 48px;
  margin: 4px 8px 4px 0;
  vertical-align: middle;
  object-fit: contain;
}

body#checkoutconfirmationBody #billing-info .bank-details {
  width: min(100%, 720px);
  min-width: 0;
  margin-top: 18px;
  padding: 18px 20px;
  border: 1px solid #e4e0d8;
  border-radius: 9px;
  background: #f8f7f4;
  font-size: 15px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

body#checkoutconfirmationBody #billing-info .shipping-content > .important:not(:empty) {
  width: min(100%, 720px);
  margin-top: 18px;
  padding: 18px 20px;
  border: 1px solid #e4e0d8;
  border-radius: 9px;
  background: #f8f7f4;
  color: #444;
  font-size: 15px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

body#checkoutconfirmationBody #billing-info .shipping-content > .important:empty {
  display: none;
}

body#checkoutconfirmationBody #comments .shipping-content p {
  margin-bottom: 16px;
}

body#checkoutconfirmationBody #cart-contents {
  padding-bottom: 0;
}

body#checkoutconfirmationBody #cart-contents .shipping-content {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

body#checkoutconfirmationBody #checkout_confirmation {
  width: 100%;
  margin: 22px 0 0;
  padding: 8px 0 0;
}

@media (max-width: 767px) {
  body.responsive-v2:is(
    #checkoutshippingBody,
    #checkoutpaymentBody,
    #checkoutconfirmationBody
  ) #checkout-navigation > .wrapper {
    padding-top: 10px;
  }

  body.responsive-v2:is(
    #checkoutshippingBody,
    #checkoutpaymentBody,
    #checkoutconfirmationBody
  ) :is(
    #shipping-info,
    #shipping-methods,
    #billing-info,
    #payment-methods,
    #discount-coupon,
    #points-redemption,
    #comments,
    #cart-contents
  ) > .wrapper {
    width: calc(100% - 28px);
    margin-bottom: 16px;
    padding: 22px 18px !important;
    border-radius: 11px;
  }

  body.responsive-v2:is(
    #checkoutshippingBody,
    #checkoutpaymentBody,
    #checkoutconfirmationBody
  ) :is(#shipping-info, #billing-info):first-of-type > .wrapper {
    margin-top: 18px;
  }

  body.responsive-v2:is(
    #checkoutshippingBody,
    #checkoutpaymentBody,
    #checkoutconfirmationBody
  ) p.checkout-title {
    margin-bottom: 18px;
    padding-bottom: 11px;
    font-size: 24px;
  }

  body.responsive-v2:is(
    #checkoutshippingBody,
    #checkoutpaymentBody,
    #checkoutconfirmationBody
  ) .row > [class*="col-md-"] {
    width: 100%;
    margin-bottom: 10px;
    text-align: stretch !important;
  }

  body.responsive-v2:is(
    #checkoutshippingBody,
    #checkoutpaymentBody,
    #checkoutconfirmationBody
  ) .row > [class*="col-md-"] .btn-black,
  body.responsive-v2:is(
    #checkoutshippingBody,
    #checkoutpaymentBody,
    #checkoutconfirmationBody
  ) .row > [class*="col-md-"] > .btn-black {
    width: 100%;
  }

  body#checkoutshippingBody #shipping-methods table,
  body#checkoutpaymentBody #billing-info table,
  body#checkoutconfirmationBody #cart-contents table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  body#checkoutshippingBody #deliveryInfoTable,
  body#checkoutshippingBody #deliveryInfoTable tbody,
  body#checkoutshippingBody #deliveryInfoTable tr,
  body#checkoutshippingBody #deliveryInfoTable td {
    display: block;
    width: 100%;
  }

  body#checkoutshippingBody #deliveryInfoTable select {
    width: 100%;
    margin: 4px 0;
  }

  body#checkoutpaymentBody #payment-methods .payment-category .paytitle {
    min-height: 54px;
    padding: 14px;
    font-size: 15px;
  }

  body#checkoutpaymentBody #payment-methods .payment-category .paytitle img {
    max-width: 120px;
    max-height: 26px;
  }

  body#checkoutpaymentBody #payment-methods .payment-option {
    padding: 16px 14px;
  }

  body#checkoutpaymentBody #payment-methods .payment-option .info {
    padding: 14px 0 0;
  }

  body#checkoutpaymentBody #payment-methods .ccinfo {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  body#checkoutpaymentBody :is(#discount-coupon, #points-redemption) .shipping-content,
  body#checkoutpaymentBody :is(#discount-coupon, #points-redemption) input,
  body#checkoutpaymentBody :is(#discount-coupon, #points-redemption) .btn-black {
    width: 100%;
  }

  body#checkoutpaymentBody #discount-coupon .coupon-instructions {
    margin-bottom: 18px;
  }

  body#checkoutpaymentBody #discount-coupon .coupon-code-field {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  body#checkoutconfirmationBody #checkout_confirmation {
    width: 100%;
    margin: 18px 0 0;
  }
}

/* Checkout success */
/* Company profile, brand and ingredients editorial pages. */
body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) #checkout-navigation > .wrapper {
  padding-top: 20px;
}

body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) #checkout-navigation #breadcrumbs {
  margin: 0;
  padding: 12px 0 18px;
  font-size: 14px;
}

body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section#custom.ingredients {
  padding: 30px 0 80px;
  color: #444;
}

body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section#custom.ingredients > .wrapper {
  width: min(1120px, calc(100% - 48px));
  max-width: 1120px;
  margin: 0 auto;
  padding: clamp(26px, 4vw, 46px);
  border: 1px solid #e5e1d9;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(31, 31, 31, .05);
}

body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients p.title {
  margin: 0 0 22px;
  padding: 0 0 14px;
  border-bottom: 1px solid #ddd7cc;
  color: #1d1d1d;
  font-size: clamp(27px, 3.4vw, 42px);
  font-weight: 600;
  line-height: 1.2;
}

body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients p.gold {
  margin: 30px 0 12px;
  color: #9b772d;
  font-size: clamp(20px, 2.2vw, 27px);
  font-weight: 600;
  line-height: 1.3;
}

body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients :is(p, li) {
  color: #4d4d4d;
  font-size: 16px;
  line-height: 1.75;
}

body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients p {
  margin: 0 0 14px;
}

body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients p strong {
  color: #252525;
  font-weight: 600;
}

body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients ul {
  margin: 10px 0 20px;
  padding-left: 22px;
}

body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients .line {
  height: 1px;
  margin: clamp(32px, 5vw, 54px) 0;
  border: 0;
  background: #e2ddd4;
}

body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients .row {
  display: grid;
  align-items: center;
  gap: clamp(22px, 4vw, 42px);
  margin: 26px 0;
}

body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients .row:has(> .col-md-8) {
  grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr);
}

body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients .row:has(> .col-md-6) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients .row:has(> .col-md-4:nth-child(3)),
body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients .row:last-child {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients .row > [class*="col-md-"] {
  float: none;
  width: 100%;
  max-width: none;
  min-width: 0;
  padding: 0;
}

body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients img.img-fluid {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto 18px;
  border-radius: 10px;
}

body.responsive-v2#companyprofileBody section.ingredients iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  margin: 26px 0;
  border: 0;
  border-radius: 12px;
  background: #111;
}

body.responsive-v2#brandBody section#brand.poster {
  width: min(1320px, calc(100% - 48px));
  height: auto;
  margin: 28px auto 24px;
  overflow: hidden;
  border-radius: 14px;
  background: #f4f1eb;
  box-shadow: 0 10px 28px rgba(31, 31, 31, .06);
}

body.responsive-v2#brandBody section#brand.poster #mobile-banner {
  display: block;
}

body.responsive-v2#brandBody section#brand.poster img {
  display: block;
  width: 100%;
  max-height: 520px;
  margin: 0;
  object-fit: cover;
  object-position: center;
}

body.responsive-v2#brandBody section#custom.ingredients {
  padding-top: 0;
}

body.responsive-v2#brandBody section.ingredients table {
  width: 100%;
  margin: 16px 0 34px;
  border: 1px solid #e2ddd4;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}

body.responsive-v2#brandBody section.ingredients table tr:nth-child(even) {
  background: #faf9f6;
}

body.responsive-v2#brandBody section.ingredients table td {
  padding: 13px 14px;
  border-bottom: 1px solid #ebe7df;
  color: #444;
  font-size: 15px;
  line-height: 1.55;
  vertical-align: middle;
}

body.responsive-v2#brandBody section.ingredients table tr:last-child td {
  border-bottom: 0;
}

body.responsive-v2#brandBody section.ingredients table td:first-child {
  width: 70px;
}

body.responsive-v2#brandBody section.ingredients table td:nth-child(2):empty,
body.responsive-v2#brandBody section.ingredients table td[width="30"] {
  width: 0;
  padding: 0;
}

body.responsive-v2#brandBody section.ingredients table img.img-fluid {
  width: 48px !important;
  max-width: 48px;
  margin: 0;
  border-radius: 0;
}

body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients .row:last-child {
  align-items: stretch;
  gap: 12px;
  margin: 38px 0 0;
  padding-top: 28px;
  border-top: 1px solid #e2ddd4;
}

body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients .row:last-child a {
  display: block;
  height: 100%;
}

body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients .row:last-child :is(.btn-black, .btn-white) {
  width: 100%;
  min-height: 46px;
  height: 100%;
  padding: 10px 14px !important;
  border-radius: 8px;
  white-space: normal;
}

@media (max-width: 767px) {
  body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section#custom.ingredients {
    padding: 18px 0 50px;
  }

  body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section#custom.ingredients > .wrapper,
  body.responsive-v2#brandBody section#brand.poster {
    width: calc(100% - 28px);
    border-radius: 11px;
  }

  body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section#custom.ingredients > .wrapper {
    padding: 22px 17px;
  }

  body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients .row,
  body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients .row:has(> .col-md-8),
  body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients .row:has(> .col-md-6),
  body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients .row:has(> .col-md-4:nth-child(3)),
  body.responsive-v2:is(#companyprofileBody, #brandBody, #ingredientsBody) section.ingredients .row:last-child {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body.responsive-v2#brandBody section#brand.poster {
    margin-top: 18px;
  }

  body.responsive-v2#brandBody section#brand.poster img {
    max-height: none;
    object-fit: contain;
  }

  body.responsive-v2#brandBody section.ingredients table td {
    padding: 11px 10px;
    font-size: 14px;
  }

  body.responsive-v2#brandBody section.ingredients table td:first-child {
    width: 58px;
  }
}

/* Contact page. */
body.responsive-v2#contactusBody #checkout-navigation > .wrapper {
  padding-top: 20px;
}

body.responsive-v2#contactusBody #checkout-navigation #breadcrumbs {
  margin: 0;
  padding: 12px 0 18px;
  font-size: 14px;
}

body.responsive-v2#contactusBody section#custom.ingredients {
  padding: 30px 0 80px;
}

body.responsive-v2#contactusBody section#custom.ingredients > .wrapper {
  width: min(1240px, calc(100% - 48px));
  max-width: 1240px;
  margin: 0 auto;
}

body.responsive-v2#contactusBody .contact-page-title {
  margin: 0 0 14px;
  color: #1d1d1d;
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 600;
  line-height: 1.15;
}

body.responsive-v2#contactusBody .contact-page-intro {
  max-width: 780px;
  margin-bottom: 34px;
  color: #555;
  font-size: 16px;
  line-height: 1.65;
}

body.responsive-v2#contactusBody .contact-page-intro p {
  margin: 0 0 10px;
  font-size: inherit;
}

body.responsive-v2#contactusBody .contact-page-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(340px, .8fr);
  align-items: stretch;
  gap: 24px;
  margin: 0;
}

body.responsive-v2#contactusBody .contact-page-grid > [class*="col-md-"] {
  float: none;
  flex: none;
  width: 100%;
  max-width: none;
  min-width: 0;
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid #e5e1d9;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(31, 31, 31, .05);
}

body.responsive-v2#contactusBody .contact-page-grid .heading {
  margin: 0 0 24px;
  padding: 0 0 13px;
  border-bottom: 1px solid #ddd7cc;
  color: #222;
  font-size: 23px;
  font-weight: 600;
  line-height: 1.3;
}

body.responsive-v2#contactusBody #contact_us_form {
  display: grid;
  gap: 17px;
}

body.responsive-v2#contactusBody #contact_us_form .heading {
  margin-bottom: 2px;
}

body.responsive-v2#contactusBody #contact_us_form .contact-field {
  display: grid;
  gap: 7px;
}

body.responsive-v2#contactusBody #contact_us_form .contact-field label {
  width: auto;
  margin: 0;
  color: #333;
  font-size: 14px;
  font-weight: 600;
}

body.responsive-v2#contactusBody #contact_us_form .contact-field :is(input, select, textarea) {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #d8d3ca;
  border-radius: 8px;
  background: #fff;
  color: #333;
  font-size: 15px;
}

body.responsive-v2#contactusBody #contact_us_form .contact-field textarea {
  height: 120px;
  min-height: 110px;
  resize: vertical;
}

body.responsive-v2#contactusBody #contact_us_form .contact-field :is(input, select, textarea):focus {
  border-color: #9b7a35;
  outline: 2px solid rgba(207, 162, 69, .18);
  outline-offset: 1px;
}

body.responsive-v2#contactusBody #contact_us_form .contact-captcha {
  max-width: 100%;
  overflow-x: auto;
}

body.responsive-v2#contactusBody #contact_us_form .contact-submit {
  display: flex;
  justify-content: flex-end;
  padding-top: 2px;
}

body.responsive-v2#contactusBody #contact_us_form .contact-submit .btn-black {
  min-width: 160px;
  min-height: 46px;
  padding: 11px 22px !important;
  border-radius: 8px;
}

body.responsive-v2#contactusBody .contact-details-card {
  color: #555;
  font-size: 15px;
  line-height: 1.65;
}

body.responsive-v2#contactusBody .contact-details-card .heading {
  white-space: normal;
}

body.responsive-v2#contactusBody .contact-details-card :is(p, address) {
  margin: 0 0 18px;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
}

body.responsive-v2#contactusBody .contact-details-card :is(a, strong) {
  overflow-wrap: anywhere;
}

body.responsive-v2#contactusBody .contact-details-card a {
  color: #70551f;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.responsive-v2#contactusBody :is(.messageStackError, .messageStackWarning, .mainContent.success) {
  margin: 0 0 22px;
  padding: 14px 16px;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.55;
}

body.responsive-v2#contactusBody section#brandlogos {
  margin-top: 34px;
  padding: 28px 20px;
  border-radius: 14px;
  background: #f8f7f4;
}

body.responsive-v2#contactusBody section#brandlogos > .wrapper {
  width: 100%;
}

body.responsive-v2#contactusBody section#brandlogos h1 {
  margin-bottom: 20px;
  font-size: clamp(22px, 3vw, 32px);
}

@media (max-width: 940px) {
  body.responsive-v2#contactusBody .contact-page-grid {
    grid-template-columns: 1fr;
  }

  body.responsive-v2#contactusBody .contact-details-card {
    columns: 2;
    column-gap: 32px;
  }

  body.responsive-v2#contactusBody .contact-details-card .heading {
    column-span: all;
  }
}

@media (max-width: 767px) {
  body.responsive-v2#contactusBody section#custom.ingredients {
    padding: 18px 0 50px;
  }

  body.responsive-v2#contactusBody section#custom.ingredients > .wrapper {
    width: calc(100% - 28px);
  }

  body.responsive-v2#contactusBody .contact-page-grid > [class*="col-md-"] {
    padding: 21px 17px;
    border-radius: 11px;
  }

  body.responsive-v2#contactusBody .contact-details-card {
    columns: auto;
  }

  body.responsive-v2#contactusBody #contact_us_form .contact-submit,
  body.responsive-v2#contactusBody #contact_us_form .contact-submit .btn-black {
    width: 100%;
  }
}

/* Account order details. */
body.responsive-v2#accounthistoryinfoBody #checkout-navigation > .wrapper {
  padding-top: 20px;
}

body.responsive-v2#accounthistoryinfoBody #checkout-navigation #breadcrumbs {
  margin: 0;
  padding: 12px 0 18px;
  font-size: 14px;
}

body.responsive-v2#accounthistoryinfoBody section#myaccount {
  padding: 30px 0 80px;
}

body.responsive-v2#accounthistoryinfoBody section#myaccount > .wrapper {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  align-items: start;
  gap: 28px;
  width: min(1320px, calc(100% - 48px));
  max-width: 1320px;
  margin: 0 auto;
}

body.responsive-v2#accounthistoryinfoBody section#myaccount :is(#sidenav, #account-content) {
  float: none;
  width: 100%;
  max-width: none;
}

body.responsive-v2#accounthistoryinfoBody section#myaccount #sidenav {
  overflow: hidden;
  border: 1px solid #e5e1d9;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(31, 31, 31, .04);
}

body.responsive-v2#accounthistoryinfoBody section#myaccount #sidenav #greetings {
  padding: 20px;
  border-bottom: 1px solid #e5e1d9;
  font-size: 20px;
}

body.responsive-v2#accounthistoryinfoBody section#myaccount #sidenav .side-cat {
  padding: 16px 20px 8px;
  font-size: 16px;
  font-weight: 600;
}

body.responsive-v2#accounthistoryinfoBody section#myaccount #sidenav ul {
  margin: 0;
  padding: 0 0 12px;
  list-style: none;
}

body.responsive-v2#accounthistoryinfoBody section#myaccount #sidenav ul li {
  display: block;
  width: 100%;
  padding: 0;
}

body.responsive-v2#accounthistoryinfoBody section#myaccount #sidenav ul li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  font-size: 14px;
}

body.responsive-v2#accounthistoryinfoBody section#myaccount #sidenav ul li img {
  width: 22px;
  height: 22px;
  margin: 0;
  object-fit: contain;
}

body.responsive-v2#accounthistoryinfoBody section#myaccount #account-content {
  padding: clamp(24px, 3vw, 36px);
  border: 1px solid #e5e1d9;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(31, 31, 31, .05);
  color: #444;
}

body.responsive-v2#accounthistoryinfoBody #account-content .order-date {
  display: inline-flex;
  margin: 0 0 14px;
  padding: 8px 12px;
  border-radius: 7px;
  background: #f4f1eb;
  color: #555;
  font-size: 14px;
}

body.responsive-v2#accounthistoryinfoBody #account-content .account-title {
  margin: 26px 0 16px;
  padding: 0 0 12px;
  border-bottom: 1px solid #ddd7cc;
  color: #1d1d1d;
  font-size: clamp(21px, 2vw, 28px);
  font-weight: 600;
  line-height: 1.3;
}

body.responsive-v2#accounthistoryinfoBody #account-content .account-title:first-of-type {
  margin-top: 0;
}

body.responsive-v2#accounthistoryinfoBody #account-content .order-table-wrap {
  width: 100%;
  overflow-x: auto;
  margin-bottom: 28px;
  border: 1px solid #e2ddd4;
  border-radius: 10px;
  -webkit-overflow-scrolling: touch;
}

body.responsive-v2#accounthistoryinfoBody #account-content table.order-info {
  width: 100%;
  min-width: 620px;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  font-size: 14px;
}

body.responsive-v2#accounthistoryinfoBody #account-content table.order-info :is(th, td) {
  padding: 14px 16px;
  border: 0;
  border-bottom: 1px solid #ebe7df;
  text-align: left;
  vertical-align: top;
}

body.responsive-v2#accounthistoryinfoBody #account-content table.order-info th {
  background: #f6f4ef;
  color: #222;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

body.responsive-v2#accounthistoryinfoBody #account-content table.order-info th:last-child,
body.responsive-v2#accounthistoryinfoBody #account-content .order-products-table td:last-child {
  text-align: right;
}

body.responsive-v2#accounthistoryinfoBody #account-content table.order-info tr:last-child td {
  border-bottom: 0;
}

body.responsive-v2#accounthistoryinfoBody #account-content .orderAttribsList {
  margin: 7px 0 0;
  padding-left: 18px;
  color: #777;
  font-size: 13px;
}

body.responsive-v2#accounthistoryinfoBody #account-content .order-total-row td {
  background: #faf9f6;
}

body.responsive-v2#accounthistoryinfoBody #account-content .order-total-row td:first-child {
  text-align: right;
}

body.responsive-v2#accounthistoryinfoBody #account-content .order-total-row:last-child td {
  color: #111;
  font-size: 16px;
  font-weight: 700;
}

body.responsive-v2#accounthistoryinfoBody #account-content .order-status-table td:first-child {
  white-space: nowrap;
}

body.responsive-v2#accounthistoryinfoBody #account-content .order-address-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 30px;
}

body.responsive-v2#accounthistoryinfoBody #account-content .order-detail-card {
  padding: 20px;
  border: 1px solid #e2ddd4;
  border-radius: 10px;
  background: #faf9f6;
}

body.responsive-v2#accounthistoryinfoBody #account-content .order-detail-card .account-title {
  margin: 0 0 14px;
  font-size: 19px;
}

body.responsive-v2#accounthistoryinfoBody #account-content .order-detail-card :is(address, p) {
  margin: 0 0 14px;
  color: #555;
  font-size: 14px;
  font-style: normal;
  line-height: 1.6;
}

body.responsive-v2#accounthistoryinfoBody #account-content .order-detail-card p:last-child {
  margin-bottom: 0;
}

body.responsive-v2#accounthistoryinfoBody section#myaccount .break {
  display: none;
}

@media (max-width: 900px) {
  body.responsive-v2#accounthistoryinfoBody section#myaccount > .wrapper {
    grid-template-columns: 1fr;
  }

  body.responsive-v2#accounthistoryinfoBody section#myaccount #sidenav ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body.responsive-v2#accounthistoryinfoBody section#myaccount {
    padding: 18px 0 50px;
  }

  body.responsive-v2#accounthistoryinfoBody section#myaccount > .wrapper {
    width: calc(100% - 28px);
    gap: 16px;
  }

  body.responsive-v2#accounthistoryinfoBody section#myaccount #sidenav ul,
  body.responsive-v2#accounthistoryinfoBody #account-content .order-address-grid {
    grid-template-columns: 1fr;
  }

  body.responsive-v2#accounthistoryinfoBody section#myaccount #account-content {
    padding: 20px 16px;
    border-radius: 11px;
  }

  body.responsive-v2#accounthistoryinfoBody #account-content .order-table-wrap {
    margin-right: -16px;
    margin-left: -16px;
    width: calc(100% + 32px);
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }
}

/* Checkout address selection: billing and shipping. */
body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) #checkout-navigation > .wrapper {
  padding-top: 20px;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) #checkout-navigation #breadcrumbs {
  margin: 0;
  padding: 12px 0 18px;
  font-size: 14px;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) #shipping-info {
  min-height: 0;
  height: auto;
  padding: 0;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) #shipping-info > .wrapper {
  width: min(1120px, calc(100% - 48px));
  max-width: 1120px;
  margin: 30px auto 24px;
  padding: clamp(26px, 3vw, 38px) !important;
  border: 1px solid #e5e1d9;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(31, 31, 31, .05);
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .checkout-title {
  margin: 0 0 22px;
  padding: 0 0 14px;
  border-bottom: 1px solid #ddd7cc;
  color: #1d1d1d;
  font-size: clamp(24px, 2.4vw, 32px);
  font-weight: 600;
  line-height: 1.25;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .checkout-address-form + .checkout-address-form {
  margin-top: 34px;
  padding-top: 34px;
  border-top: 1px solid #e5e1d9;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .current-address {
  margin-bottom: 26px;
  padding: 18px 20px;
  border: 1px solid #e7e2d9;
  border-radius: 10px;
  background: #f8f7f4;
  color: #444;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .current-address address {
  margin: 0 0 10px;
  color: #222;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.55;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .current-address p {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .checkout-address-form > .shipping-content:not(.current-address) {
  max-width: 900px;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields {
  display: grid;
  grid-template-columns: minmax(150px, 190px) minmax(0, 1fr);
  align-items: center;
  gap: 14px 20px;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields .required-information,
body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields .address-gender-field {
  grid-column: 1 / -1;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields .required-information {
  margin: 0 0 6px;
  padding: 12px 14px;
  border-radius: 7px;
  background: #f8f7f4;
  color: #555;
  font-size: 14px;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields .address-gender-field {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields .address-gender-field input[type="radio"] {
  width: 18px;
  height: 18px;
  margin: 0;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields .address-gender-field label {
  margin: 0 14px 0 0;
  cursor: pointer;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields > .inputLabel,
body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields #state_holder > .inputLabel {
  margin: 0;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields > :is(input, select),
body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields > :is(#state_holder, #city_holder, #city_area_holder, #barangay_holder) {
  grid-column: 2;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields :is(#state_holder, #city_holder) {
  width: 100%;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields #state_holder:has(#stateZone) #stateLabel,
body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields #state_holder:has(#stateZone) #state {
  display: none !important;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields #state_holder :is(input, select),
body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields #city_holder :is(input, select),
body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields :is(#city_area_holder, #barangay_holder) select {
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 9px 12px;
  border: 1px solid #d8d3ca;
  border-radius: 7px;
  background: #fff;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .checkout-address-form > .shipping-content:not(.current-address) > .inputLabel,
body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) #state_holder > .inputLabel {
  display: block;
  margin: 0 0 7px;
  color: #333;
  font-size: 14px;
  font-weight: 600;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .checkout-address-form > .shipping-content:not(.current-address) :is(input[type="text"], select) {
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 9px 12px;
  border: 1px solid #d8d3ca;
  border-radius: 7px;
  background: #fff;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .checkout-address-form > .shipping-content:not(.current-address) br.clearBoth {
  display: none;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .checkout-address-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 24px;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .checkout-address-actions .btn-black {
  min-width: 150px;
  min-height: 44px;
  padding: 10px 20px !important;
  border-radius: 8px;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .address-book-form > .shipping-content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  max-width: none !important;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .address-book-card {
  padding: 18px;
  border: 1px solid #ded9d0;
  border-radius: 10px;
  background: #fff;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .address-book-card.moduleRowSelected {
  border-color: #222;
  box-shadow: 0 0 0 1px #222;
  background: #faf9f6;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .address-book-card .name {
  margin: 0 0 10px;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .address-book-card .name label {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #222;
  font-weight: 600;
  cursor: pointer;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .address-book-card .name input {
  width: 18px;
  height: 18px;
  margin: 0;
}

body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .address-book-card address {
  margin: 0 0 0 28px;
  color: #555;
  font-size: 14px;
  font-style: normal;
  line-height: 1.55;
}

@media (max-width: 767px) {
  body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) #shipping-info > .wrapper {
    width: calc(100% - 28px);
    margin-top: 18px;
    padding: 22px 18px !important;
    border-radius: 11px;
  }

  body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .checkout-title {
    margin-bottom: 18px;
    padding-bottom: 11px;
    font-size: 24px;
  }

  body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .address-book-form > .shipping-content {
    grid-template-columns: 1fr;
  }

  body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields > *,
  body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields > :is(input, select),
  body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields > :is(#state_holder, #city_holder, #city_area_holder, #barangay_holder) {
    grid-column: 1;
  }

  body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields > :is(input, select),
  body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .new-address-fields > :is(#state_holder, #city_holder) {
    margin-bottom: 9px;
  }

  body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .checkout-address-actions,
  body.responsive-v2:is(#checkoutpaymentaddressBody, #checkoutshippingaddressBody) .checkout-address-actions :is(a, input, img) {
    width: 100%;
  }
}

body.responsive-v2#checkoutsuccessBody #checkout-navigation > .wrapper {
  padding-top: 20px;
}

body.responsive-v2#checkoutsuccessBody #checkout-navigation #breadcrumbs {
  margin: 0;
  padding: 12px 0 18px;
  font-size: 14px;
}

body.responsive-v2#checkoutsuccessBody #checkout-success {
  min-height: 0;
  height: auto;
  padding: 16px 0 90px;
}

body.responsive-v2#checkoutsuccessBody #checkout-success > .wrapper {
  width: min(920px, calc(100% - 48px));
  max-width: 920px;
  margin: 0 auto;
  padding: clamp(30px, 4vw, 52px) !important;
  border: 1px solid #e5e1d9;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(31, 31, 31, .06);
}

body.responsive-v2#checkoutsuccessBody #checkout-success .checkout-title {
  margin: 0 0 26px;
  padding: 0 0 16px;
  border-bottom: 1px solid #ddd7cc;
  color: #1d1d1d;
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 600;
  line-height: 1.2;
}

body.responsive-v2#checkoutsuccessBody #checkout-success .shipping-content {
  padding: 0;
  border: 0;
  color: #444;
  font-size: 16px;
  line-height: 1.65;
}

body.responsive-v2#checkoutsuccessBody #checkout-success .shipping-content > br {
  display: none;
}

body.responsive-v2#checkoutsuccessBody #checkout-success .shipping-content > p:first-of-type {
  margin: 0 0 22px;
  padding: 17px 20px;
  border-left: 4px solid #c79a3b;
  border-radius: 8px;
  background: #f8f7f4;
  color: #222;
  font-size: 18px;
  font-weight: 700;
}

body.responsive-v2#checkoutsuccessBody #checkoutSuccessMainContent,
body.responsive-v2#checkoutsuccessBody #checkout-success .shipping-content > .content {
  margin: 0 0 22px;
  padding: 20px;
  border: 1px solid #e7e2da;
  border-radius: 10px;
  background: #fcfbf9;
}

body.responsive-v2#checkoutsuccessBody #checkoutSuccessMainContent :last-child,
body.responsive-v2#checkoutsuccessBody #checkout-success .shipping-content > .content :last-child {
  margin-bottom: 0;
}

body.responsive-v2#checkoutsuccessBody #checkoutSuccessMainContent > br {
  display: none;
}

body.responsive-v2#checkoutsuccessBody #checkoutSuccessMainContent h2 {
  margin: 0 0 12px;
  color: #222;
  font-size: 24px;
  line-height: 1.3;
}

body.responsive-v2#checkoutsuccessBody #checkoutSuccessMainContent p {
  margin: 0 0 12px;
}

body.responsive-v2#checkoutsuccessBody #checkoutSuccessLogoff,
body.responsive-v2#checkoutsuccessBody #checkoutSuccessContactLink {
  margin: 18px 0;
  color: #555;
  font-size: 15px;
  line-height: 1.6;
}

body.responsive-v2#checkoutsuccessBody #checkoutSuccessContactLink {
  padding-top: 18px;
  border-top: 1px solid #e7e2da;
}

body.responsive-v2#checkoutsuccessBody #checkout-success .btn-black {
  min-width: 190px;
  min-height: 44px;
  margin: 0 0 12px;
  padding: 10px 20px !important;
  border-radius: 8px;
  font-size: 14px;
}

body.responsive-v2#checkoutsuccessBody #checkout-success a > .btn-black + br,
body.responsive-v2#checkoutsuccessBody #checkout-success a + br {
  display: none;
}

body.responsive-v2#checkoutsuccessBody #checkout-success form[name="order"] {
  margin: 14px 0 24px;
  padding: 20px;
  border: 1px solid #e7e2da;
  border-radius: 10px;
  background: #fcfbf9;
}

body.responsive-v2#checkoutsuccessBody #checkout-success form[name="order"] input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0 8px 10px 0;
  accent-color: #111;
  vertical-align: middle;
}

body.responsive-v2#checkoutsuccessBody #checkout-success form[name="order"] .checkboxLabel {
  display: inline;
  cursor: pointer;
}

body.responsive-v2#checkoutsuccessBody #checkout-success form[name="order"] > br {
  display: none;
}

body.responsive-v2#checkoutsuccessBody #checkout-success form[name="order"] > a {
  display: block;
  width: fit-content;
  margin-top: 16px;
}

body.responsive-v2#checkoutsuccessBody #checkout-success .success-title {
  margin: 28px 0 0;
  padding-top: 22px;
  border-top: 1px solid #ddd7cc;
  color: #222;
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

body.responsive-v2#checkoutsuccessBody #sendSpendWrapper {
  margin-bottom: 22px;
}

@media (max-width: 767px) {
  body.responsive-v2#checkoutsuccessBody #checkout-navigation > .wrapper {
    padding-top: 10px;
  }

  body.responsive-v2#checkoutsuccessBody #checkout-success {
    padding: 14px 0 60px;
  }

  body.responsive-v2#checkoutsuccessBody #checkout-success > .wrapper {
    width: calc(100% - 28px);
    padding: 24px 20px !important;
    border-radius: 12px;
  }

  body.responsive-v2#checkoutsuccessBody #checkout-success .checkout-title {
    margin-bottom: 22px;
    padding-bottom: 12px;
    font-size: 28px;
  }

  body.responsive-v2#checkoutsuccessBody #checkout-success .shipping-content {
    font-size: 15px;
  }

  body.responsive-v2#checkoutsuccessBody #checkout-success .shipping-content > p:first-of-type,
  body.responsive-v2#checkoutsuccessBody #checkoutSuccessMainContent,
  body.responsive-v2#checkoutsuccessBody #checkout-success .shipping-content > .content,
  body.responsive-v2#checkoutsuccessBody #checkout-success form[name="order"] {
    padding: 16px;
  }

  body.responsive-v2#checkoutsuccessBody #checkout-success .btn-black {
    width: 100%;
  }

  body.responsive-v2#checkoutsuccessBody #checkout-success form[name="order"] > a {
    width: 100%;
  }
}

/* Address book add/edit form spacing */
body.responsive-v2#addressbookprocessBody section#myaccount #account-content form[name="addressbook"] label.inputLabel {
  display: block;
  margin: 0;
  color: #333;
  font-weight: 700;
  line-height: 1.4;
}

body.responsive-v2#addressbookprocessBody section#myaccount #account-content form[name="addressbook"] :is(input.full, select.full, textarea.full) {
  margin: 6px 0 14px;
}

body.responsive-v2#addressbookprocessBody #account-content form[name="addressbook"] br.clearBoth,
body.responsive-v2#addressbookprocessBody #account-content form[name="addressbook"] :is(
  #state_holder,
  #city_holder,
  #city_area_holder,
  #barangay_holder
) > br {
  display: none;
}

body.responsive-v2#addressbookprocessBody #account-content form[name="addressbook"] :is(
  #state_holder,
  #city_holder,
  #city_area_holder,
  #barangay_holder
) {
  margin: 0;
  padding: 0;
}

body.responsive-v2#addressbookprocessBody #account-content form[name="addressbook"] #state_holder {
  position: relative;
  font-size: 0;
  line-height: 0;
}

body.responsive-v2#addressbookprocessBody #account-content form[name="addressbook"] #state_holder > span.alert {
  position: absolute;
  top: 16px;
  left: min(590px, calc(100% - 28px));
  z-index: 1;
  width: auto;
  height: auto;
  margin: 0;
  font-size: 15px;
  line-height: 1;
  pointer-events: none;
}

body.responsive-v2#addressbookprocessBody #account-content form[name="addressbook"] .checkboxLabel {
  display: inline-block;
  margin: 4px 0 18px 6px;
  vertical-align: middle;
}

/* Keep the document behind the mobile off-canvas navigation stationary. */
@media (max-width: 767px) {
  html.mobile-menu-scroll-locked {
    height: 100%;
    overflow: hidden !important;
    overscroll-behavior: none;
  }

  html.mobile-menu-scroll-locked body {
    position: fixed !important;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden !important;
  }

  html.mobile-menu-scroll-locked .mm-menu,
  html.mobile-menu-scroll-locked .mm-panel {
    overscroll-behavior: contain;
  }

  html.mobile-menu-scroll-locked .mm-panel {
    touch-action: pan-y;
  }
}

@media (max-width: 767px) {
  body.responsive-v2#addressbookprocessBody section#myaccount #account-content form[name="addressbook"] :is(input.full, select.full, textarea.full) {
    margin-bottom: 12px;
  }
}
