:root{
  --mg-bg:#080A09;
  --mg-panel:#0E1110;
  --mg-text:#E8E7E3;
  --mg-muted:#A9AAA6;
  --mg-platinum:#D8D9D6;
  --mg-hover:#F5F4F1;
  --mg-line:rgba(216,217,214,.22)
}
.home-layout{width:min(calc(100% - 64px),1480px);display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;padding:18px 0 0}.home-layout__main{min-width:0}
#dfh-site-sidebar {
    display: flex;
    flex-direction: column;
    align-self: start;
    gap: 14px;
}

/* =========================================================
   SITE SIDEBAR — STICKY DESKTOP
   ========================================================= */

@media (min-width: 1101px) {

    #dfh-site-sidebar {
        position: sticky;
        top: var(--dfh-sidebar-sticky-top, 104px);
        align-self: start;
    }

}

.hero{height:330px!important;min-height:330px!important}

@media (min-width: 1440px) {
  .hero {
    height: 437px !important;
    min-height: 437px !important;
  }
}
.hero__media{background-position:center 32%}

.hero__content {
  position: relative;
  z-index: 1;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;

  width: min(100% - 48px, 620px);
  height: 100%;
  margin: 0;
  padding: 24px;
  text-align: left;
}

.hero__title{margin:0 0 18px;font-size:clamp(3rem,4vw,4.5rem);line-height:.9}.hero__search.search-box{height:42px;width:360px;max-width:100%;border-radius:0}.hero__topics{display:none}.hero__subtitle{margin:14px 0 0;font-family:var(--font-display);font-size:20px;line-height:1.2}.hero__cta{margin-top:12px;color:var(--mg-platinum);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.hero__cta span{padding-left:12px;font-size:18px}


.sidebar-card--about-me .about-widget{height:100%!important;width:100%!important;max-width:none!important;padding:0!important;display:grid!important;grid-template-columns:126px 1fr!important;gap:0 16px!important;background:transparent!important;border:0!important;border-radius:0!important;color:var(--mg-text)!important;overflow:hidden}.sidebar-card--about-me .about-widget__photo{grid-row:1/-1!important;width:126px!important;height:100%!important;aspect-ratio:auto!important;margin:0!important;border-radius:0!important}.sidebar-card--about-me .about-widget__photo img{width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important}.sidebar-card--about-me .about-widget__title,.sidebar-card--about-me h2,.sidebar-card--about-me h3{color:var(--mg-text)!important;font-family:var(--font-display)!important;font-size:19px!important}.sidebar-card--about-me .about-widget__text,.sidebar-card--about-me p{color:var(--mg-text)!important;font-family:var(--font-display)!important;font-size:14px!important;line-height:1.35!important}.sidebar-card--about-me .about-widget__link{color:var(--mg-platinum)!important;font-size:11px!important}
.category-strip{margin-top:16px;border:1px solid var(--mg-line);padding:12px 20px 10px}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading h2{margin:0;font-family:var(--font-display);font-size:20px;font-weight:500;text-transform:uppercase}.section-heading a{font-size:10px;text-transform:uppercase}.category-strip__grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-top:8px}.category-card__body{padding:5px 0 14px;text-align:center}.category-card__title{font-family:var(--font-display);font-size:22px;line-height:1.05;letter-spacing:0;text-transform:none;font-weight: 100;margin-bottom: 10px;}

.category-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    margin-top: 13px;
    padding: 7px 24px;
    border: 1px solid var(--mg-line);
    color: var(--mg-platinum);
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

@media (min-width: 641px) {

    #latest-catalog .category-strip__grid {
        align-items: stretch;
    }

    #latest-catalog .category-card {
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    #latest-catalog .category-card__body {
        display: flex;
        flex: 1;
        flex-direction: column;
        align-items: center;
    }

    #latest-catalog .category-card__button {
        margin-top: auto;
    }

}

.codes_line{margin-top:10px;padding:7px 18px;border:1px solid var(--mg-line);font-family:var(--font-display);font-size:14px;background:transparent!important;border-radius:0!important}.featured-destination,.quick-picks{margin-top:15px;padding:10px 20px;border:1px solid var(--mg-line)}.section-title{margin:0 0 8px!important;font-size:17px!important;font-style:normal!important;text-transform:uppercase}
.featured-destination__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px}.featured-destination__highlights,.featured-destination__posts{display:contents}.featured-card,.mini-post{min-width:0;padding:0;background:transparent}.featured-card__link,.mini-post{display:grid;grid-template-columns:46% minmax(0,1fr);gap:10px;align-items:stretch}.featured-card__media,.mini-post__thumbnail{width:100%;height:112px;aspect-ratio:auto}.featured-card__body,.mini-post__content{padding:2px 0;text-align:left}.featured-card__date,.mini-post__date{font-size:9px;text-transform:uppercase}.featured-card__caption,.mini-post__title{font-size:15px;line-height:1.08}.featured-card__caption:after,.mini-post__title:after{content:'Read more  →';display:block;margin-top:10px;color:var(--mg-platinum);font-family:var(--font-body);font-size:9px;font-weight:400;text-transform:uppercase}
.quick-picks__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}.quick-pick__link{display:grid;grid-template-columns:52% minmax(0,1fr);gap:20px;align-items:center}.quick-pick__image{height:auto!important;aspect-ratio:1.2/1!important}.quick-pick__img{height:100%!important;object-fit:cover}.quick-pick__badge{padding:0!important;font-size:22px!important;line-height:1.12}.quick-pick__badge:before{content:'GUIDE & REVIEW';display:block;margin-bottom:10px;color:var(--mg-platinum);font-family:var(--font-body);font-size:10px}.quick-pick__badge:after{content:'→';display:block;margin-top:16px;font-size:25px}

.sidebar-card--collectors-pick{padding:18px!important}.sidebar-card--visitors{text-align:center;padding:18px!important}.sidebar-card--visitors:before{content:'◎';display:block;margin:5px auto 12px;width:92px;height:92px;border:1px solid var(--mg-line);border-radius:50%;font-size:58px;line-height:88px}.sidebar-card--visitors .sidebar-card__text{font-family:var(--font-display);font-size:20px}.sidebar-card--visitors .sidebar-card__link{display:block;margin-top:14px;padding:10px;border:1px solid var(--mg-line);text-transform:uppercase}
.newsletter{margin-top:10px!important}.newsletter__inner{display:grid;grid-template-columns:1fr 1.35fr;padding:12px 20px;text-align:left;border:1px solid var(--mg-line)}.newsletter__title{grid-row:1/3;margin:0;align-self:center;font-size:32px}.newsletter__text{margin:0 0 7px;font-size:12px}.newsletter__form{width:100%;grid-template-columns:1fr auto}.newsletter__input,.newsletter__button{min-height:36px;height:36px}.newsletter__note{display:none}.site-footer{margin-top:10px;padding:18px 0}.site-footer__grid{grid-template-columns:1.2fr repeat(3,1fr);gap:32px}.site-footer__bottom{margin-top:18px;padding-top:12px}.site-footer__badge{display:none}

