/* Homepage sections aligned with the Emjoy design handoff. */
.em-hero { padding:72px 0; border-bottom:1px solid var(--em-line); background:var(--em-paper); }
.em-hero__inner { position:relative; width:100%; max-width:var(--em-container); margin-inline:auto; padding-inline:var(--em-gutter); }
.em-hero__slide { display:none; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); align-items:center; gap:56px; }
.em-hero__slide.active { display:grid; animation:fadeIn var(--em-dur-normal) var(--em-ease-out); }
.em-hero__content { max-width:560px; }
.em-hero__eyebrow { display:inline-flex; align-items:center; margin-bottom:18px; padding:6px 11px; border-radius:6px; background:var(--em-yellow-100,#fff7d6); color:var(--em-blue-900); font-size:12px; font-weight:600; letter-spacing:.035em; text-transform:uppercase; }
.em-hero__eyebrow .em-icon-svg { display:none; }
.em-hero__title { margin:0 0 18px; color:var(--em-ink); font-size:clamp(40px,4.4vw,60px); font-weight:700; line-height:1.06; letter-spacing:-.02em; }
.em-hero__title-accent { display:block; color:var(--em-blue-700); }
.em-hero__body { max-width:500px; margin-bottom:30px; color:var(--em-ink-3); font-size:18px; line-height:1.65; }
.em-hero__cta,.em-hero__trust,.em-hero__navigation,.em-hero__controls,.em-hero__dots { display:flex; align-items:center; }
.em-hero__cta { gap:12px; }
.em-hero__cta .em-btn--primary:hover,
.em-hero__cta .em-btn--primary:focus-visible { color:#fff; }
.em-hero__cta .em-btn--primary:hover .em-icon-svg,
.em-hero__cta .em-btn--primary:focus-visible .em-icon-svg { color:#fff; stroke:#fff; }
.em-hero__trust { flex-wrap:wrap; gap:28px; margin-top:34px; }
.em-hero__trust-item { display:inline-flex; align-items:center; gap:8px; color:var(--em-ink-2); font-size:14px; }
.em-hero__media { position:relative; min-width:0; }
.em-hero__image { width:100%; height:560px; overflow:hidden; border-radius:var(--em-radius-xl); background:var(--em-paper-2); box-shadow:var(--em-shadow-lg); }
.em-hero__image img { display:block; width:100%; height:100%; object-fit:cover; }
.em-hero__chip { position:absolute; top:32px; left:-32px; display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:var(--em-radius-full); background:#fff; color:var(--em-ink); }
.em-hero__navigation { justify-content:space-between; margin-top:24px; }
.em-hero__controls { gap:8px; }
.em-hero__dots { gap:0; }
.em-hero__arrow { display:grid; width:44px; height:44px; padding:0; place-items:center; border:1px solid var(--em-line); border-radius:50%; background:#fff; color:var(--em-blue-700); }
.em-hero__dot { position:relative; width:44px; height:44px; padding:0; border:0; background:transparent; }
.em-hero__dot::after { position:absolute; top:50%; left:50%; width:8px; height:8px; border-radius:999px; background:var(--em-line); content:""; transform:translate(-50%,-50%); transition:width .2s ease,background-color .2s ease; }
.em-hero__dot.active::after { width:24px; background:var(--em-blue-700); }
@media (max-width:1023px) {
    .em-hero__slide { grid-template-columns:1fr; gap:32px; }
    .em-hero__media { order:-1; }
    .em-hero__content { max-width:none; }
    .em-hero__chip { left:20px; }
}
@media (max-width:640px) { .em-hero { padding:var(--em-spacing-8) 0; } .em-hero__cta { align-items:stretch; flex-direction:column; } .em-hero__image { height:420px; } .em-hero__controls,.em-hero__dots { display:none; } }
.em-trust-marquee { width:100%; overflow:hidden; border-block:1px solid transparent; }
.em-trust-marquee--blue { border-color:rgba(255,255,255,.12); background:var(--em-blue-700); color:var(--em-white); }
.em-trust-marquee--light { border-color:var(--em-line); background:var(--em-white); color:var(--em-blue-800); }
.em-trust-marquee__track { display:flex; align-items:center; gap:0; width:max-content; animation:em-home-marquee var(--marquee-speed,30s) linear infinite; will-change:transform; }
.em-trust-marquee__item { display:inline-flex; align-items:center; gap:12px; flex:none; min-height:48px; padding-inline:22px; font-size:14px; font-weight:600; white-space:nowrap; }
.em-trust-marquee__icon { width:13px; height:13px; color:var(--em-yellow-500); fill:currentColor; }
@keyframes em-home-marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce) { .em-trust-marquee__track { animation-play-state:paused; } }

.em-home-kicker { display:inline-block; color:var(--em-blue-700); font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.em-home-heading h2,.em-home-own-shirt h2,.em-home-why h2 { margin:12px 0 0; color:var(--em-ink); font-size:clamp(32px,3.5vw,46px); line-height:1.1; letter-spacing:-.025em; }
.em-home-heading h2 em,.em-home-why h2 em { color:var(--em-blue-700); font-style:normal; }
.em-home-heading > p { max-width:590px; margin:13px 0 0; color:var(--em-ink-3); font-size:16px; line-height:1.7; }
.em-home-heading--center { text-align:center; }
.em-home-heading--center > p { margin-inline:auto; }
.em-home-actions { display:flex; gap:12px; margin-top:28px; flex-wrap:wrap; }
.em-btn--accent { border-color:var(--em-yellow-500); border-radius:999px; background:var(--em-yellow-500); color:var(--em-blue-900); }
.em-btn--accent:hover { border-color:var(--em-yellow-600); background:var(--em-yellow-600); color:var(--em-blue-900); transform:translateY(-1px); }
.em-btn--ghost-light { border:1px solid rgba(255,255,255,.45); background:transparent; color:var(--em-white); }
.em-btn--ghost-light:hover { border-color:var(--em-white); background:rgba(255,255,255,.08); color:var(--em-white); }

.em-home-own-shirt { background:var(--em-blue-900); color:var(--em-white); }
.em-home-own-shirt__grid { display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:center; padding-block:88px; }
.em-home-own-shirt__photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.em-home-own-shirt__photos img { width:100%; height:300px; object-fit:cover; border-radius:var(--em-radius-lg); }
.em-home-own-shirt__photos img:nth-child(2) { margin-top:32px; }
.em-home-own-shirt .em-home-kicker { color:var(--em-yellow-500); }
.em-home-own-shirt h2 { color:var(--em-white); }
.em-home-own-shirt__content > p { max-width:500px; margin:16px 0 0; color:rgba(255,255,255,.78); font-size:17px; line-height:1.7; }

.em-home-process { padding-block:88px; background:var(--em-paper); }
.em-home-process__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin-top:48px; }
.em-home-step { padding:24px; border:1px solid var(--em-line); border-radius:var(--em-radius-lg); background:var(--em-white); box-shadow:var(--em-shadow-xs); }
.em-home-step__number { display:inline-grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--em-blue-50); color:var(--em-blue-700); font-weight:700; }
.em-home-step h3 { margin:16px 0 8px; color:var(--em-ink); font-size:19px; }
.em-home-step p { margin:0; color:var(--em-ink-3); font-size:15px; line-height:1.65; }

.em-home-why { padding-block:88px; background:var(--em-white); }
.em-home-why__grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:64px; align-items:start; }
.em-home-why__intro { position:sticky; top:108px; }
.em-home-why__intro > p { max-width:38ch; margin:20px 0 0; color:var(--em-ink-3); font-size:16.5px; line-height:1.7; }
.em-home-why__intro .em-btn { margin-top:24px; }
.em-home-why__features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid var(--em-line); border-radius:var(--em-radius-xl); background:var(--em-line); box-shadow:var(--em-shadow-xs); }
.em-home-feature { min-height:230px; padding:28px; background:var(--em-white); transition:background-color var(--em-dur-fast); }
.em-home-feature:hover { background:var(--em-blue-50); }
.em-home-feature__top { display:flex; align-items:center; gap:12px; }
.em-home-feature__icon { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--em-blue-50); color:var(--em-blue-700); }
.em-home-feature__number { color:var(--em-ink-4); font-size:11px; font-weight:700; letter-spacing:.14em; }
.em-home-feature h3 { margin:14px 0 0; color:var(--em-ink); font-size:18px; line-height:1.3; }
.em-home-feature p { margin:9px 0 0; color:var(--em-ink-3); font-size:14.5px; line-height:1.65; }

.em-home-reviews { padding-block:88px; background:var(--em-paper); }
.em-home-reviews__summary { display:inline-flex; align-items:baseline; gap:10px; margin-top:24px; padding:12px 20px; border:1px solid var(--em-line); border-radius:999px; background:var(--em-white); }
.em-home-reviews__summary strong { color:var(--em-blue-700); font-size:22px; }
.em-home-reviews__summary span,.em-home-review__stars { color:var(--em-yellow-600); letter-spacing:.08em; }
.em-home-reviews__summary small { color:var(--em-ink-3); font-size:14px; }
.em-home-reviews__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin-top:32px; }
.em-home-review { display:grid; gap:14px; align-content:start; padding:22px; border:1px solid var(--em-line); border-radius:var(--em-radius-xl); background:var(--em-white); box-shadow:var(--em-shadow-xs); }
.em-home-review__author { display:flex; align-items:center; gap:12px; min-width:0; }
.em-home-review__author > span { display:grid; place-items:center; flex:none; width:40px; height:40px; border-radius:50%; background:var(--em-blue-50); color:var(--em-blue-700); font-weight:700; }
.em-home-review__author div { display:grid; min-width:0; }
.em-home-review__author strong { overflow:hidden; color:var(--em-ink); font-size:15px; text-overflow:ellipsis; white-space:nowrap; }
.em-home-review__author small,.em-home-review time { color:var(--em-ink-4); font-size:12.5px; }
.em-home-review p { margin:0; color:var(--em-ink-2); font-size:14.5px; line-height:1.65; }
.em-home-review img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--em-radius-sm); }

