@layer components {
  .breadcrumb {
    padding: 20px 0 0;
    background-color: #fff;
    border-block-start: 1px solid #ececec;
  }
  @media (max-width: 640px) {
    .breadcrumb {
      margin: 2px 0 0 -6px;
      padding: 7px 0 9px;
      border-block-end: 1px solid #ececec;
    }
  }
  .breadcrumb__list {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    color: #747474;
    font-family: var(--font-ja, "Noto Sans JP", sans-serif);
    font-size: 11px;
    letter-spacing: 0.22px;
    gap: 13px;
    list-style: none;
  }
  @media (max-width: 640px) {
    .breadcrumb__list {
      font-size: 10px;
      gap: 7px;
    }
  }
  .breadcrumb__item {
    display: flex;
    align-items: center;
    color: #747474;
    font-weight: 400;
    line-height: 1.5;
  }
  .breadcrumb__item:not(:last-child)::after {
    display: inline-block;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='10' viewBox='0 0 5 10' fill='none'%3E%3Cpath d='M0.311705 5.36347e-08C0.232631 5.45393e-08 0.15171 0.033567 0.0910258 0.0987265C-0.0303421 0.229045 -0.0303421 0.442294 0.0910258 0.572613L4.24513 5.03307L0.15171 9.42837C0.0303417 9.55869 0.0303417 9.77194 0.15171 9.90226C0.273078 10.0326 0.471681 10.0326 0.593049 9.90226L4.90897 5.27002C5.03034 5.1397 5.03034 4.92645 4.90897 4.79613L0.534204 0.0987265C0.471681 0.0315925 0.392617 5.27091e-08 0.311705 5.36347e-08Z' fill='%23747474'/%3E%3C/svg%3E") no-repeat center/100% 100%;
    content: "";
    margin-inline-start: 14px;
    inline-size: 5px;
    block-size: 10px;
  }
  @media (max-width: 640px) {
    .breadcrumb__item:not(:last-child)::after {
      margin-inline-start: 7px;
      block-size: 7px;
    }
  }
  .breadcrumb__item a {
    color: inherit;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    text-underline-position: from-font;
    transition: opacity var(--transition-duration-base) ease;
  }
  .breadcrumb__item a:hover {
    opacity: 0.7;
  }
  .breadcrumb__item span {
    color: inherit;
  }
}
@layer components {
  .detail-page {
    margin-block: 84px 0;
  }
  .detail-container {
    display: flex;
    flex-direction: column;
    gap: 60px;
    margin-block-end: 80px;
  }
  .detail-columns {
    display: flex;
    align-items: flex-start;
    gap: 78px;
  }
  .detail-column {
    display: flex;
    flex-direction: column;
  }
  .detail-column--left {
    flex: 1;
    min-inline-size: 0;
    gap: 26px;
  }
  .detail-column--right {
    flex: 0 0 582px;
    gap: 48px;
  }
  .detail-sections {
    display: flex;
    flex-direction: column;
    gap: 25px;
    inline-size: 100%;
    max-inline-size: 662px;
  }
  .detail-section {
    position: relative;
    padding: 34px 38px 29px 28px;
    background: #efefef;
  }
  .detail-section__inner {
    display: flex;
    gap: 40px;
  }
  .detail-section__image {
    inline-size: 200px;
    block-size: 200px;
    background: #d9d9d9;
  }
  .detail-section__image img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
  }
  .detail-section__content {
    flex: 1;
  }
  .detail-section__header {
    display: flex;
    flex-direction: column;
  }
  .detail-section__title {
    font-family: var(--font-display, "Libre Caslon Text", serif);
    font-size: 26px;
    font-weight: 400;
    letter-spacing: 1.1px;
    margin-block: 2px 0;
  }
  .detail-section__subtitle {
    margin-block: 4px 20px;
    font-family: var(--font-ja, "Noto Sans JP", sans-serif);
    font-size: 12px;
    letter-spacing: 0.6px;
  }
  .detail-section__text {
    margin: 0 0 12px;
    font-family: var(--font-ja-serif);
    font-size: 15px;
    font-weight: 500;
    line-height: 24px;
    letter-spacing: 0.42px;
  }
  .detail-section__more {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    margin: 0;
    color: var(--color-accent);
    font-family: var(--font-ja, "Noto Sans JP", sans-serif);
    font-size: 14px;
    letter-spacing: 0.28px;
    text-decoration: underline;
    cursor: pointer;
  }
  .detail-section__more:hover {
    opacity: 0.7;
  }
  .detail-section__more::after {
    display: block;
    border-top: 1px solid var(--color-accent);
    border-right: 1px solid var(--color-accent);
    content: "";
    transform: rotate(45deg);
    inline-size: 10px;
    block-size: 10px;
  }
  .product-gallery__main {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-block-end: 23px;
    background: var(--color-bg, #fff);
    aspect-ratio: 1;
  }
  .product-gallery__main img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
  }
  .product-gallery__thumbnails {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 20px;
  }
  .product-gallery__sold-out {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    pointer-events: none;
  }
  .product-gallery__sold-out span {
    display: block;
    padding: 16px 30px;
    background: var(--color-red);
    color: #fff;
    font-family: var(--font-en, Inter, sans-serif);
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 2.4px;
    text-transform: uppercase;
  }
  @media (max-width: 640px) {
    .product-gallery__sold-out span {
      font-size: 20px;
    }
  }
  .product-info__header {
    margin-block-end: 24px;
  }
  .product-info__title {
    margin-block: 18px 23px;
    font-family: var(--font-ja-serif);
    font-size: 26px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 1.68px;
  }
  .product-info__meta {
    display: flex;
    gap: 6px;
    margin-block-end: 36px;
    font-family: var(--font-ja, "Noto Sans JP", sans-serif);
    font-size: 16px;
    letter-spacing: 0.32px;
  }
  .product-info__meta-label {
    color: #444;
  }
  .product-info__meta-value {
    color: var(--color-fg, #1a1a1a);
  }
  .product-info__price {
    display: flex;
    align-items: baseline;
    gap: 16px;
    margin-block-end: 31px;
  }
  .product-info__price--has-sale .product-info__price-original .price-value {
    text-decoration: line-through;
  }
  .product-info__price--soldout {
    color: var(--color-red);
    font-family: var(--font-ja-serif);
    font-size: 23.5px;
    font-weight: 600;
    letter-spacing: 1.2px;
  }
  @media (max-width: 640px) {
    .product-info__price--soldout {
      font-size: 15px;
    }
  }
  .product-info__price-original {
    color: var(--color-accent);
    font-family: var(--font-price);
    font-size: 29px;
    font-weight: 600;
    letter-spacing: 1.2px;
  }
  .product-info__price-current {
    color: var(--color-red);
    font-family: var(--font-price);
    font-size: 29px;
    font-weight: 600;
    letter-spacing: 1.2px;
  }
  .product-info__price-sale {
    color: var(--color-accent);
    font-size: 32px;
    font-weight: 500;
    letter-spacing: 1.6px;
  }
  .product-info__price-tax {
    color: #666;
    font-size: 16px;
  }
  .product-info__description {
    margin-block-end: 32px;
    font-family: var(--font-ja-serif);
    font-size: 18px;
    line-height: 30px;
    letter-spacing: 1.08px;
  }
  .product-info__description p {
    font-weight: 500;
  }
  .product-info__actions {
    display: flex;
    flex-direction: column;
    gap: 19px;
    margin-block-end: 31px;
  }
  .product-info__favorite {
    display: flex;
    align-items: center;
    font-family: var(--font-ja, "Noto Sans JP", sans-serif);
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.54px;
    cursor: pointer;
    gap: 16px;
    margin-block-end: 51px;
  }
  .product-info__favorite:hover {
    opacity: 0.7;
  }
  .product-info__favorite.is-active .product-info__favorite-icon {
    color: var(--color-accent);
  }
  .product-info__favorite.is-active .product-info__favorite-svg path {
    fill: currentcolor;
  }
  .product-info__favorite img, .product-info__favorite-icon {
    inline-size: 25px;
    block-size: 25px;
  }
  .product-info__favorite-icon {
    display: block;
    flex: 0 0 auto;
    color: var(--color-fg);
    inline-size: 25px;
    block-size: 25px;
  }
  .product-info__favorite-svg {
    display: block;
    inline-size: 100%;
    block-size: 100%;
  }
  .product-info__favorite-svg path {
    fill: transparent;
    stroke: currentcolor;
    stroke-width: 1.8px;
    transition: fill var(--transition-duration-base) ease;
  }
  .product-info__favorite-link {
    color: inherit;
    text-decoration: none;
  }
  .btn-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-fg);
    border: 0;
    color: var(--color-bg, #fff);
    font-family: var(--font-ja, "Noto Sans JP", sans-serif);
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1.08px;
    text-align: center;
    transition: opacity var(--transition-duration-base) ease;
    cursor: pointer;
    inline-size: 582px;
    block-size: 74px;
    padding-block-end: 6px;
  }
  @media (max-width: 640px) {
    .btn-primary {
      padding-block-end: 0;
    }
  }
  .btn-primary:hover {
    opacity: 0.85;
  }
  .btn-sold-out {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #d9d9d9;
    border: 0;
    color: #fff;
    font-family: var(--font-ja, "Noto Sans JP", sans-serif);
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1.08px;
    text-align: center;
    cursor: not-allowed;
    inline-size: 582px;
    block-size: 73px;
  }
  @media (max-width: 640px) {
    .btn-sold-out {
      inline-size: 100%;
      block-size: 62px;
      font-size: 17px;
      letter-spacing: 0.84px;
    }
  }
  .btn-secondary {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-bg, #fff);
    border: 1px solid var(--color-fg, #1a1a1a);
    color: var(--color-fg, #1a1a1a);
    font-family: var(--font-ja, "Noto Sans JP", sans-serif);
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1.08px;
    text-align: center;
    transition: opacity var(--transition-duration-base) ease;
    cursor: pointer;
    inline-size: 582px;
    block-size: 73px;
  }
  .btn-secondary:hover {
    opacity: 0.85;
  }
  .btn {
    padding: 16px 32px;
    border: none;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.8px;
    text-align: center;
    transition: opacity var(--transition-duration-base);
    cursor: pointer;
  }
  .btn:hover {
    opacity: 0.8;
  }
  .btn--primary {
    background: var(--color-accent);
    color: #fff;
  }
  .btn--secondary {
    background: #fff;
    border: 1px solid var(--color-accent);
    color: var(--color-accent);
  }
  .btn--large {
    inline-size: 100%;
    padding: 20px 32px;
    font-size: 18px;
  }
  .detail-brand {
    margin-block: 96px 89px;
  }
  .detail-brand__heading {
    margin-block-end: 30px;
    font-family: var(--font-ja, "Noto Sans JP", sans-serif);
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1.08px;
  }
  .detail-brand__content {
    display: flex;
    flex-direction: column;
    gap: 35px;
  }
  .detail-brand__logo {
    inline-size: 96px;
    block-size: 53px;
  }
  .detail-brand__logo img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: contain;
  }
  .detail-brand__text {
    font-family: var(--font-ja-serif);
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0.96px;
  }
  .detail-brand__text p {
    margin: 0;
  }
  .detail-brand__content--intro .brand-intro {
    display: flex;
    flex-direction: column;
    gap: 27px;
    margin: 0;
    padding: 0;
  }
  @media (max-width: 640px) {
    .detail-brand__content--intro .brand-intro {
      gap: 14px;
    }
  }
  .detail-brand__content--intro .brand-intro__image img,
  .detail-brand__content--intro .brand-intro__image svg {
    inline-size: 100%;
    block-size: 100%;
    max-width: none;
    max-height: none;
    object-fit: contain;
  }
  .detail-brand__content--intro .brand-intro__inline-svg {
    display: inline-block;
    flex-shrink: 0;
    inline-size: var(--brand-logo-width, 100%);
    block-size: var(--brand-logo-height, 100%);
  }
  .detail-brand__content--intro .brand-intro__inline-svg img {
    display: block;
    inline-size: 100%;
    block-size: 100%;
    max-width: none;
    max-height: none;
    object-fit: contain;
  }
  @media (max-width: 640px) {
    .detail-brand__content--intro .brand-intro__inline-svg img {
      width: 85%;
    }
  }
  .detail-brand__content--intro .brand-intro__content {
    margin: 0;
  }
  .detail-brand__content--intro .brand-intro__title,
  .detail-brand__content--intro .brand-intro__subtitle {
    display: none;
  }
  .detail-brand__content--intro .brand-intro__text {
    font-family: var(--font-ja-serif);
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0.2px;
  }
  .detail-brand__content--intro .brand-intro__text p {
    margin: 0;
    font-size: 17px;
    font-weight: 500;
  }
  @media (max-width: 640px) {
    .detail-brand__content--intro .brand-intro__text p {
      font-size: 15px;
      line-height: 1.8;
    }
  }
  .detail-brand__subtitle {
    margin-block-end: 30px;
    color: var(--color-fg);
    font-size: 15px;
    letter-spacing: 0.9px;
  }
  .detail-brand__description {
    color: var(--color-fg);
    font-size: 18px;
    line-height: 32px;
    letter-spacing: 1.08px;
  }
  .product-spec {
    margin-block: 40px 60px;
  }
  .product-spec__title {
    margin-block-end: 15px;
    font-family: var(--font-ja, "Noto Sans JP", sans-serif);
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1.08px;
  }
  .product-spec__table {
    display: flex;
    flex-direction: column;
    inline-size: 100%;
  }
  .product-spec__row {
    display: flex;
    border-block-end: 1px solid #E4E4E4;
  }
  .product-spec__row:first-child {
    border-block-start: 1px solid #E4E4E4;
  }
  .product-spec__label {
    flex: 0 0 143px;
    color: #444;
    font-family: var(--font-ja, "Noto Sans JP", sans-serif);
    font-size: 15px;
    font-weight: 500;
    line-height: 26px;
    letter-spacing: 0.84px;
    padding-block: 13px 16px;
  }
  .product-spec__value {
    flex: 1;
    color: #444;
    font-family: var(--font-ja, "Noto Sans JP", sans-serif);
    font-size: 15px;
    padding-block: 13px 16px;
    line-height: 26px;
    letter-spacing: 0.84px;
  }
  .product-spec__value p {
    margin-block: 0 4px;
  }
  .product-spec__value .product-spec__measurements {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4px 0;
    margin: 0;
    padding: 0;
    line-height: 1.9;
  }
  .product-spec__value .product-spec__measurements-term {
    margin: 0;
    font-weight: 500;
    letter-spacing: 0;
    white-space: nowrap;
  }
  .product-spec__value .product-spec__measurements-term--wrap {
    display: inline;
    grid-column: 1/-1;
    letter-spacing: inherit;
    white-space: normal;
  }
  .product-spec__value .product-spec__measurements-desc {
    margin: 0;
    white-space: nowrap;
  }
  .product-description__title {
    margin-block-end: 20px;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 1px;
  }
  .product-description__content {
    color: #333;
    font-size: 16px;
    line-height: 28px;
    letter-spacing: 0.8px;
  }
  .product-description__content p {
    margin-block-end: 16px;
  }
  .product-description__content p:last-child {
    margin-block-end: 0;
  }
  .product-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-block: 16px 8px;
  }
  .product-rating__star {
    inline-size: 16px;
    block-size: 16px;
  }
  @media (max-width: 640px) {
    .product-rating__star {
      inline-size: 18px;
      block-size: 18px;
    }
  }
  .product-rating__value {
    font-family: var(--font-en, Inter, sans-serif);
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.3px;
  }
  @media (max-width: 640px) {
    .product-rating__value {
      font-size: 17px;
    }
  }
  .product-rating__max {
    font-family: var(--font-en, Inter, sans-serif);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.24px;
  }
  @media (max-width: 640px) {
    .product-rating__max {
      font-size: 15px;
    }
  }
  .product-spec__value .product-rating {
    margin-block: 0 12px;
  }
  .detail-features {
    margin-block: 90px 0;
  }
  .detail-features__divider {
    margin-block: 40px;
    border: 0;
    border-block-start: 1px solid #c7c7c7;
  }
  .detail-features__grid {
    display: flex;
    justify-content: space-between;
    margin-block: 42px;
    padding: 13px 15px 4px;
  }
  .detail-features__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .detail-features__content {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .detail-features__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
    background: #EDF4F1;
    border-radius: 50%;
    inline-size: 91px;
    block-size: 91px;
  }
  .detail-features__icon img {
    max-inline-size: 48px;
    max-block-size: 48px;
  }
  .detail-features__icon .detail-features__icon-img--shipping {
    inline-size: 39px;
    block-size: 26px;
    max-inline-size: 39px;
    max-block-size: 26px;
  }
  .detail-features__title {
    margin-block: 17px 8px;
    color: var(--color-accent);
    font-family: var(--font-ja-serif);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 1.32px;
  }
  .detail-features__description {
    font-family: var(--font-ja-serif);
    font-size: 16px;
    font-weight: 500;
    line-height: 26px;
    letter-spacing: 0.168px;
    margin-block-start: 11px;
  }
  .related-products__title {
    font-family: var(--font-ja, "Noto Sans JP", sans-serif);
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 1.56px;
    margin-block-end: 31px;
  }
  .related-products__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
  }
  .related-products__slider {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
  }
  .detail-accordion__item {
    padding: 0;
    background: var(--color-bg, #fff);
    border: 1px solid #bababa;
    margin-block-end: 17px;
  }
  .detail-accordion__item.is-open .detail-accordion__icon {
    transform: rotate(45deg);
  }
  .detail-accordion__item.is-open .detail-accordion__content {
    max-height: none;
    opacity: 1;
  }
  .detail-accordion__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 22px 19px;
    background: transparent;
    border: 0;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    inline-size: 100%;
    list-style: none;
    appearance: none;
  }
  .detail-accordion__header:hover {
    opacity: 0.9;
  }
  @media (max-width: 640px) {
    .detail-accordion__header {
      padding: 15px 26px 15px 20px;
    }
  }
  .detail-accordion__title {
    font-family: var(--font-ja, "Noto Sans JP", sans-serif);
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.96px;
  }
  .detail-accordion__icon {
    position: relative;
    inline-size: 13px;
    block-size: 13px;
    transition: transform var(--transition-duration-base, 0.2s) ease;
  }
  .detail-accordion__icon::before, .detail-accordion__icon::after {
    position: absolute;
    inset: 0;
    margin: auto;
    background: var(--color-fg);
    content: "";
  }
  .detail-accordion__icon::before {
    inline-size: 1px;
    block-size: 100%;
  }
  .detail-accordion__icon::after {
    inline-size: 100%;
    block-size: 1px;
  }
  .detail-accordion__content {
    overflow: hidden;
    max-height: 0;
    padding: 24px 24px 28px;
    opacity: 0;
    line-height: 1.6;
    transition: max-height var(--transition-duration-base, 0.2s) ease, opacity var(--transition-duration-base, 0.2s) ease;
  }
  .detail-accordion__content[hidden] {
    display: none;
  }
  .detail-accordion__content h4 {
    padding-bottom: 8px;
    border-bottom: 1px solid #e4e4e4;
    color: #333;
    font-family: var(--font-ja, "Noto Sans JP", sans-serif);
    font-size: 16px;
    font-weight: 500;
    margin-block: 24px 16px;
  }
  @media (max-width: 640px) {
    .detail-accordion__content h4 {
      font-size: 17px;
    }
  }
  .detail-accordion__content h4:first-child {
    margin-top: 0;
  }
  .detail-accordion__content p {
    color: #444;
    margin-block-end: 16px;
  }
  @media (max-width: 640px) {
    .detail-accordion__content p {
      font-size: 17px;
    }
  }
  .detail-accordion__content p:last-child {
    margin-block-end: 0;
  }
  .detail-accordion__content ul {
    padding-left: 1.5em;
    color: #444;
    font-size: 16px;
    margin-block-end: 24px;
  }
  .detail-accordion__content ul li {
    margin-bottom: 8px;
    margin-left: 20px;
    list-style: disc;
    list-style-position: outside;
  }
  @media (max-width: 640px) {
    .detail-accordion__content ul li {
      font-size: 17px;
    }
  }
  .detail-accordion__content ul li:last-child {
    margin-bottom: 0;
  }
  @media (width <= 1200px) {
    .detail-container {
      gap: 40px;
    }
    .detail-columns {
      flex-direction: column;
      gap: 0;
    }
    .detail-column {
      gap: 32px;
    }
    .detail-column--left {
      display: contents;
    }
    .detail-column--right {
      flex: none;
      order: 2;
    }
    .detail-sections {
      order: 3;
      max-inline-size: none;
      overflow-anchor: none;
      gap: 40px;
      margin-block-start: 24px;
    }
    .product-gallery {
      order: 1;
      inline-size: 100%;
      max-inline-size: 600px;
      margin-inline: auto;
    }
    .product-gallery__main {
      inline-size: 100%;
      max-inline-size: 600px;
    }
    .product-gallery__thumbnails {
      inline-size: 100%;
      max-inline-size: 600px;
      margin-inline: auto;
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
    }
    .btn-primary,
    .btn-secondary {
      inline-size: 100%;
    }
    .detail-brand__logo {
      margin-inline: 0;
    }
    .detail-features__grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 32px;
    }
    .related-products__grid, .related-products__slider {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (max-width: 640px) {
    .detail-page {
      margin: 0;
      padding: 18px 0 0;
    }
    .detail-container {
      gap: 20px;
      margin-block-end: 40px;
    }
    .product-gallery {
      inline-size: 100%;
      max-inline-size: 100%;
    }
    .product-gallery__main {
      margin-block-end: 2px;
    }
    .product-gallery__thumbnails {
      display: flex;
      gap: var(--product-gallery-thumb-gap, 2px);
      flex-wrap: nowrap;
      inline-size: 100%;
    }
    .product-gallery__thumbnail {
      flex: 0 0 var(--thumb-size);
      box-sizing: border-box;
      padding: 0;
      background: var(--color-bg, #fff);
      border: 0;
      transition: opacity var(--transition-duration-base);
      cursor: pointer;
      inline-size: var(--thumb-size);
      min-inline-size: 0;
      aspect-ratio: 1;
      --thumb-size: var(--product-gallery-thumb-size, calc((100% - var(--product-gallery-thumb-gap, 2px) * 5) / 6));
    }
    .product-gallery__thumbnail:hover {
      opacity: 0.85;
    }
    .product-gallery__thumbnail img {
      inline-size: 100%;
      block-size: 100%;
      object-fit: cover;
    }
    .product-gallery__thumbnail--active, .product-gallery__thumbnail.active {
      position: relative;
      border: 3px solid #fff;
      box-shadow: 0 0 0 1px var(--color-fg);
      opacity: 0.85;
    }
    .product-gallery__thumbnail--active::after, .product-gallery__thumbnail.active::after {
      position: absolute;
      inset: 3px;
      background: rgba(0, 0, 0, 0.45);
      content: "";
      pointer-events: none;
    }
    .product-info__title {
      font-size: 20px;
      line-height: 32px;
      letter-spacing: 1.08px;
      margin-block-end: 12px;
    }
    .product-info__price {
      margin-block-end: 23px;
    }
    .product-info__price-original {
      font-size: 23px;
      letter-spacing: 0.75px;
    }
    .product-info__price-current {
      font-size: 23px;
      letter-spacing: 0.75px;
    }
    .product-info__meta {
      margin-block-end: 21px;
      font-size: 15px;
      letter-spacing: 0.24px;
    }
    .product-info__actions {
      gap: 10px;
      margin-block-end: 22px;
    }
    .product-info__favorite {
      justify-content: center;
      font-size: 17px;
      font-weight: 600;
      letter-spacing: 0.42px;
      margin-block-end: 29px;
      gap: 6px;
    }
    .product-info__favorite img, .product-info__favorite-icon {
      inline-size: 18px;
      block-size: 18px;
    }
    .product-info__description {
      font-size: 17px;
      line-height: 1.8;
      letter-spacing: 0.72px;
      margin-block-end: 24px;
    }
    .btn-primary,
    .btn-secondary {
      inline-size: 100%;
      block-size: 62px;
      font-size: 17px;
      letter-spacing: 0.84px;
    }
    .detail-brand {
      padding-inline: 0;
      margin-block: 39px 40px;
    }
    .detail-brand__heading {
      font-size: 16.5px;
      letter-spacing: 0.96px;
      margin-block-end: 22px;
    }
    .detail-brand__logo {
      inline-size: 79px;
      block-size: 44px;
      margin-block-end: 24px;
    }
    .detail-brand__text {
      font-size: 12px;
      line-height: 25px;
      letter-spacing: 0.72px;
    }
    .detail-brand__content {
      gap: 4px;
    }
    .product-spec {
      padding-inline: 0;
      margin-block: 32px 48px;
    }
    .product-spec__title {
      font-size: 16.5px;
      letter-spacing: 0.96px;
      margin-block-end: 13px;
    }
    .product-spec__label {
      flex: 0 0 127px;
      font-size: 16px;
      line-height: 2;
      letter-spacing: 0.72px;
      padding-inline-start: 2px;
      padding-block: 8px;
    }
    .product-spec__value {
      font-size: 16px;
      line-height: 2;
      letter-spacing: 0.72px;
      padding-block: 8px;
      padding-inline-start: 2px;
    }
    .product-spec__value .product-spec__measurements-desc {
      white-space: normal;
    }
    .detail-accordion__item {
      margin-block-end: 14px;
    }
    .detail-accordion__item + .detail-accordion__item {
      margin-block-start: 14px;
    }
    .detail-accordion__title {
      font-size: 17px;
      font-weight: 500;
      line-height: 29px;
      letter-spacing: 0.84px;
    }
    .detail-accordion__icon {
      inline-size: 11px;
      block-size: 11px;
    }
    .detail-sections {
      gap: 16px;
      margin-block-start: 44px;
    }
    .detail-section {
      padding: 21px 21px 24px;
    }
    .detail-section__inner {
      display: grid;
      grid-template-columns: auto 1fr;
      grid-template-areas: "image header" "text text" "more more";
      align-items: center;
      gap: 14px 19px;
    }
    .detail-section__image {
      grid-area: image;
      inline-size: 151px;
      block-size: 151px;
    }
    .detail-section__content {
      display: contents;
      margin-block-start: 0;
    }
    .detail-section__header {
      grid-area: header;
      gap: 4px;
    }
    .detail-section__title {
      font-size: 24px;
      line-height: 29px;
      letter-spacing: 1.15px;
      margin-block: 0;
    }
    .detail-section__subtitle {
      font-size: 12px;
      letter-spacing: 0.5px;
      margin-block: 0;
    }
    .detail-section__text {
      grid-area: text;
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 0.36px;
      margin-block-end: 0;
    }
    .detail-section__more {
      justify-content: flex-start;
      font-size: 13px;
      line-height: 1;
      letter-spacing: 0.24px;
      grid-area: more;
      margin-block-start: -1px;
      gap: 1px;
    }
    .detail-section__more::after {
      inline-size: 9px;
      block-size: 9px;
    }
    .detail-features {
      margin-block: 52px 0;
    }
    .detail-features__divider {
      margin-block: 20px;
      margin-inline: clamp(12px, 3vw, 48px);
    }
    .detail-features__grid {
      display: flex;
      flex-direction: column;
      grid-template-columns: 1fr;
      align-items: stretch;
      padding: 0;
      gap: 22px;
      margin-block: 25px 24px;
    }
    .detail-features__item {
      flex-direction: row;
      align-items: flex-start;
      text-align: left;
      gap: 20px;
    }
    .detail-features__icon {
      inline-size: 72px;
      block-size: 72px;
      margin-block-end: 0;
    }
    .detail-features__icon img {
      max-inline-size: 34px;
      max-block-size: 34px;
    }
    .detail-features__content {
      align-items: flex-start;
      text-align: left;
      gap: 0;
      margin-block-start: 5px;
    }
    .detail-features__title {
      margin: -4px 0 0;
      font-size: 17px;
      line-height: 24px;
      letter-spacing: 0.84px;
    }
    .detail-features__description {
      margin: 0;
      font-size: 13px;
      font-weight: 500;
      line-height: 1.5;
      letter-spacing: 0.072px;
    }
    .related-products__title {
      font-size: 16px;
      letter-spacing: 0.96px;
      margin-block-end: 18px;
    }
    .related-products__grid, .related-products__slider {
      grid-template-columns: repeat(2, 1fr);
      gap: 25px 14px;
    }
    .product-info__header {
      margin: 0;
    }
  }
}

/*# sourceMappingURL=detail.css.map */