@media (max-width: 1100px) {
  .home-layout {
    grid-template-columns: 1fr;
  }

.catalog-page,
.single-product-page,
.archive-page-wrapper {
    grid-template-columns: minmax(0, 1fr);
}

#dfh-site-sidebar {
    position: static;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    gap: 14px;
}

  .sidebar-card--about-me {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .featured-destination__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
	.home-layout {
		width: calc(100% - 28px);
	}

    #dfh-site-sidebar {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    #dfh-home-about,
    #dfh-home-collectors-pick {
        width: 100%;
        min-width: 0;
    }
}

/* =========================================================
   ABOUT — HOMEPAGE
   ========================================================= */

.sidebar-card--about-me {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
}

.about-home {
    display: flow-root;
    width: 100%;
    height: auto;
    padding: 7px;
    overflow: visible;
}


/* =========================================================
   PHOTO — LEFT
   ========================================================= */

.about-home__image {
    float: left;

    width: 65%;
    height: auto;

    margin: 0 18px 10px 0;

    object-fit: cover;
}


/* =========================================================
   CONTENT
   ========================================================= */

.about-home__content {
    display: block;
    max-width: none;
    padding: 0;
}


/* Behind Doll Finds Hub — RIGHT OF PHOTO */

.about-home__eyebrow {
    display: block;

    margin: 0;

    color: var(--color-accent);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;

    letter-spacing: .12em;
    text-transform: uppercase;
}


/* Desktop: move eyebrow down beside photo */

@media (min-width: 1130px) {
    .about-home__eyebrow {
        margin: 45px 0 0 0;
    }
}


/* =========================================================
   HI, I'M IRA — BELOW PHOTO
   ========================================================= */

.about-home__title {
    clear: both;

    margin: 18px 0 14px;

    color: var(--color-ink-bright);
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.01em;
}


/* Main text */

.sidebar-card--about-me .about-home__text {
    margin: 0;

    color: var(--color-muted);
    font-family: var(--font-body);
    font-size: 18px !important;
    font-weight: 400;
    line-height: 1.3 !important;
}


/* =========================================================
   BUTTON
   ========================================================= */

.about-home__button {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    width: auto;
    margin-top: 28px;
    padding: 0 0 7px;

    border: 0;
    border-bottom: 1px solid var(--color-accent);
    background: transparent;

    color: var(--color-ink-bright);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;

    letter-spacing: .14em;
    text-transform: uppercase;
    text-decoration: none;

    transition:
        color .2s ease,
        border-color .2s ease;
}

.about-home__button span {
    display: inline-block;

    color: var(--color-accent);
    font-size: 18px;
    font-weight: 400;
    line-height: 1;

    transition: transform .2s ease;
}

.about-home__button:hover {
    color: var(--color-hover);
    border-bottom-color: var(--color-hover);
}

.about-home__button:hover span {
    transform: translateX(4px);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .about-home {
        padding: 7px;
    }

    .about-home__image {
        width: 71%;
        margin: 0 14px 10px 0;
    }

    .about-home__eyebrow {
        margin: 0;
        font-size: 14px;
    }

    .about-home__title {
        margin-top: 16px;
        font-size: 26px;
    }
}

.section-heading--compact > a {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    width: auto;
    padding: 0 0 7px;

    border: 0;
    border-bottom: 1px solid var(--color-accent);
    background: transparent;

    color: var(--color-ink-bright);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;

    letter-spacing: .14em;
    text-transform: uppercase;
    text-decoration: none;

    transition:
        color .2s ease,
        border-color .2s ease;
}

.section-heading--compact > a span {
    display: inline-block;
    color: var(--color-accent);
    font-size: 18px;
    font-weight: 400;
    line-height: 1;

    transition: transform .2s ease;
}

.section-heading--compact > a:hover {
    color: var(--color-hover);
    border-bottom-color: var(--color-hover);
}

.section-heading--compact > a:hover span {
    transform: translateX(4px);
}

/* =========================================================
   LATEST FINDS — PERSONALLY TESTED BADGE
   ========================================================= */

.latest-finds-title {
    display: flex;
    align-items: center;
    gap: 0;
}

.latest-finds-title h2 {
    margin: 0;
}


/* Badge */

.tested-badge {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    margin-left: 0;

    color: var(--color-accent);

    cursor: help;
}


/* Shield + check */

.tested-badge__icon {
    display: block;

    width: 27px;
    height: 27px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;

    transition:
        color .2s ease,
        transform .2s ease;
}

.tested-badge:hover .tested-badge__icon,
.tested-badge:focus .tested-badge__icon {
    color: var(--color-hover);
    transform: translateY(-1px);
}


/* Tooltip card */

.tested-badge__tooltip {
    position: absolute;
    z-index: 100;

    left: 50%;
    bottom: calc(100% + 14px);

    transform: translateX(-50%) translateY(5px);

    width: max-content;
    min-width: 210px;
    max-width: 280px;

    padding: 14px 16px;

    border: 1px solid var(--color-accent);
    background: var(--color-panel);

    color: var(--color-ink-bright);

    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;

    letter-spacing: .04em;
    text-transform: none;

    white-space: nowrap;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
        opacity .18s ease,
        transform .18s ease,
        visibility .18s ease;
}

.tested-badge__tooltip::after {
    content: "";

    position: absolute;

    top: 100%;
    left: 50%;

    width: 9px;
    height: 9px;

    background: var(--color-panel);

    border-right: 1px solid var(--color-accent);
    border-bottom: 1px solid var(--color-accent);

    transform: translate(-50%, -50%) rotate(45deg);
}

.tested-badge:hover .tested-badge__tooltip,
.tested-badge:focus .tested-badge__tooltip,
.tested-badge:focus-visible .tested-badge__tooltip {
    opacity: 1;
    visibility: visible;

    transform: translateX(-50%) translateY(0);
}