.em-home-contact { padding-block:88px; border-top:1px solid var(--em-line); background:var(--em-white); }
.em-home-contact__grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.em-home-contact__list { display:grid; gap:18px; margin-top:28px; }
.em-home-contact__list > div { display:flex; gap:14px; align-items:flex-start; }
.em-home-contact__list > div > span { display:grid; place-items:center; flex:none; width:48px; height:48px; border-radius:50%; background:var(--em-blue-50); color:var(--em-blue-700); }
.em-home-contact__list p { margin:0; color:var(--em-ink-2); font-size:16px; line-height:1.6; }
.em-home-contact__list strong { display:block; color:var(--em-ink); }
.em-home-contact__list a { color:inherit; text-decoration:none; }
.em-home-contact__links { display:flex; flex-wrap:wrap; gap:10px 20px; margin:26px 0 0; }
.em-home-contact__links a { color:var(--em-blue-700); font-size:14px; font-weight:700; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.em-home-contact__links a:hover { color:var(--em-blue-800); }
.em-home-contact__card { padding:36px; border-radius:var(--em-radius-xl); background:var(--em-yellow-100); }
.em-home-contact__card h3 { margin:0; color:var(--em-blue-900); font-size:28px; }
.em-home-contact__card > p { margin:10px 0 24px; color:var(--em-ink-2); font-size:16px; line-height:1.65; }
.em-home-contact__card form { display:grid; gap:12px; }
.em-home-contact__card input,.em-home-contact__card textarea { width:100%; border:1px solid var(--em-line); border-radius:var(--em-radius-md); background:var(--em-white); color:var(--em-ink); font:inherit; }
.em-home-contact__card input { min-height:46px; padding:10px 14px; }
.em-home-contact__card textarea { min-height:96px; padding:12px 14px; resize:vertical; }
.em-home-contact__card button { width:100%; }
.em-home-contact__honeypot { position:absolute!important; left:-9999px!important; width:1px; height:1px; overflow:hidden; }
.em-home-contact__notice { margin:0 0 16px; padding:12px 14px; border:1px solid; border-radius:var(--em-radius-md); font-size:14px; font-weight:600; line-height:1.5; }
.em-home-contact__notice.is-success { border-color:#9bd2b1; background:#edf9f2; color:#176b3b; }
.em-home-contact__notice.is-error { border-color:#efb4b0; background:#fff1f0; color:#a1261e; }

@media (max-width:1023px) {
    .em-home-own-shirt__grid,.em-home-why__grid,.em-home-contact__grid { grid-template-columns:1fr; }
    .em-home-own-shirt__grid { gap:42px; }
    .em-home-process__grid,.em-home-reviews__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .em-home-why__intro { position:static; }
}

@media (max-width:639px) {
    .em-home-own-shirt__grid,.em-home-process,.em-home-why,.em-home-reviews,.em-home-contact { padding-block:64px; }
    .em-home-own-shirt__photos { gap:10px; }
    .em-home-own-shirt__photos img { height:220px; }
    .em-home-own-shirt__photos img:nth-child(2) { margin-top:20px; }
    .em-home-process__grid,.em-home-reviews__grid,.em-home-why__features { grid-template-columns:1fr; }
    .em-home-process__grid { margin-top:34px; }
    .em-home-feature { min-height:0; }
    .em-home-contact__card { padding:26px 20px; }
    .em-home-reviews__summary { display:flex; width:100%; justify-content:center; flex-wrap:wrap; }
}


/* Homepage categories (moved from the section template). */
/* Categories Section */
.em-categories {
    padding: var(--em-section-y) 0;
    background-color: #fff;
}

.em-section__header {
    margin-bottom: var(--em-spacing-12);
}

.em-section__header--center {
    text-align: center;
}

.em-section__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: var(--em-fs-sm);
    font-weight: var(--em-font-semibold);
    color: var(--em-blue-700);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: var(--em-spacing-3);
}

.em-section__title {
    font-size: clamp(28px, 4vw, 40px);
    font-weight: var(--em-font-bold);
    color: var(--em-ink);
    margin-bottom: var(--em-spacing-3);
}

.em-section__subtitle {
    font-size: var(--em-fs-lg);
    color: var(--em-ink-3);
    max-width: 600px;
    margin: 0 auto;
}

.em-categories__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--em-spacing-6);
}

