:root {
  --rdd-ink: #171817;
  --rdd-muted: #747670;
  --rdd-line: #deddd7;
  --rdd-paper: #faf9f5;
  --rdd-surface: #f0efe9;
  --rdd-accent: #dff200;
  --rdd-accent-dark: #748000;
  --rdd-radius: 0px;
}

html { scroll-behavior: smooth; }
body { background: var(--rdd-paper); color: var(--rdd-ink); }
.page-width { max-width: 145rem; padding-left: clamp(1.8rem, 5vw, 8rem); padding-right: clamp(1.8rem, 5vw, 8rem); }
.content-for-layout { overflow: hidden; }
h1, h2, h3, .h0, .h1, .h2 { color: var(--rdd-ink); letter-spacing: -0.035em; }
.button, button, input, select { border-radius: var(--rdd-radius) !important; }
.button { min-height: 5.4rem; font-weight: 700; letter-spacing: .06em; box-shadow: none !important; }
.button:not(.button--secondary) { background: var(--rdd-accent); color: var(--rdd-ink); border-color: var(--rdd-accent); }
.button--secondary { background: transparent; color: var(--rdd-ink); border-color: #969891; }

/* Header */
.header-wrapper { background: rgba(255,255,252,.95) !important; border-bottom: 1px solid var(--rdd-line); backdrop-filter: blur(14px); }
.header { min-height: 8.8rem; max-width: 160rem; margin: 0 auto; padding-left: clamp(1.8rem,5vw,8rem); padding-right: clamp(1.8rem,5vw,8rem); }
.header__heading-logo { max-height: 5.8rem; object-fit: contain; }
.rdd-header-logo-link { width:min(var(--logo-width),48vw); height:6.2rem; display:flex !important; align-items:center; overflow:hidden; }
.rdd-header-logo { width:100% !important; max-width:none !important; max-height:none !important; height:6.2rem !important; object-fit:contain !important; object-position:left center !important; }
.header__menu-item, .list-menu__item { font-size: 1.35rem; font-weight: 600; letter-spacing: .08em; }
.header__menu-item { position: relative; }
.header__menu-item::after { content:""; position:absolute; left:1.2rem; right:1.2rem; bottom:.4rem; height:2px; background:var(--rdd-accent); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.header__menu-item:hover::after { transform:scaleX(1); }
.header__icon { color: var(--rdd-ink) !important; }
.easystore-section-header-sticky .header-wrapper { box-shadow: 0 10px 30px rgba(40,41,37,.06); }
.template-index .header__logo_secondary { display:none !important; }
.template-index .header__logo_secondary + .header__heading-logo { display:block !important; }
.template-index #easystore-section-header:not(.easystore-section-header-sticky) .header__icon .icon,
.template-index #easystore-section-header:not(.easystore-section-header-sticky) nav .header__menu-item,
.template-index #easystore-section-header:not(.easystore-section-header-sticky) nav .header__menu-item * { color:var(--rdd-ink) !important; }

@media screen and (min-width: 990px) {
  .header.header--top-center {
    grid-template-areas:
      '. heading icons'
      'navigation navigation navigation';
    grid-template-columns: 1fr auto 1fr;
    row-gap: .35rem;
    min-height: 12.6rem;
    padding-top: 1.25rem;
    padding-bottom: 1rem;
  }
  .header.header--top-center .rdd-header-logo-link {
    justify-self: center;
    margin-left: 0;
  }
  .header.header--top-center .rdd-header-logo {
    object-position: center !important;
  }
  .header.header--top-center .header__inline-menu {
    width: 100%;
    margin: 0;
    justify-self: stretch;
  }
  .header.header--top-center .header__inline-menu > .list-menu--inline {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
  }
  .header.header--top-center .header__inline-menu > .list-menu--inline > li {
    flex: 0 0 auto;
  }
  .header.header--top-center .header__inline-menu > .list-menu--inline > li > .header__menu-item,
  .header.header--top-center .header__inline-menu > .list-menu--inline > li > details-disclosure > details > .header__menu-item {
    white-space: nowrap;
  }
}

/* Custom hero */
.rdd-hero { min-height: min(72rem, calc(100vh - 8.8rem)); position:relative; display:grid; align-items:center; background:#f4f2ed; overflow:hidden; }
.rdd-hero__media, .rdd-hero__overlay { position:absolute; inset:0; }
.rdd-hero__media img { width:100%; height:100%; object-fit:cover; object-position:66% center; }
.rdd-hero--video, .rdd-hero--video .rdd-hero__media { background:#000; }
.rdd-hero__video { position:absolute; inset:0; overflow:hidden; background:#000; pointer-events:none; }
.rdd-hero__video iframe { position:absolute; top:50%; left:50%; width:max(100vw,177.78vh); height:max(56.25vw,100vh); min-width:100%; min-height:100%; border:0; transform:translate(-50%,-50%); pointer-events:none; }
.rdd-hero__overlay { background:linear-gradient(90deg,rgba(250,249,245,.99) 0%,rgba(250,249,245,.88) 39%,rgba(250,249,245,.08) 70%); }
.rdd-hero--video .rdd-hero__overlay { background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.52) 42%,rgba(0,0,0,.08) 72%); }
.rdd-hero__content { position:relative; z-index:2; width:100%; padding-top:7rem; padding-bottom:7rem; }
.rdd-eyebrow { color:var(--rdd-accent-dark); font-size:1.15rem; font-weight:800; letter-spacing:.22em; margin:0 0 2.2rem; }
.rdd-hero h1 { max-width:70rem; margin:0; color:#fff; font-size:clamp(5rem,6.5vw,9.6rem); line-height:1.02; font-weight:800; text-shadow:0 3px 24px rgba(0,0,0,.28); }
.rdd-hero__lead { max-width:52rem; margin:2.6rem 0 3.4rem; color:#62645f; font-size:1.55rem; line-height:1.85; }
.rdd-hero__actions { display:flex; flex-wrap:wrap; gap:1.4rem; }
.rdd-button { min-width:21rem; min-height:6rem; display:flex; align-items:center; justify-content:space-between; padding:0 2.2rem; text-decoration:none; font-size:1.35rem; font-weight:800; letter-spacing:.07em; transition:.2s ease; }
.rdd-button span { margin-left:3rem; font-size:1.8rem; }
.rdd-button:hover { transform:translateY(-3px); }
.rdd-button--primary { background:var(--rdd-accent); color:var(--rdd-ink); }
.rdd-button--outline { background:rgba(255,255,255,.72); color:var(--rdd-ink); border:1px solid #9a9b96; }
.rdd-trust { display:grid; grid-template-columns:repeat(4,1fr); min-height:11rem; background:#fff; border-block:1px solid var(--rdd-line); padding:0 5vw; }
.rdd-trust>div { display:flex; align-items:center; justify-content:center; gap:1.8rem; border-right:1px solid var(--rdd-line); padding:2rem; }
.rdd-trust>div:last-child { border-right:0; }
.rdd-trust b { color:var(--rdd-accent-dark); font-size:2.4rem; }
.rdd-trust span,.rdd-trust strong,.rdd-trust small { display:block; }
.rdd-trust strong { font-size:1.35rem; letter-spacing:.07em; }
.rdd-trust small { color:#858781; font-size:1.05rem; margin-top:.4rem; }

/* Homepage sections */
.spaced-section { margin-top:0 !important; padding-top:9rem; padding-bottom:9rem; }
.title-wrapper-with-link { margin-bottom:3.8rem; }
.title-wrapper-with-link .title { font-size:clamp(3.2rem,4vw,5.2rem); font-weight:700; }
.template-index .multicolumn { background:var(--rdd-paper); }
.multicolumn-card { background:#fff !important; border:1px solid var(--rdd-line); }
.multicolumn-card__image-wrapper { margin:0 !important; }
.multicolumn-card__info { padding:2.4rem !important; text-align:left; }
.rdd-categories { padding-top:10rem; padding-bottom:10rem; }
.rdd-section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:3.8rem; }
.rdd-section-heading .rdd-eyebrow { margin-bottom:1rem; }
.rdd-section-heading h2 { margin:0; font-size:clamp(3.2rem,4vw,5.2rem); }
.rdd-section-heading>a { color:var(--rdd-ink); text-decoration:none; border-bottom:1px solid #999a95; padding-bottom:.7rem; font-weight:700; }
.rdd-section-heading>a span { margin-left:1.2rem; }
.rdd-category-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr; grid-template-rows:28rem 28rem; gap:1.4rem; }
.rdd-category-card { position:relative; overflow:hidden; color:var(--rdd-ink); text-decoration:none; background:var(--rdd-surface); border:1px solid var(--rdd-line); }
.rdd-category-split { display:grid; grid-template-rows:1fr 1fr; gap:1.4rem; min-width:0; min-height:0; }
.rdd-category-split .rdd-category-card__content { left:1.4rem; right:1.4rem; bottom:1rem; }
.rdd-category-split .rdd-category-card__content small { font-size:.95rem; margin-bottom:.2rem; }
.rdd-category-split .rdd-category-card__content strong { font-size:1.55rem; }
.rdd-category-split .rdd-category-card__content span { font-size:1.8rem; }
.rdd-category-grid>.rdd-category-card:first-child { grid-row:1/3; }
.rdd-category-grid>.rdd-category-card:nth-child(4) { grid-column:2/4; }
.rdd-category-card__media { position:absolute; inset:0; }
.rdd-category-card__media::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(255,255,255,.96),rgba(255,255,255,0) 65%); }
.rdd-category-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.rdd-category-card[data-index="3"] img,.rdd-category-card[data-index="4"] img { object-position:68% center; }
.rdd-category-card:hover img { transform:scale(1.035); }
.rdd-category-card__content { position:absolute; z-index:2; left:2.4rem; right:2.4rem; bottom:2.2rem; }
.rdd-category-card__content small,.rdd-category-card__content strong { display:block; }
.rdd-category-card__content small { color:#696b66; margin-bottom:.5rem; }
.rdd-category-card__content strong { font-size:2rem; }
.rdd-category-card__content span { position:absolute; right:0; bottom:0; color:var(--rdd-accent-dark); font-size:2.4rem; }
.collection-placeholder-wrapper .collection-placeholder-grid,
.collection-placeholder-wrapper>.card { display:none !important; }
.collection-placeholder-wrapper::after { content:"商品資料準備中・匯入商品後將自動顯示"; display:block; padding:7rem 2rem; text-align:center; background:var(--rdd-surface); border:1px solid var(--rdd-line); color:var(--rdd-muted); }

/* Product cards */
.product-grid { row-gap:5rem; }
.product-card-wrapper .card { background:var(--rdd-surface); border:1px solid #e2e1db; overflow:hidden; }
.product-card-wrapper .card__inner { background:var(--rdd-surface); }
.product-card-wrapper .media img { transition:transform .45s ease; }
.product-card-wrapper:hover .media img { transform:scale(1.035); }
.product-card-wrapper .card-information { padding:1.8rem .2rem 0; }
.card-information__text { color:var(--rdd-ink); font-size:1.55rem; font-weight:600; line-height:1.4; }
.card-information .price { margin-top:1rem; font-weight:700; }
.card__badge .badge { border-radius:0 !important; }
.card__badge .badge-circle { background:var(--rdd-accent); color:var(--rdd-ink); }
.product-card-options__item { border-color:var(--rdd-line) !important; }

/* Collection */
.template-collection .collection-hero, .template-search .collection-hero { background:var(--rdd-surface); border-bottom:1px solid var(--rdd-line); }
.collection-hero__title { font-size:clamp(4rem,6vw,7rem); }
.facets-container, .product-count { color:var(--rdd-muted); }
.facet-filters__sort, .mobile-facets__sort select { background:#fff; border:1px solid var(--rdd-line); }

/* Product detail */
.template-product .product { padding-top:5rem; padding-bottom:8rem; }
.product__media-wrapper { background:var(--rdd-surface); }
.product__info-wrapper { padding-left:clamp(3rem,5vw,8rem) !important; }
.product__title h1, .product__title { font-size:clamp(3.6rem,4.5vw,6.2rem); line-height:1.05; }
.product__info-container .price { font-size:2.1rem; font-weight:700; }
.product-form__input input[type=radio]+label { border-color:#c9c8c2; background:#fff; border-radius:0 !important; }
.product-form__input input[type=radio]:checked+label { background:var(--rdd-ink); color:#fff; border-color:var(--rdd-ink); }
.product-form__submit { background:var(--rdd-accent) !important; color:var(--rdd-ink) !important; border:0 !important; }
.product__description { color:#5f615c; line-height:1.9; }

/* Cart */
.template-cart .title-wrapper-with-link { padding-top:5rem; }
.cart-items, .cart__footer { background:#fff; border:1px solid var(--rdd-line); }
.cart-item { border-bottom:1px solid var(--rdd-line); }
.cart__checkout-button { background:var(--rdd-accent) !important; color:var(--rdd-ink) !important; }

/* Footer */
.footer { background:var(--rdd-surface) !important; border-top:1px solid var(--rdd-line); }
.footer__content-top { padding-top:7rem; padding-bottom:5rem; }
.footer-block__heading { font-size:1.3rem; letter-spacing:.12em; text-transform:uppercase; }
.footer a { color:#555751 !important; }
.footer__content-bottom { border-color:var(--rdd-line) !important; }

@media screen and (max-width: 989px) {
  .header { min-height:7.4rem; padding-left:1.8rem; padding-right:1.8rem; }
  .rdd-header-logo-link { width:min(var(--logo-width),52vw); height:5.4rem; }
  .rdd-header-logo { height:5.4rem !important; }
  .rdd-hero { min-height:67rem; align-items:end; }
  .rdd-hero__media img { object-position:67% center; }
  .rdd-hero__overlay { background:linear-gradient(0deg,rgba(250,249,245,.99) 0%,rgba(250,249,245,.9) 48%,rgba(250,249,245,.08) 88%); }
  .rdd-hero__content { padding-top:32rem; padding-bottom:4rem; }
  .rdd-hero h1 { font-size:clamp(4rem,11vw,6rem); }
  .rdd-trust { grid-template-columns:1fr 1fr; padding:1rem; }
  .rdd-trust>div:nth-child(2) { border-right:0; }
  .rdd-trust>div { justify-content:flex-start; border-bottom:1px solid var(--rdd-line); }
  .rdd-category-grid { grid-template-columns:1fr 1fr; grid-template-rows:36rem 38rem 24rem; }
  .rdd-category-grid>.rdd-category-card:first-child { grid-column:1/3; grid-row:auto; }
  .rdd-category-grid>.rdd-category-card:nth-child(4) { grid-column:1/3; }
  .product__info-wrapper { padding:3rem 1.8rem !important; }
}

@media screen and (max-width: 549px) {
  .rdd-hero__lead { font-size:1.35rem; }
  .rdd-hero__actions { display:grid; }
  .rdd-button { width:100%; }
  .rdd-trust { grid-template-columns:1fr; }
  .rdd-trust>div { border-right:0; }
  .rdd-section-heading>a { display:none; }
  .rdd-category-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; }
  .rdd-category-card { min-width:82vw; height:38rem; scroll-snap-align:start; }
  .rdd-category-split { min-width:82vw; height:38rem; scroll-snap-align:start; }
  .rdd-category-split .rdd-category-card { min-width:0; width:100%; height:auto; }
  .spaced-section { padding-top:6rem; padding-bottom:6rem; }
  .title-wrapper-with-link .title { font-size:3.2rem; }
}
/* RDD homepage fourth image banner: white overlay copy */
@media screen and (min-width: 750px) {
  #Banner1684412368816 .banner__heading,
  #Banner1684412368816 .banner__text,
  #Banner1684412368816 .banner__heading span,
  #Banner1684412368816 .banner__text span {
    color: #fff !important;
  }

  #Banner1684412368816 .banner__buttons .button {
    color: #fff !important;
    border-color: #fff !important;
    box-shadow: 0 0 0 1px #fff !important;
  }
}