.tested-badge:focus-visible {
    outline: 1px solid var(--color-accent);
    outline-offset: 3px;
}

/* =========================================================
   COLLECTOR'S PICK SLIDER
   ========================================================= */

.site-sidebar .sidebar-card--collectors-pick {
    padding: 18px;
    overflow: hidden;
}

.collector-slider {
    position: relative;
    width: 100%;
}


/* Header */

.collector-slider__head {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 14px;
}

.collector-slider__eyebrow {
    display: block;
    margin: 0;
    color: var(--color-accent);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.collector-slider__counter {
    display: flex;
    align-items: center;
    gap: 4px;

    color: var(--mg-muted);
    font-size: 10px;
    letter-spacing: .08em;
}

.collector-slider__counter-separator {
    opacity: .45;
}


/* Viewport */

.collector-slider__viewport {
    position: relative;
    overflow: hidden;
}


/* Slides */

.collector-slide {
    display: none;
}

.collector-slide.is-active {
    display: block;
    animation: collectorFade .42s ease;
}


/* Image */

.collector-slide__image-link {
    display: block;
    overflow: hidden;
}

.collector-slide__image-wrap {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #b9b9b9;
}

.collector-slide__image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;

    transition:
        transform .7s cubic-bezier(.2,.6,.2,1),
        filter .4s ease;
}

.collector-slide__image-link:hover .collector-slide__image {
    transform: scale(1.025);
}


/* Content */

.collector-slide__content {
    padding-top: 16px;
}

.collector-slide__review {
    display: block;

    margin-bottom: 8px;

    color: var(--mg-muted);
    font-size: 10px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.collector-slide__review::before {
    content: "◇";
    margin-right: 7px;

    color: var(--mg-platinum);
    font-size: 9px;
}

.collector-slide__title {
    margin: 0;

    color: var(--mg-text);
    font-family: var(--font-display);
    font-size: 23px;
    font-weight: 400;
    line-height: 1.08;
}

.collector-slide__title-link {
    color: inherit;
    text-decoration: none;

    transition: color .2s ease;
}

.collector-slide__title-link:hover {
    color: var(--mg-platinum);
}

.collector-slide__link {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    width: auto;
    margin-top: 28px;
    padding: 0 0 7px;

    border: 0;
    border-bottom: 1px solid var(--color-accent);
    background: transparent;

    color: var(--color-ink-bright);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;

    letter-spacing: .14em;
    text-transform: uppercase;
    text-decoration: none;

    transition:
        color .2s ease,
        border-color .2s ease;
}

.collector-slide__link span {
    display: inline-block;

    color: var(--color-accent);
    font-size: 18px;
    font-weight: 400;
    line-height: 1;

    transition: transform .2s ease;
}

.collector-slide__link:hover {
    color: var(--color-hover);
    border-bottom-color: var(--color-hover);
}

.collector-slide__link:hover span {
    transform: translateX(4px);
}


/* Controls */

.collector-slider__controls {
    display: grid;
    grid-template-columns: 28px 1fr 28px;
    gap: 10px;
    align-items: center;

    margin-top: 20px;
    padding-top: 13px;

    border-top: 1px solid var(--mg-line);
}

.collector-slider__arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 28px;
    height: 28px;
    padding: 0;

    border: 0;
    background: transparent;
    color: var(--mg-muted);

    font-size: 18px;
    line-height: 1;

    cursor: pointer;

    transition:
        color .2s ease,
        transform .2s ease;
}

.collector-slider__arrow:hover {
    color: var(--mg-hover);
}

.collector-slider__arrow--prev:hover {
    transform: translateX(-2px);
}

.collector-slider__arrow--next:hover {
    transform: translateX(2px);
}


/* Progress */

.collector-slider__progress {
    position: relative;

    width: 100%;
    height: 1px;

    overflow: hidden;
    background: var(--mg-line);
}

.collector-slider__progress-bar {
    display: block;

    width: 50%;
    height: 100%;

    background: var(--mg-platinum);

    transform: translateX(0);
    transition: transform .35s ease;
}


/* Animation */

@keyframes collectorFade {
    from {
        opacity: 0;
        transform: translateX(8px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* =========================================================
   HOME SECTION HEADING
   ========================================================= */

.home-section-heading {
    display: flex;
    align-items: center;
    gap: 20px;

    margin-bottom: 18px;
}

.home-section-heading__title {
    display: flex;
    align-items: center;
    gap: 18px;

    flex: 1;
    min-width: 0;
}

.home-section-heading__title h2 {
    flex: 0 0 auto;

    margin: 0;

    color: var(--mg-text);
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.1;
    text-transform: uppercase;
}

.home-section-heading__line {
    flex: 1;

    height: 1px;

    background: var(--mg-line);
}

.home-section-heading__link {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    width: auto;
    padding: 0 0 5px;

    border: 0;
    border-bottom: 1px solid var(--color-accent);
    background: transparent;

    color: var(--color-ink-bright);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;

    letter-spacing: .14em;
    text-transform: uppercase;
    text-decoration: none;

    transition:
        color .2s ease,
        border-color .2s ease;
}

.home-section-heading__link span {
    display: inline-block;

    color: var(--color-accent);
    font-size: 18px;
    font-weight: 400;
    line-height: 1;

    transition: transform .2s ease;
}

.home-section-heading__link:hover {
    color: var(--color-hover);
    border-bottom-color: var(--color-hover);
}

.home-section-heading__link:hover span {
    transform: translateX(4px);
}


/* =========================================================
   LATEST BLOG POSTS
   ========================================================= */

.home-blog {
    border: 1px solid var(--mg-line);
    padding: 18px 20px 22px;
}

.home-blog__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}


/* Image */

.home-blog-card__image-link {
    display: block;
    overflow: hidden;

    color: inherit;
    text-decoration: none;
}

.home-blog-card__media {
    position: relative;

    width: 100%;
    aspect-ratio: 1 / 1;

    overflow: hidden;
    background: #111;
}

.home-blog-card__image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .6s cubic-bezier(.2,.6,.2,1);
}

.home-blog-card__image-link:hover .home-blog-card__image {
    transform: scale(1.025);
}


/* Content */

.home-blog-card__content {
    padding: 13px 2px 0;
}

.home-blog-card__date,
.home-article-card__date {
    display: block;

    margin-bottom: 7px;

    color: var(--mg-muted);

    font-size: 10px;
    line-height: 1;
    letter-spacing: .08em;
}

.home-blog-card__title {
    margin: 0;

    color: var(--mg-text);

    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.15;
}

.home-blog-card__title a {
    color: inherit;
    text-decoration: none;

    transition: color .2s ease;
}

.home-blog-card__title a:hover {
    color: var(--mg-platinum);
}


/* Excerpt */

.home-blog-card__excerpt {
    margin-top: 10px;

    color: var(--mg-muted);

    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.5;
}


/* Read more */



.home-blog-card__more span {
    display: inline-block;

    color: var(--color-accent);
    font-size: 18px;
    font-weight: 400;
    line-height: 1;

    transition: transform .2s ease;
}

.home-blog-card__more:hover {
    color: var(--color-hover);
    border-bottom-color: var(--color-hover);
}

.home-blog-card__more:hover span {
    transform: translateX(4px);
}

.home-blog-card__more {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    width: auto;
    margin-top: 18px;
    padding: 0 0 7px;

    border: 0;
    border-bottom: 1px solid var(--color-accent);
    background: transparent;

    color: var(--color-ink-bright);

    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;

    letter-spacing: .14em;
    text-transform: uppercase;
    text-decoration: none;

    transition:
        color .2s ease,
        border-color .2s ease;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .home-blog__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 600px) {

    .home-section-heading {
        gap: 12px;
    }

    .home-section-heading__line {
        display: none;
    }

    .home-blog__grid {
        grid-template-columns: 1fr;
    }

    .home-blog-card__media {
        aspect-ratio: 1 / 1;
    }
	
	.home-section-heading--uk {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}

.home-section-heading--uk .home-section-heading__title {
    width: 100%;
    min-width: 0;
}

.home-section-heading--uk .home-section-heading__title h2 {
    white-space: normal;
}

.home-section-heading--uk .home-section-heading__line {
    display: none;
}

.home-section-heading--uk .home-section-heading__link {
    justify-self: end;
    width: auto;
    margin: 0;
}

}

/* =========================================================
   LATEST ARTICLES
   ========================================================= */

.home-articles {
    border: 1px solid var(--mg-line);
    padding: 18px 20px 22px;
}

.home-articles__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}