/* Category Card */
.em-category-card {
    position: relative;
    display: block;
    border-radius: var(--em-radius-xl);
    overflow: hidden;
    text-decoration: none;
    background-color: var(--em-paper);
    transition: transform var(--em-dur-normal), box-shadow var(--em-dur-normal);
    animation: fadeInUp var(--em-dur-slow) var(--em-ease-out) both;
}

.em-category-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--em-shadow-lg);
}

.em-category-card__image {
    aspect-ratio: 1;
    overflow: hidden;
}

.em-category-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--em-dur-slow);
}

.em-category-card:hover .em-category-card__image img {
    transform: scale(1.05);
}

.em-category-card__content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--em-spacing-6);
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
    color: #fff;
}

.em-category-card__name {
    font-size: var(--em-fs-xl);
    font-weight: var(--em-font-bold);
    color: #fff;
    margin: 0 0 var(--em-spacing-1);
}

.em-category-card__count {
    font-size: var(--em-fs-sm);
    opacity: 0.85;
}

.em-category-card__arrow {
    position: absolute;
    top: var(--em-spacing-4);
    right: var(--em-spacing-4);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border-radius: var(--em-radius-full);
    color: var(--em-ink);
    opacity: 0;
    transform: translateX(-10px);
    transition: all var(--em-dur-normal);
}