/* Image */

.home-article-card__image-link {
    display: block;
    overflow: hidden;

    color: inherit;
    text-decoration: none;
}

.home-article-card__media {
    position: relative;

    width: 100%;
    aspect-ratio: 1 / 1;

    overflow: hidden;
    background: #111;
}

.home-article-card__image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .55s cubic-bezier(.2,.6,.2,1);
}

.home-article-card__image-link:hover .home-article-card__image {
    transform: scale(1.025);
}


/* Content */

.home-article-card__content {
    padding-top: 12px;
}

.home-article-card__title {
    margin: 0;

    color: var(--mg-text);

    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.12;
}

.home-article-card__title a {
    color: inherit;
    text-decoration: none;

    transition: color .2s ease;
}

.home-article-card__title a:hover {
    color: var(--mg-platinum);
}

/* CTA */

.home-article-card__more {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin-top: 14px;
    padding: 0 0 6px;

    border: 0;
    border-bottom: 1px solid var(--color-accent);
    background: transparent;

    color: var(--color-ink-bright);

    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;

    letter-spacing: .14em;
    text-transform: uppercase;
    text-decoration: none;

    transition:
        color .2s ease,
        border-color .2s ease;
}

.home-article-card__more span {
    display: inline-block;

    color: var(--color-accent);
    font-size: 18px;
    font-weight: 400;
    line-height: 1;

    transition: transform .2s ease;
}

.home-article-card__more:hover {
    color: var(--color-hover);
    border-bottom-color: var(--color-hover);
}

.home-article-card__more:hover span {
    transform: translateX(4px);
}


/* Responsive */

@media (max-width: 1050px) {

    .home-articles__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 600px) {

    .home-articles__grid {
        grid-template-columns: 1fr;
    }

}

.home-article-card {
    display: flex;
    flex-direction: column;
}

.home-article-card__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding-top: 12px;
}

.home-article-card__more {
    align-self: flex-start;
    margin-top: auto;
    padding-top: 16px;
}

/* =========================================================
   MY COLLECTION PROMO
   ========================================================= */

.my-collection-promo {
    margin-bottom: 25px;
    overflow: hidden;
}


/* Heading */

.my-collection-promo__heading {
    display: flex;
    align-items: center;
    gap: 20px;

    padding: 18px 20px;
}

.my-collection-promo__title-wrap {
    display: flex;
    align-items: center;
    gap: 18px;

    flex: 1;
    min-width: 0;
}

.my-collection-promo__title {
    flex: 0 0 auto;

    margin: 0;

    color: var(--mg-text);
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.1;

    text-transform: uppercase;
}

.my-collection-promo__line {
    flex: 1;

    height: 1px;

    background: var(--mg-line);
}


/* CTA */

.my-collection-promo__cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    flex: 0 0 auto;

    padding: 0 0 5px;

    border-bottom: 1px solid var(--color-accent);

    color: var(--color-ink-bright);

    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;

    letter-spacing: .14em;
    text-transform: uppercase;
}

.my-collection-promo__cta > span {
    display: inline-block;

    color: var(--color-accent);
    font-size: 18px;
    font-weight: 400;
    line-height: 1;

    transition: transform .2s ease;
}


/* Whole clickable area */

.my-collection-promo__link {
    display: block;

    color: inherit;
    text-decoration: none;
}


/* Grid */

.my-collection-promo__grid {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;

    width: 100%;
    max-width: 1120px;

    margin: 0 auto;
}


/* Tile */

.my-collection-promo__item {
    display: block;
    flex: 0 0 calc(100% / 14);
    max-width: 80px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

/* checker pattern */

.my-collection-promo__item:nth-child(odd) {
    background: #b7b8b6;
}

.my-collection-promo__item:nth-child(even) {
    background: #2b2e2d;
}

.my-collection-promo__item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* Hover */

.my-collection-promo:hover .my-collection-promo__cta {
    color: var(--color-hover);
    border-bottom-color: var(--color-hover);
}

.my-collection-promo:hover .my-collection-promo__cta > span {
    transform: translateX(4px);
}


/* Mobile */

@media (max-width: 640px) {

    .my-collection-promo__heading {
        display: flex;
        align-items: center;
        justify-content: space-between;

        width: 100%;

        padding: 16px 0;
        gap: 16px;
    }

    .my-collection-promo__title-wrap {
        flex: 0 1 auto;
        min-width: 0;
    }

    .my-collection-promo__title {
        white-space: nowrap;
    }

    .my-collection-promo__line {
        display: none;
    }

    .my-collection-promo__cta {
        flex: 0 0 auto;
        margin-left: auto;
        white-space: nowrap;
    }

}

@media (max-width: 640px) {

    .my-collection-promo__grid {
        display: grid;
        grid-template-columns: repeat(7, 1fr);

        width: 100%;
        max-width: 560px;

        margin: 0 auto;
    }

    .my-collection-promo__item {
        width: 100%;
        max-width: none;

        aspect-ratio: 1 / 1;
    }

    .my-collection-promo__item img {
        width: 100%;
        height: 100%;

        object-fit: cover;
    }
}

/* =========================================================
   LATEST FINDS — MOBILE
   ========================================================= */

@media (max-width: 640px) {

    .category-strip {
        padding: 16px;
    }

    .category-strip__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        margin-top: 14px;
    }

    .category-strip .category-card {
        display: grid;
        grid-template-columns: 100px minmax(0, 1fr);
        gap: 18px;
        align-items: center;

        padding: 14px 0;

        border-bottom: 1px solid var(--mg-line);
    }

    .category-strip .category-card:first-child {
        padding-top: 0;
    }

    .category-strip .category-card:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .category-strip .category-card__image {
        width: 100px;
        height: 100px;
        aspect-ratio: 1 / 1;

        margin: 0;

        background-size: cover;
        background-position: center;
    }

    .category-strip .category-card__body {
        display: flex;
        flex-direction: column;
        align-items: flex-start;

        min-width: 0;

        padding: 0;
        text-align: left;
    }

    .category-strip .category-card__title {
        margin: 0;

        font-size: 19px;
        line-height: 1.08;
        text-align: left;
    }
}

/* =========================================================
   ABOUT ME — MOBILE
   ========================================================= */

@media (max-width: 640px) {

    #dfh-home-about .about-home {
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: 0;
    }

    #dfh-home-about .about-home__content {
        display: contents;
    }

    #dfh-home-about .about-home__eyebrow {
        order: 1;

        width: 100%;
        margin: 0 0 14px;

        font-size: 14px;
        line-height: 1.35;
    }

    #dfh-home-about .about-home__image {
        order: 2;

        float: none;

        width: 100%;
        max-width: none;
        height: auto;

        margin: 0 0 20px;

        object-fit: cover;
    }

    #dfh-home-about .about-home__title {
        order: 3;

        clear: none;

        margin: 0 0 14px;
    }

    #dfh-home-about .about-home__text {
        order: 4;

        margin: 0;
    }

    #dfh-home-about .about-home__button {
        order: 5;

        align-self: flex-start;

        margin-top: 26px;
    }
}

/* =========================================================
   LATEST FINDS — IMAGE HOVER
   ========================================================= */

#latest-catalog .category-card__image,
.product-list-bottom .category-card__image {
    display: block;
    position: relative;
    overflow: hidden;
}

#latest-catalog .category-card__img,
.product-list-bottom .category-card__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    transition: transform .55s cubic-bezier(.2,.6,.2,1);
}

#latest-catalog .category-card__image:hover .category-card__img,
.product-list-bottom .category-card__image:hover .category-card__img {
    transform: scale(1.025);
}

/* =========================================================
   FIX STICKY SIDEBAR
   ========================================================= */

html,
body.site-body {
    overflow-x: clip;
}

/* =========================
   FOOTER
   ========================= */

.site-footer {
  margin-top: 40px;
  padding: 0 0 24px;
  background: transparent;
  border-top: 0;
}

.site-footer__inner {
  padding: 44px 48px 26px;
  background: #050706;
  border: 1px solid var(--color-border);
}

.site-footer__grid {
  display: grid;
  grid-template-columns: 1.45fr repeat(3, 1fr);
  gap: 0;
  padding-bottom: 40px;
}

.site-footer__column--brand {
  padding-right: 48px;
}

.site-footer__column + .site-footer__column {
  padding-left: 22px;
  padding-right: 22px;
  border-left: 1px solid var(--color-border);
}


/* --- бренд --- */

.site-footer__logo {
  display: inline-block;
  color: var(--color-ink-bright);
  font-family: var(--font-display);
  font-size: clamp(2rem, 2.6vw, 2.6rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1;
}

.site-footer__logo img {
  max-width: 240px;
  height: auto;
}

.site-footer__tagline {
  margin: 14px 0 0;
  color: var(--color-muted);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.site-footer__about {
  max-width: 340px;
  margin: 24px 0 0;
  color: rgba(232, 231, 227, 0.72);
  font-size: 16px;
  line-height: 1.75;
}

.site-footer__socials {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.site-footer__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  color: var(--color-accent);
  background: transparent;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.site-footer__icon svg {
  width: 34px;
  height: 34px;
}

.site-footer__icon:hover {
  color: var(--color-bg);
  background: var(--color-accent);
  border-color: var(--color-accent);
}


/* --- колонки ссылок --- */

.site-footer__title {
  margin: 0 0 22px;
  color: var(--color-ink-bright);
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.site-footer__title::after {
  content: "";
  display: block;
  width: 26px;
  height: 1px;
  margin-top: 12px;
  background: var(--color-accent-dark);
}

.site-footer__menu {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 7px 0;
  color: rgba(232, 231, 227, 0.86);
  font-family: var(--font-display);
  font-size: 17px;
  transition: color 0.2s ease;
}

.site-footer__link-arrow {
  color: var(--color-accent-dark);
  font-size: 15px;
  transition: transform 0.2s ease, color 0.2s ease;
}

.site-footer__link:hover {
  color: var(--color-hover);
}

.site-footer__link:hover .site-footer__link-arrow {
  color: var(--color-hover);
  transform: translateX(4px);
}


/* --- нижняя строка --- */

.site-footer__bottom {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 0 -48px;
  padding: 24px 48px 0;
  border-top: 1px solid var(--color-border);
}

.site-footer__copyright {
  flex: 1 1 auto;
  margin: 0;
  color: rgba(232, 231, 227, 0.7);
  font-size: 14px;
}

.site-footer__quote {
  flex: 0 0 auto;
  max-width: 340px;
  margin: 0;
  padding: 8px 38px;
  color: var(--color-ink-bright);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 21px;
  line-height: 1.4;
  border-left: 1px solid var(--color-border);
  border-right: 1px solid var(--color-border);
}

.site-footer__top {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  padding: 0 0 0 38px;
  color: var(--color-ink);
  background: none;
  border: 0;
  font-family: var(--font-body);
  font-size: 15px;
  transition: color 0.2s ease;
}

.site-footer__top-arrow {
  transition: transform 0.2s ease;
}

.site-footer__top:hover {
  color: var(--color-hover);
}

.site-footer__top:hover .site-footer__top-arrow {
  transform: translateY(-3px);
}


/* --- адаптив --- */

@media (max-width: 1100px) {
  .site-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }

  .site-footer__column--brand {
    grid-column: 1 / -1;
    padding-right: 0;
  }

  .site-footer__column + .site-footer__column {
    padding-left: 0;
    border-left: 0;
  }

  .site-footer__about {
    max-width: 520px;
  }
}

@media (max-width: 860px) {
  .site-footer__inner {
    padding: 32px 24px 22px;
  }

  .site-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    margin: 0 -24px;
    padding: 22px 24px 0;
  }

  .site-footer__quote {
    max-width: none;
    padding: 0;
    border: 0;
  }

  .site-footer__top {
    padding: 0;
  }
}

@media (max-width: 560px) {

  .site-footer__grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

.site-footer__bottom {
    display: flex;
    flex-direction: column;
    width: auto;
    margin-left: -24px;
    margin-right: -24px;
    padding-left: 24px;
    padding-right: 24px;
    gap: 0;
}

.site-footer__top {
    order: 1;
    align-self: flex-end;
    margin: 0 0 45px;
}

.site-footer__quote {
    order: 2;
    align-self: center;
    width: 100%;
    max-width: 560px;
    margin: 0 0 45px;
    padding: 0;
    text-align: center;
}

.site-footer__copyright {
    order: 3;
    align-self: center;
    width: 100%;
    margin: 0;
    text-align: center;
}
}

/* =========================================================
   LEGALS MENU V3
   ========================================================= */

#dfh-legals-menu-v3 {
    width: 100%;
    margin: 0;
    padding: 0;
}

#dfh-legals-menu-v3 .dfh-legals-menu-v3__intro {
    margin: 0 0 46px;
}