.em-category-card:hover .em-category-card__arrow {
    opacity: 1;
    transform: translateX(0);
}

.em-categories__footer {
    text-align: center;
    margin-top: var(--em-spacing-12);
}

/* Responsive */
@media (max-width: 1023px) {
    .em-categories__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .em-categories__grid {
        grid-template-columns: 1fr;
        gap: var(--em-spacing-4);
    }

    .em-category-card__content {
        padding: var(--em-spacing-4);
    }

    .em-category-card__name {
        font-size: var(--em-fs-lg);
    }
}


/* Homepage featured products (moved from the section template). */
/* Products Section */
.em-products {
    padding: var(--em-section-y) 0;
    background-color: var(--em-paper);
}

.em-section__header--left {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--em-spacing-8);
    flex-wrap: wrap;
    margin-bottom: var(--em-spacing-10);
}

.em-section__header-content {
    flex: 1;
    min-width: 200px;
}

/* Tabs */
.em-products__tabs {
    display: flex;
    gap: var(--em-spacing-2);
    flex-wrap: wrap;
}

.em-products__tab {
    padding: 10px 20px;
    font-size: var(--em-fs-sm);
    font-weight: var(--em-font-medium);
    color: var(--em-ink-3);
    background: transparent;
    border: 1px solid var(--em-line);
    border-radius: var(--em-radius-full);
    cursor: pointer;
    transition: all var(--em-dur-fast);
}