#dfh-legals-menu-v3 .dfh-legals-menu-v3__eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;

    margin: 0 0 18px;

    color: var(--color-accent);

    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 500;
    line-height: 1;

    letter-spacing: .18em;
    text-transform: uppercase;
}

#dfh-legals-menu-v3 .dfh-legals-menu-v3__eyebrow::before {
    content: "";

    width: 32px;
    height: 1px;

    background: var(--color-accent);
}

#dfh-legals-menu-v3 .dfh-legals-menu-v3__text {
    max-width: 760px;

    margin: 0;

    color: var(--color-muted);

    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.75;
}


/* LIST */

#dfh-legals-menu-v3 .dfh-legals-menu-v3__list {
    display: block;

    width: 100%;

    margin: 0;
    padding: 0;

    border-top: 1px solid var(--color-border);
}


/* ROW */

#dfh-legals-menu-v3 .dfh-legals-menu-v3__row {
    display: grid;

    grid-template-columns:
        52px
        minmax(0, 1fr)
        30px;

    gap: 22px;
    align-items: center;

    width: 100%;

    margin: 0;
    padding: 28px 0;

    border-bottom: 1px solid var(--color-border);

    color: var(--color-ink);
    text-decoration: none;

    background: transparent;

    transition:
        background-color .2s ease,
        padding-left .2s ease,
        padding-right .2s ease;
}


/* NUMBER */

#dfh-legals-menu-v3 .dfh-legals-menu-v3__num {
    align-self: start;

    padding-top: 7px;

    color: var(--color-accent-dark);

    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 500;
    line-height: 1;

    letter-spacing: .1em;
}


/* BODY */

#dfh-legals-menu-v3 .dfh-legals-menu-v3__body {
    display: flex;
    flex-direction: column;

    min-width: 0;
}


/* LABEL */

#dfh-legals-menu-v3 .dfh-legals-menu-v3__label {
    display: block;

    margin: 0 0 8px;

    color: var(--color-accent-dark);

    font-family: var(--font-body);
    font-size: 9px;
    font-weight: 600;
    line-height: 1;

    letter-spacing: .18em;
    text-transform: uppercase;
}


/* TITLE */

#dfh-legals-menu-v3 .dfh-legals-menu-v3__title {
    display: block;

    color: var(--color-ink-bright);

    font-family: var(--font-display);
    font-size: 34px;
    font-weight: 400;
    line-height: 1.08;
}


/* DESCRIPTION */

#dfh-legals-menu-v3 .dfh-legals-menu-v3__desc {
    display: block;

    max-width: 680px;

    margin-top: 8px;

    color: var(--color-muted);

    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.55;
}


/* ARROW */

#dfh-legals-menu-v3 .dfh-legals-menu-v3__arrow {
    justify-self: end;

    color: var(--color-accent);

    font-size: 24px;
    line-height: 1;

    transition: transform .2s ease;
}


/* HOVER */

#dfh-legals-menu-v3 .dfh-legals-menu-v3__row:hover {
    padding-left: 8px;
    padding-right: 8px;

    background: rgba(216, 217, 214, .025);
}

#dfh-legals-menu-v3
.dfh-legals-menu-v3__row:hover
.dfh-legals-menu-v3__arrow {
    transform: translateX(4px);
}


/* MOBILE */

@media (max-width: 640px) {

    #dfh-legals-menu-v3 .dfh-legals-menu-v3__intro {
        margin-bottom: 32px;
    }

    #dfh-legals-menu-v3 .dfh-legals-menu-v3__row {
        grid-template-columns:
            26px
            minmax(0, 1fr)
            18px;

        gap: 11px;

        padding: 22px 0;
    }

    #dfh-legals-menu-v3 .dfh-legals-menu-v3__title {
        font-size: 25px;
    }

    #dfh-legals-menu-v3 .dfh-legals-menu-v3__desc {
        font-size: 12px;
    }

}

/* =========================================================
   MY COLLECTION — GLASS SHOWCASE
   ========================================================= */

.my-collection-promo__grid {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.my-collection-promo__grid::after {
    content: "";
    position: absolute;
    z-index: 2;

    top: -70%;
    bottom: -70%;
    left: -35%;

    width: 18%;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.025) 20%,
        rgba(255, 255, 255, 0.16) 50%,
        rgba(255, 255, 255, 0.025) 80%,
        transparent 100%
    );

    transform: skewX(-22deg);
    pointer-events: none;
}

.my-collection-promo__link:hover .my-collection-promo__grid::after {
    animation: dfh-collection-glass-sweep 1.15s ease-out forwards;
}

@keyframes dfh-collection-glass-sweep {
    from {
        left: -35%;
    }

    to {
        left: 120%;
    }
}

/* =========================================================
   CATEGORY ARCHIVES — BLOG / ARTICLES
   ========================================================= */

.dfh-archive {
    min-width: 0;
    padding: 0 0 10px;
}


/* =========================================================
   ARCHIVE HEADER
   ========================================================= */

.dfh-archive__header {
    margin-bottom: 22px;
    padding: 0 2px 20px;
    border-bottom: 1px solid var(--mg-line);
}

.dfh-archive__title {
    margin: 0;

    color: var(--mg-text);

    font-family: var(--font-display);
    font-size: clamp(48px, 5vw, 76px);
    font-weight: 400;
    line-height: 0.95;
    letter-spacing: -0.025em;
}

.dfh-archive__subtitle {
    max-width: 850px;
    margin-top: 8px;

    color: var(--mg-platinum);

    font-family: var(--font-display);
    font-size: clamp(19px, 2vw, 24px);
    font-weight: 400;
    line-height: 1.35;
}

.dfh-archive__subtitle > :first-child {
    margin-top: 0;
}

.dfh-archive__subtitle > :last-child {
    margin-bottom: 0;
}


/* =========================================================
   SUBCATEGORY NAVIGATION
   ========================================================= */

.dfh-archive-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;

    margin-bottom: 18px;
}

.dfh-archive-categories__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 42px;
    padding: 10px 22px;

    border: 1px solid rgba(216, 217, 214, 0.42);

    color: var(--mg-text);
    background: rgba(216, 217, 214, 0.035);

    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;

    letter-spacing: 0.1em;
    text-align: center;
    text-transform: uppercase;

    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease;
}

.dfh-archive-categories__link:hover,
.dfh-archive-categories__link:focus-visible {
    color: var(--mg-bg);
    background: var(--mg-platinum);
    border-color: var(--mg-platinum);
}


/* =========================================================
   POSTS SECTION
   ========================================================= */

.dfh-archive-posts {
    min-width: 0;
}

.dfh-archive-posts__heading {
    display: flex;
    align-items: center;
    gap: 18px;

    padding: 11px 15px;

    border: 1px solid var(--mg-line);
    border-bottom: 0;
}

.dfh-archive-posts__title {
    flex: 0 0 auto;

    margin: 0;

    color: var(--mg-text);

    font-family: var(--font-display);
    font-size: 21px;
    font-weight: 400;
    line-height: 1.1;

    letter-spacing: 0.01em;
    text-transform: uppercase;
}

.dfh-archive-posts__line {
    flex: 1;

    height: 1px;

    background: var(--mg-line);
}


/* =========================================================
   POSTS GRID
   ========================================================= */

.dfh-archive-posts__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    border-top: 1px solid var(--mg-line);
    border-left: 1px solid var(--mg-line);
}

@media (min-width: 1500px) {

    .dfh-archive-posts__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dfh-post-card {
        padding: 18px;
    }

    .dfh-post-card__title {
        font-size: clamp(23px, 1.65vw, 29px);
    }

    .dfh-post-card__excerpt {
        font-size: 16px;
    }

}

/* =========================================================
   POST CARD
   ========================================================= */

.dfh-post-card {
    display: flex;
    flex-direction: column;
    min-width: 0;

    margin: 0;
    padding: 22px;

    background: transparent;

    border-right: 1px solid var(--mg-line);
    border-bottom: 1px solid var(--mg-line);
}

.dfh-post-card__media {
    position: relative;

    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;

    background: var(--mg-panel);
}

.dfh-post-card__media::after {
    position: absolute;
    inset: 0;

    content: "";

    border: 1px solid rgba(216, 217, 214, 0.1);
    pointer-events: none;
}

.dfh-post-card__image {
    display: block;

    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;

    object-fit: cover;
    object-position: center;

    transition:
        transform 0.45s ease,
        filter 0.45s ease;
}

.dfh-post-card__media:hover .dfh-post-card__image {
    transform: scale(1.025);
    filter: brightness(1.04);
}


/* =========================================================
   CARD CONTENT
   ========================================================= */

.dfh-post-card__content {
    display: flex;
    flex: 1;
    flex-direction: column;

    padding-top: 13px;
}

.dfh-post-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;

    min-height: 17px;
    margin-bottom: 4px;

    color: var(--mg-muted);

    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 500;
    line-height: 1.4;

    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.dfh-post-card__date {
    color: inherit;
}

.dfh-post-card__meta-separator {
    color: var(--mg-platinum);
}

.dfh-post-card__category {
    color: var(--mg-platinum);

    transition: color 0.2s ease;
}

.dfh-post-card__category:hover,
.dfh-post-card__category:focus-visible {
    color: var(--mg-hover);
}

.dfh-post-card__title {
    margin: 0 0 6px;

    color: var(--mg-text);

    font-family: var(--font-display);
    font-size: clamp(24px, 2.3vw, 31px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -0.015em;
}

.dfh-post-card__title a {
    color: inherit;

    transition: color 0.2s ease;
}

.dfh-post-card__title a:hover,
.dfh-post-card__title a:focus-visible {
    color: var(--mg-hover);
}

.dfh-post-card__excerpt {
    margin-bottom: 14px;

    color: var(--mg-platinum);

    font-family: var(--font-display);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.32;
}

.dfh-post-card__excerpt p {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.dfh-post-card__more {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 12px;

    margin-top: auto;
    padding: 0 0 4px;

    border-bottom: 1px solid var(--mg-platinum);

    color: var(--mg-text);

    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    line-height: 1;

    letter-spacing: 0.11em;
    text-transform: uppercase;

    transition:
        color 0.2s ease,
        border-color 0.2s ease;
}

.dfh-post-card__more span {
    display: inline-block;

    color: var(--mg-platinum);
    font-size: 17px;
    font-weight: 400;
    line-height: 0.8;

    transition: transform 0.2s ease;
}

.dfh-post-card__more:hover,
.dfh-post-card__more:focus-visible {
    color: var(--mg-hover);
    border-bottom-color: var(--mg-hover);
}

.dfh-post-card__more:hover span,
.dfh-post-card__more:focus-visible span {
    transform: translateX(4px);
}


/* =========================================================
   PAGINATION
   ========================================================= */

.dfh-archive-pagination {
    margin-top: 0;

    border-right: 1px solid var(--mg-line);
    border-bottom: 1px solid var(--mg-line);
    border-left: 1px solid var(--mg-line);
}

.dfh-archive-pagination:empty {
    display: none;
}

.dfh-archive-pagination .page-numbers {
    margin: 0;
    padding: 0;

    list-style: none;
}

.dfh-archive-pagination > .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;

    min-height: 54px;
    padding: 8px 14px;
}

.dfh-archive-pagination .page-numbers li {
    display: flex;
}

.dfh-archive-pagination a.page-numbers,
.dfh-archive-pagination span.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 30px;
    min-height: 30px;
    padding: 5px 8px;

    color: var(--mg-platinum);

    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 500;
    line-height: 1;

    letter-spacing: 0.06em;
    text-transform: uppercase;

    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease;
}