.em-products__tab:hover {
    border-color: var(--em-ink);
    color: var(--em-ink);
}

.em-products__tab.active {
    background-color: var(--em-ink);
    border-color: var(--em-ink);
    color: #fff;
}

/* Products Grid */
.em-products__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--em-spacing-6);
}

/* Product Card */
.em-product-card {
    position: relative;
    background-color: #fff;
    border-radius: var(--em-radius-lg);
    overflow: hidden;
    transition: transform var(--em-dur-normal), box-shadow var(--em-dur-normal);
}

.em-product-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--em-shadow-lg);
}

.em-product-card__badge {
    position: absolute;
    top: var(--em-spacing-3);
    left: var(--em-spacing-3);
    padding: 4px 10px;
    font-size: var(--em-fs-xs);
    font-weight: var(--em-font-bold);
    border-radius: var(--em-radius-sm);
    z-index: 2;
}

.em-product-card__badge--sale {
    background-color: var(--em-red);
    color: #fff;
}

.em-product-card__badge--new {
    background-color: var(--em-blue-700);
    color: #fff;
}

.em-product-card__badge--bestseller {
    background-color: var(--em-yellow-500);
    color: var(--em-ink);
}

.em-product-card__image {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background-color: var(--em-paper);
}

.em-product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--em-dur-slow);
}

.em-product-card:hover .em-product-card__image img {
    transform: scale(1.05);
}

.em-product-card__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: opacity var(--em-dur-normal);
}

.em-product-card:hover .em-product-card__overlay {
    opacity: 1;
}

.em-product-card__quick-view {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    font-size: var(--em-fs-sm);
    font-weight: var(--em-font-medium);
    color: var(--em-ink);
    background-color: #fff;
    border-radius: var(--em-radius-full);
}

.em-product-card__content {
    padding: var(--em-spacing-4);
}

.em-product-card__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 15px;
    font-weight: var(--em-font-medium);
    color: var(--em-ink);
    text-decoration: none;
    line-height: var(--em-leading-snug);
    margin-bottom: var(--em-spacing-2);
}

.em-product-card__title:hover {
    color: var(--em-blue-700);
}

.em-product-card__price {
    display: flex;
    align-items: center;
    gap: var(--em-spacing-2);
    font-size: var(--em-fs-base);
    font-weight: var(--em-font-bold);
    color: var(--em-blue-700);
    margin-bottom: var(--em-spacing-3);
}

.em-product-card__price .woocommerce-Price-amount {
    color: var(--em-blue-700);
}

.em-product-card__price ins {
    text-decoration: none;
}

.em-product-card__price del,
.em-product-card__price del .woocommerce-Price-amount {
    color: var(--em-ink-4);
}

.em-product-card__price-old {
    font-size: var(--em-fs-sm);
    font-weight: var(--em-font-normal);
    color: var(--em-ink-4);
    text-decoration: line-through;
}

.em-product-card__rating {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: var(--em-spacing-3);
    font-size: var(--em-fs-xs);
    color: var(--em-ink-3);
}