.dfh-archive-pagination a.page-numbers:hover,
.dfh-archive-pagination a.page-numbers:focus-visible {
    color: var(--mg-hover);
    background: rgba(216, 217, 214, 0.08);
}

.dfh-archive-pagination span.page-numbers.current {
    color: var(--mg-bg);
    background: var(--mg-platinum);
}

.dfh-archive-pagination .prev {
    margin-right: 16px;
}

.dfh-archive-pagination .next {
    margin-left: 16px;
}


/* =========================================================
   CATEGORY DESCRIPTION
   ========================================================= */

.dfh-archive-description {
    margin-top: 14px;
    padding: 20px 22px;

    border: 1px solid var(--mg-line);

    color: var(--mg-platinum);

    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
}

.dfh-archive-description > :first-child {
    margin-top: 0;
}

.dfh-archive-description > :last-child {
    margin-bottom: 0;
}

.dfh-archive-description h2 {
    margin: 0 0 13px;

    color: var(--mg-text);

    font-family: var(--font-display);
    font-size: clamp(27px, 3vw, 38px);
    font-weight: 400;
    line-height: 1.05;
}

.dfh-archive-description h3 {
    margin: 22px 0 7px;

    color: var(--mg-text);

    font-family: var(--font-display);
    font-size: 25px;
    font-weight: 400;
    line-height: 1.1;
}

.dfh-archive-description p {
    margin: 0 0 15px;
}

.dfh-archive-description a {
    color: var(--mg-hover);
    border-bottom: 1px solid var(--mg-line);
}

.dfh-archive-description ul,
.dfh-archive-description ol {
    margin: 12px 0;
    padding-left: 22px;
}


/* =========================================================
   EMPTY ARCHIVE
   ========================================================= */

.dfh-archive-posts__empty {
    margin: 0;
    padding: 30px 22px;

    border: 1px solid var(--mg-line);

    color: var(--mg-muted);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .dfh-post-card {
        padding: 18px;
    }

    .dfh-post-card__title {
        font-size: 26px;
    }

}


/* =========================================================
   SIDEBAR MOVES BELOW CONTENT
   ========================================================= */

@media (max-width: 960px) {

    .dfh-archive {
        padding-top: 26px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .dfh-archive {
        padding-top: 22px;
    }

    .dfh-archive__header {
        margin-bottom: 16px;
        padding-bottom: 16px;
    }

    .dfh-archive__title {
        font-size: 50px;
    }

    .dfh-archive__subtitle {
        font-size: 19px;
    }


    /* Horizontal subcategory buttons */

    .dfh-archive-categories {
        flex-wrap: nowrap;
        gap: 8px;

        width: calc(100% + 28px);
        margin-right: -14px;
        margin-bottom: 16px;
        margin-left: -14px;
        padding: 0 14px 5px;

        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;

        -webkit-overflow-scrolling: touch;
    }

    .dfh-archive-categories::-webkit-scrollbar {
        display: none;
    }

    .dfh-archive-categories__link {
        flex: 0 0 auto;
        white-space: nowrap;
    }


    /* Heading */

    .dfh-archive-posts__heading {
        padding: 12px 14px;
    }

    .dfh-archive-posts__title {
        font-size: 19px;
    }


    /* One card per row */

    .dfh-archive-posts__grid {
        grid-template-columns: 1fr;
    }

    .dfh-post-card {
        padding: 14px;
    }

    .dfh-post-card__content {
        padding-top: 12px;
    }

    .dfh-post-card__title {
        font-size: 28px;
    }

    .dfh-post-card__excerpt {
        font-size: 17px;
    }


    /* Pagination */

    .dfh-archive-pagination > .page-numbers {
        flex-wrap: wrap;
        min-height: 52px;
        padding: 8px;
    }

    .dfh-archive-pagination .prev {
        margin-right: 4px;
    }

    .dfh-archive-pagination .next {
        margin-left: 4px;
    }


    /* Description */

    .dfh-archive-description {
        padding: 18px 16px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

    .dfh-archive__title {
        font-size: 44px;
    }

    .dfh-archive-posts__line {
        display: none;
    }

    .dfh-post-card__title {
        font-size: 26px;
    }

    .dfh-archive-pagination a.page-numbers,
    .dfh-archive-pagination span.page-numbers {
        min-width: 27px;
        padding-right: 6px;
        padding-left: 6px;
    }

}

#latest-catalog .category-card__meta,
.product-list-bottom .category-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 16px;
    margin-bottom: 9px;
    gap: 4px;
    color: #b4b6b5;
    font: 500 10px/1.35 var(--font-body);
    letter-spacing: 0.07em;
    text-align: center;
    text-transform: uppercase;
}

#latest-catalog .category-card__meta .post-card__views,
.product-list-bottom .category-card__meta .post-card__views {
    margin: 0;
    gap: 4px;
    font: inherit;
}

#latest-catalog .category-card__meta .post-card__views-icon {
    width: 13px;
    height: 13px;
    margin: 1px 2px 0 0;
}

#latest-catalog .category-card__meta a,
.product-list-bottom .category-card__meta a {
    color: #d2d3d2;
    text-decoration: none;
}

#latest-catalog .category-card__meta a:hover {
    text-decoration: underline;
}

#latest-catalog .category-card__meta-separator {
    color: #c5c7c6;
}

.category-card__button:hover,
.category-card__button:focus-visible {
    background: #f4f4f4;
    color: #101211;
}