.em-product-card__rating .star-rating {
    color: var(--em-yellow-500);
}

.em-product-card__rating-star {
    color: #f59e0b;
}

.em-product-card__rating-count {
    color: var(--em-ink-4);
}

.em-product-card__actions {
    display: flex;
    gap: var(--em-spacing-2);
}

.em-product-card__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 1;
    padding: 10px 12px;
    font-size: 13px;
    font-weight: var(--em-font-medium);
    line-height: 1.2;
    white-space: nowrap;
    border-radius: var(--em-radius-md);
    cursor: pointer;
    transition: all var(--em-dur-fast);
}

.em-product-card__action--cart {
    background-color: var(--em-blue-700);
    color: #fff;
    border: none;
}

.em-product-card__action--cart:hover {
    background-color: var(--em-blue-800);
}

.em-product-card__personalize {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 0 0 auto;
    padding: 9px 11px;
    border: 1px solid var(--em-yellow-500);
    border-radius: var(--em-radius-md);
    background: var(--em-yellow-100);
    color: var(--em-blue-800);
    font-size: 12px;
    font-weight: var(--em-font-semibold);
    line-height: 1;
    white-space: nowrap;
}

.em-product-card__personalize .em-icon-svg {
    flex: none;
    color: var(--em-yellow-700);
}

.em-products__footer {
    text-align: center;
    margin-top: var(--em-spacing-12);
}

/* Responsive */
@media (max-width: 1200px) {
    .em-products__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 1023px) {
    .em-section__header--left {
        flex-direction: column;
        align-items: flex-start;
    }

    .em-products__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 420px) {
    .em-product-card__personalize span {
        display: none;
    }
}

@media (max-width: 640px) {
    .em-products__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .em-products__tabs {
        width: 100%;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: var(--em-spacing-2);
    }

    .em-products__tab {
        white-space: nowrap;
        flex-shrink: 0;
    }
}


/* Homepage blog (moved from the section template). */
/* Blog Section */
.em-blog {
    padding: var(--em-section-y) 0;
    background-color: var(--em-paper);
}

.em-blog__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--em-spacing-6);
}

/* Blog Card */
.em-blog-card {
    background-color: #fff;
    border-radius: var(--em-radius-xl);
    overflow: hidden;
    transition: transform var(--em-dur-normal), box-shadow var(--em-dur-normal);
}

.em-blog-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--em-shadow-lg);
}

.em-blog-card__image {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.em-blog-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--em-dur-slow);
}

.em-blog-card:hover .em-blog-card__image img {
    transform: scale(1.05);
}

.em-blog-card__content {
    padding: var(--em-spacing-6);
}

.em-blog-card__category {
    display: inline-block;
    padding: 4px 12px;
    font-size: var(--em-fs-xs);
    font-weight: var(--em-font-semibold);
    color: var(--em-blue-700);
    background-color: var(--em-blue-100);
    border-radius: var(--em-radius-full);
    margin-bottom: var(--em-spacing-3);
}

.em-blog-card__title {
    font-size: var(--em-fs-lg);
    font-weight: var(--em-font-semibold);
    line-height: var(--em-leading-snug);
    margin-bottom: var(--em-spacing-3);
}

.em-blog-card__title a {
    color: var(--em-ink);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.em-blog-card__title a:hover {
    color: var(--em-blue-700);
}

.em-blog-card__excerpt {
    font-size: var(--em-fs-sm);
    color: var(--em-ink-3);
    line-height: var(--em-leading-relaxed);
    margin-bottom: var(--em-spacing-4);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.em-blog-card__meta {
    display: flex;
    align-items: center;
    gap: var(--em-spacing-4);
    font-size: var(--em-fs-xs);
    color: var(--em-ink-4);
}

.em-blog-card__date,
.em-blog-card__read-time {
    display: inline-flex;
    align-items: center;
}

/* Responsive */
@media (max-width: 1023px) {
    .em-blog__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .em-blog__grid {
        grid-template-columns: 1fr;
    }

    .em-section__header--left {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--em-spacing-4);
    }
}
