/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */

/* ── 전체 페이지: 스크롤바 영역 고정으로 가로 흔들림 방지 ── */
html {
    overflow-y: scroll;
    scrollbar-gutter: stable;
}

/* ── 향맵 다단 정보 푸터 ── */
.hyangmap-footer {
    --hyangmap-footer-accent: #b86849;
    --hyangmap-footer-ink: #f8f5f1;
    --hyangmap-footer-muted: #b9b7b3;
    --hyangmap-footer-bg: #171816;
    --hyangmap-footer-line: rgba(255, 255, 255, 0.13);
    color: var(--hyangmap-footer-ink);
    background: var(--hyangmap-footer-bg);
}

.hyangmap-footer__container {
    width: min(100% - 48px, 1290px);
    margin-inline: auto;
}

.hyangmap-footer__assurances {
    color: #fff;
    background: var(--hyangmap-footer-accent);
}

.hyangmap-footer__assurance-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hyangmap-footer__assurance {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    min-height: 150px;
    padding: 34px 26px;
    border-inline-start: 1px solid rgba(255, 255, 255, 0.2);
}

.hyangmap-footer__assurance:last-child {
    border-inline-end: 1px solid rgba(255, 255, 255, 0.2);
}

.hyangmap-footer__assurance-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    color: #fff;
}

.hyangmap-footer__assurance-mark svg {
    display: block;
    width: 36px;
    height: 36px;
    fill: currentColor;
}

.hyangmap-footer__assurance strong,
.hyangmap-footer__assurance span {
    display: block;
}

.hyangmap-footer__assurance strong {
    margin: 1px 0 8px;
    color: inherit;
    font-size: 15px;
    line-height: 1.35;
}

.hyangmap-footer__assurance div > span {
    color: rgba(255, 255, 255, 0.76);
    font-size: 13px;
    line-height: 1.6;
}

.hyangmap-footer__main {
    padding: 70px 0 0;
}

.hyangmap-footer__columns {
    display: grid;
    grid-template-columns: minmax(230px, 1.5fr) repeat(4, minmax(130px, 1fr));
    gap: 48px 36px;
    padding-bottom: 58px;
}

.hyangmap-footer__logo {
    display: inline-block;
    margin-bottom: 19px;
    color: #fff;
    font-size: clamp(26px, 2.5vw, 34px);
    font-weight: 800;
    letter-spacing: -0.06em;
    text-decoration: none;
}

.hyangmap-footer__logo:hover,
.hyangmap-footer__logo:focus-visible {
    color: #fff;
}

.hyangmap-footer__tagline {
    max-width: 310px;
    margin: 0 0 24px;
    color: var(--hyangmap-footer-muted);
    font-size: 14px;
    line-height: 1.75;
}

.hyangmap-footer__contact {
    display: grid;
    gap: 6px;
    color: var(--hyangmap-footer-muted);
    font-size: 13px;
    font-style: normal;
    line-height: 1.6;
}

.hyangmap-footer__contact a,
.hyangmap-footer__nav a,
.hyangmap-footer__business a {
    color: var(--hyangmap-footer-muted);
    text-decoration: none;
}

.hyangmap-footer__contact a:hover,
.hyangmap-footer__nav a:hover,
.hyangmap-footer__business a:hover {
    color: #fff;
}

.hyangmap-footer__nav h2,
.hyangmap-footer__business h2 {
    margin: 0 0 20px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.hyangmap-footer__nav ul {
    display: grid;
    gap: 10px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.hyangmap-footer__nav a {
    font-size: 13px;
    line-height: 1.5;
}

.hyangmap-footer__business {
    padding: 34px 0 40px;
    border-top: 1px solid var(--hyangmap-footer-line);
}

.hyangmap-footer__business-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.hyangmap-footer__business-heading h2 {
    margin: 0;
}

.hyangmap-footer__business-heading a {
    font-size: 12px;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.hyangmap-footer__business dl {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    margin: 0;
    color: var(--hyangmap-footer-muted);
    font-size: 12px;
    line-height: 1.55;
}

.hyangmap-footer__business dl > div {
    display: inline-flex;
    gap: 7px;
}

.hyangmap-footer__business dt {
    color: #dfddd9;
    font-weight: 600;
}

.hyangmap-footer__business dd {
    margin: 0;
}

.hyangmap-footer__business .is-pending dd {
    color: #8c8c88;
}

.hyangmap-footer__bottom {
    border-top: 1px solid var(--hyangmap-footer-line);
}

.hyangmap-footer__bottom .hyangmap-footer__container {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 24px;
    padding-block: 22px;
}

.hyangmap-footer__bottom p:last-child {
    grid-column: 2;
    text-align: center;
}

.hyangmap-footer__bottom p {
    margin: 0;
    color: #8f8f8b;
    font-size: 11px;
    line-height: 1.5;
}

.hyangmap-footer__register {
    grid-column: 3;
    justify-self: end;
    color: #8f8f8b;
    font-size: 11px;
    line-height: 1.5;
    text-decoration: none;
}

.hyangmap-footer__register:hover,
.hyangmap-footer__register:focus-visible {
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 1024px) {
    .hyangmap-footer__assurance-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hyangmap-footer__assurance:nth-child(3) {
        border-top: 1px solid rgba(255, 255, 255, 0.2);
    }

    .hyangmap-footer__assurance:nth-child(4) {
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        border-inline-end: 1px solid rgba(255, 255, 255, 0.2);
    }

    .hyangmap-footer__columns {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .hyangmap-footer__brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 689px) {
    .hyangmap-footer__container {
        width: min(100% - 32px, 1290px);
    }

    .hyangmap-footer__assurance-grid,
    .hyangmap-footer__columns {
        grid-template-columns: 1fr 1fr;
    }

    .hyangmap-footer__assurance {
        min-height: auto;
        padding: 25px 16px;
        border-top: 1px solid rgba(255, 255, 255, 0.2);
    }

    .hyangmap-footer__assurance:nth-child(odd) {
        border-inline-start: 0;
    }

    .hyangmap-footer__assurance-mark {
        width: 40px;
        height: 40px;
    }

    .hyangmap-footer__main {
        padding-top: 48px;
    }

    .hyangmap-footer__columns {
        gap: 38px 24px;
        padding-bottom: 44px;
    }

    .hyangmap-footer__brand {
        grid-column: 1 / -1;
    }

    .hyangmap-footer__business dl,
    .hyangmap-footer__bottom .hyangmap-footer__container {
        display: grid;
    }

    .hyangmap-footer__bottom .hyangmap-footer__container {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .hyangmap-footer__bottom p:last-child {
        grid-column: 1;
    }

    .hyangmap-footer__register {
        grid-column: 1;
        justify-self: center;
    }
}

@media (max-width: 480px) {
    .hyangmap-footer__assurance-grid,
    .hyangmap-footer__columns {
        grid-template-columns: 1fr;
    }

    .hyangmap-footer__assurance,
    .hyangmap-footer__assurance:nth-child(odd) {
        border-inline: 0;
    }

    .hyangmap-footer__brand {
        grid-column: auto;
    }

    .hyangmap-footer__business-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

@supports (scrollbar-gutter: stable) {
    html {
        overflow-y: auto;
    }
}

@media (min-width: 1000px) {
    html {
        overflow-y: scroll !important;
        scrollbar-gutter: stable;
    }

    body[data-panel] {
        padding-right: 0 !important;
    }
}

/* ── 데스크톱 헤더 우측 계정/검색/카트 그룹 간격 ── */
@media (min-width: 1000px) {
    #header [data-device="desktop"] [data-row="top"] [data-column="end"] [data-items="primary"] > .header-menu-3 .ct-menu-link {
        padding-inline: 6px !important;
    }

    #header [data-device="desktop"] [data-row="top"] [data-column="end"] [data-items="primary"] > .header-menu-3 {
        margin-inline-end: 3px !important;
    }

    #header [data-device="desktop"] [data-row="top"] [data-column="end"] [data-items="primary"] > .ct-header-search[data-id="search"] {
        margin-inline-start: 3px !important;
        margin-inline-end: 6px !important;
    }

    #header [data-device="desktop"] [data-row="top"] [data-column="end"] [data-items="primary"] > .ct-header-cart[data-id="cart"] {
        margin-inline-start: 6px !important;
    }
}

/* ── Shop: 선택한 조건을 제품 목록 상단에 분리 표시 ── */
.perfume-shop-active-filters {
    width: 100%;
    margin: 0 0 18px;
}

.perfume-shop-active-filters:has(.wp-block-woocommerce-product-filter-active[hidden]),
.perfume-shop-active-filters:has(.wp-block-woocommerce-product-filter-active.wc-block-product-filter--hidden) {
    display: none;
}

.perfume-shop-active-filters-container:has(.wp-block-woocommerce-product-filter-active[hidden]),
.perfume-shop-active-filters-container:has(.wp-block-woocommerce-product-filter-active.wc-block-product-filter--hidden) {
    display: none;
}

.perfume-shop-active-filters .wp-block-woocommerce-product-filters {
    width: 100%;
}

.perfume-shop-active-filters .wp-block-woocommerce-product-filter-active {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 12px;
    padding: 12px 14px;
    border: 1px solid var(--theme-border-color);
    border-radius: var(--theme-form-field-border-radius, 6px);
    background: var(--theme-palette-color-8, #fff);
}

.perfume-shop-active-filters__title {
    flex: 0 0 auto;
    margin: 0;
    color: var(--theme-heading-color, var(--theme-headings-color));
    font-size: 0.9375em;
    font-weight: 600;
    line-height: var(--theme-line-height, 1.65);
}

.perfume-shop-active-filters .wp-block-woocommerce-product-filter-removable-chips {
    flex: 1 1 auto;
}

.perfume-shop-active-filters .wc-block-product-filter-removable-chips__items {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.perfume-shop-active-filters .wc-block-product-filter-removable-chips__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 0.25em 0.75em;
    margin: 0;
    border: 1px solid var(--wc-product-filter-removable-chips-border, color-mix(in srgb, currentColor 20%, transparent));
    border-radius: 2px;
    background: var(--wc-product-filter-removable-chips-background, transparent);
    color: var(--wc-product-filter-removable-chips-text, currentColor);
    font-size: 0.875em;
    line-height: var(--theme-line-height, 1.65);
    list-style: none;
}

.perfume-shop-active-filters .wc-block-product-filter-removable-chips__label {
    display: block;
}

.perfume-shop-active-filters .wc-block-product-filter-removable-chips__remove {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: var(--theme-form-field-border-radius, 6px);
    background: transparent;
    color: var(--wc-product-filter-removable-chips-text, currentColor);
    cursor: pointer;
    line-height: 1;
    text-decoration: none;
}

.perfume-shop-active-filters .wc-block-product-filter-removable-chips__remove-icon {
    display: block;
    width: 25px;
    height: 25px;
    fill: currentColor;
}

.perfume-shop-active-filters .wp-block-woocommerce-product-filter-clear-button {
    flex: 0 0 auto;
}

.perfume-shop-active-filters .wp-block-woocommerce-product-filter-clear-button .wp-block-button__link {
    padding: 0;
    border: 0;
    border-radius: 0;
    color: var(--theme-link-initial-color);
    background: transparent;
    font-size: 0.875em;
    font-weight: 500;
    line-height: var(--theme-line-height, 1.65);
    text-decoration: none;
}

.perfume-shop-active-filters .wp-block-woocommerce-product-filter-clear-button .wp-block-button__link:hover {
    color: var(--theme-link-hover-color);
}

@media (max-width: 689px) {
    .perfume-shop-active-filters .wp-block-woocommerce-product-filter-active {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (min-width: 1000px) {
    body.woocommerce.archive .perfume-shop-active-filters-container:not(:has(.wp-block-woocommerce-product-filter-active[hidden])) + .ct-container[data-sidebar] {
        padding-top: 0;
    }

    body.post-type-archive-note .perfume-note-active-filters-container + .ct-container[data-sidebar],
    body.tax-scent_family .perfume-note-active-filters-container + .ct-container[data-sidebar],
    body.tax-scent_season .perfume-note-active-filters-container + .ct-container[data-sidebar],
    body.tax-scent_mood .perfume-note-active-filters-container + .ct-container[data-sidebar] {
        padding-top: 0;
    }
}

/* ── 주요 아카이브 카드 이미지: 목록 리듬 통일 ── */
.post-type-archive-scent .hero-section,
.post-type-archive-brand .hero-section,
.post-type-archive-materials .hero-section,
.post-type-archive-history .hero-section,
.post-type-archive-culture .hero-section {
    background: var(--theme-palette-color-6, #f2f5f7);
}

.post-type-archive-note .ct-media-container,
.post-type-archive-scent .ct-media-container,
.tax-scent_family .ct-media-container,
.tax-scent_season .ct-media-container,
.tax-scent_mood .ct-media-container,
.post-type-archive-fragrance .ct-media-container {
    border-radius: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
}

@media (min-width: 1000px) {
    body.woocommerce.archive .ct-container[data-sidebar],
    body.post-type-archive-note .ct-container[data-sidebar],
    body.tax-scent_family .ct-container[data-sidebar],
    body.tax-scent_season .ct-container[data-sidebar],
    body.tax-scent_mood .ct-container[data-sidebar] {
        grid-template-columns: 180px minmax(0, 1fr);
        column-gap: 30px;
    }

    body.woocommerce.archive .ct-container[data-sidebar] .ct-sidebar,
    body.post-type-archive-note .ct-container[data-sidebar] .ct-sidebar,
    body.tax-scent_family .ct-container[data-sidebar] .ct-sidebar,
    body.tax-scent_season .ct-container[data-sidebar] .ct-sidebar,
    body.tax-scent_mood .ct-container[data-sidebar] .ct-sidebar {
        box-sizing: border-box;
        width: 180px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    body.woocommerce.archive .ct-container[data-sidebar] .ct-sidebar *,
    body.post-type-archive-note .ct-container[data-sidebar] .ct-sidebar *,
    body.tax-scent_family .ct-container[data-sidebar] .ct-sidebar *,
    body.tax-scent_season .ct-container[data-sidebar] .ct-sidebar *,
    body.tax-scent_mood .ct-container[data-sidebar] .ct-sidebar * {
        max-width: 100%;
    }

    body.woocommerce.archive .ct-container[data-sidebar] .ct-sidebar .ct-widget,
    body.post-type-archive-note .ct-container[data-sidebar] .ct-sidebar .ct-widget,
    body.tax-scent_family .ct-container[data-sidebar] .ct-sidebar .ct-widget,
    body.tax-scent_season .ct-container[data-sidebar] .ct-sidebar .ct-widget,
    body.tax-scent_mood .ct-container[data-sidebar] .ct-sidebar .ct-widget {
        margin: 0;
        padding: 0;
        background: transparent;
        box-shadow: none;
    }

    body.woocommerce.archive .ct-sidebar .wc-block-product-filters__overlay-content,
    body.post-type-archive-note .ct-sidebar .note-filter-form,
    body.tax-scent_family .ct-sidebar .note-filter-form,
    body.tax-scent_season .ct-sidebar .note-filter-form,
    body.tax-scent_mood .ct-sidebar .note-filter-form {
        display: grid;
        gap: 12px;
    }

    body.woocommerce.archive .ct-sidebar .wc-block-product-filters__overlay-content > [class*="wp-block-woocommerce-product-filter-"]:not(.wc-block-product-filter--hidden),
    body.post-type-archive-note .ct-sidebar .note-filter-group,
    body.tax-scent_family .ct-sidebar .note-filter-group,
    body.tax-scent_season .ct-sidebar .note-filter-group,
    body.tax-scent_mood .ct-sidebar .note-filter-group {
        box-sizing: border-box;
        width: 100%;
        margin: 0;
        padding: 14px;
        border: 0;
        border-radius: 0;
        background: var(--theme-palette-color-8, #fff);
        box-shadow: 0 12px 18px -6px rgba(34, 56, 101, 0.04);
    }

    body.woocommerce.archive .ct-sidebar .wc-block-product-filters__overlay-content > [class*="wp-block-woocommerce-product-filter-"] .wp-block-heading {
        margin: 0 0 0.625rem;
        font-size: 17px;
        line-height: 1.35;
        font-weight: 600;
        letter-spacing: 0;
    }

    body.post-type-archive-note .ct-sidebar .note-filter-heading,
    body.tax-scent_family .ct-sidebar .note-filter-heading,
    body.tax-scent_season .ct-sidebar .note-filter-heading,
    body.tax-scent_mood .ct-sidebar .note-filter-heading {
        margin: 0 0 0.625rem;
        font-size: 20px;
        line-height: 1.35;
        font-weight: 700;
        letter-spacing: 0;
    }

    .post-type-archive-note .entries,
    .tax-scent_family .entries,
    .tax-scent_season .entries,
    .tax-scent_mood .entries {
        --grid-columns-gap: 30px;
    }
}

body.woocommerce.archive ul.products,
.post-type-archive-note .entries,
.tax-scent_family .entries,
.tax-scent_season .entries,
.tax-scent_mood .entries {
    gap: 30px !important;
}

body.woocommerce.archive ul.products li.product,
.post-type-archive-note article.entry-card,
.tax-scent_family article.entry-card,
.tax-scent_season article.entry-card,
.tax-scent_mood article.entry-card {
    box-sizing: border-box;
    min-width: 0;
    padding: var(--card-inner-spacing, 30px) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--theme-palette-color-8, #fff) !important;
    box-shadow: 0 12px 18px -6px rgba(34, 56, 101, 0.04) !important;
}

body.woocommerce.archive ul.products li.product {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
}

body.woocommerce.archive ul.products li.product figure {
    width: 100%;
    margin: 0 0 20px !important;
}

body.woocommerce.archive ul.products li.product .ct-media-container,
.post-type-archive-note article.entry-card .ct-media-container.boundless-image,
.tax-scent_family article.entry-card .ct-media-container.boundless-image,
.tax-scent_season article.entry-card .ct-media-container.boundless-image,
.tax-scent_mood article.entry-card .ct-media-container.boundless-image {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 0 20px !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
    transform: none !important;
}

body.woocommerce.archive ul.products li.product .ct-media-container img,
.post-type-archive-note article.entry-card .ct-media-container img,
.tax-scent_family article.entry-card .ct-media-container img,
.tax-scent_season article.entry-card .ct-media-container img,
.tax-scent_mood article.entry-card .ct-media-container img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
}

body.woocommerce.archive ul.products li.product .woocommerce-loop-product__title,
.post-type-archive-note article.entry-card .entry-title,
.tax-scent_family article.entry-card .entry-title,
.tax-scent_season article.entry-card .entry-title,
.tax-scent_mood article.entry-card .entry-title {
    line-height: 1.35;
}

body.woocommerce.archive ul.products li.product .entry-excerpt,
.post-type-archive-note article.entry-card .entry-excerpt,
.tax-scent_family article.entry-card .entry-excerpt,
.tax-scent_season article.entry-card .entry-excerpt,
.tax-scent_mood article.entry-card .entry-excerpt {
    min-width: 0;
}

@media (max-width: 999px) {
    body.woocommerce.archive ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 689px) {
    body.woocommerce.archive ul.products {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 999px) {
    body.woocommerce.archive ul.products li.product .ct-media-container,
    .post-type-archive-note article.entry-card .ct-media-container.boundless-image,
    .tax-scent_family article.entry-card .ct-media-container.boundless-image,
    .tax-scent_season article.entry-card .ct-media-container.boundless-image,
    .tax-scent_mood article.entry-card .ct-media-container.boundless-image {
        margin-bottom: 20px !important;
    }
}

@media (min-width: 690px) {
    .post-type-archive-materials article.entry-card .entry-title,
    .post-type-archive-history article.entry-card .entry-title,
    .post-type-archive-culture article.entry-card .entry-title {
        min-height: 2.6em;
    }
}

.post-type-archive-materials article.entry-card .ct-media-container.boundless-image,
.post-type-archive-history article.entry-card .ct-media-container.boundless-image,
.post-type-archive-culture article.entry-card .ct-media-container.boundless-image {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.post-type-archive-materials article.entry-card .ct-media-container img,
.post-type-archive-history article.entry-card .ct-media-container img,
.post-type-archive-culture article.entry-card .ct-media-container img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
}

.post-type-archive-note .entry-card .ct-media-container.boundless-image,
.tax-scent_family .entry-card .ct-media-container.boundless-image,
.tax-scent_season .entry-card .ct-media-container.boundless-image,
.tax-scent_mood .entry-card .ct-media-container.boundless-image {
    display: flex;
    width: calc(100% + var(--card-inner-spacing, 30px) * 2);
    max-width: calc(100% + var(--card-inner-spacing, 30px) * 2);
    aspect-ratio: 4 / 3;
    margin-inline-start: 50%;
    transform: translateX(-50%);
}

.post-type-archive-note .ct-media-container img,
.post-type-archive-scent .ct-media-container img,
.tax-scent_family .ct-media-container img,
.tax-scent_season .ct-media-container img,
.tax-scent_mood .ct-media-container img,
.post-type-archive-fragrance .ct-media-container img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: contain !important;
    border-radius: 0 !important;
}

body.woocommerce.archive ul.products li.product .ct-media-container img,
.post-type-archive-materials .ct-media-container img,
.post-type-archive-history .ct-media-container img,
.post-type-archive-culture .ct-media-container img {
    object-fit: contain !important;
}

/* ── 기타 CPT 아카이브: 크롭 방지, 원본 비율 유지 ── */
.post-type-archive-brand .ct-media-container {
    aspect-ratio: auto !important;
}

.post-type-archive-brand .ct-media-container img {
    object-fit: contain !important;
    height: auto !important;
}

/* ── 노트 단일: 대표 이미지를 정보 카드 2칸 폭에 맞춤 ── */
.single-note .ct-featured-image:not(.alignwide):not(.alignfull) {
    max-width: calc((var(--theme-block-max-width, 720px) - 14px) / 2);
}

.single-note .ct-featured-image .ct-media-container {
    border-radius: 8px;
}

@media (max-width: 760px) {
    .single-note .ct-featured-image:not(.alignwide):not(.alignfull) {
        max-width: var(--theme-block-max-width, 720px);
    }
}

/* Checkout document links: two compact rows (2 items, then 3 items). */
.perfume-checkout-document-links,
.wc-block-checkout .perfume-checkout-document-links,
.perfume-checkout-agreements .woocommerce-form__label-for-checkbox,
.wc-block-checkout .perfume-checkout-agreements .wc-block-components-checkbox__label {
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    letter-spacing: normal !important;
}

.perfume-checkout-document-links strong,
.wc-block-checkout .perfume-checkout-document-links strong {
    font: inherit !important;
    font-weight: 700 !important;
}

.perfume-checkout-document-links a,
.wc-block-checkout .perfume-checkout-document-links a,
.perfume-checkout-agreements .woocommerce-form__label-for-checkbox > span,
.perfume-checkout-agreements .required {
    font: inherit !important;
    font-weight: 400 !important;
    letter-spacing: inherit !important;
}

.perfume-checkout-document-links > span,
.wc-block-checkout .perfume-checkout-document-links > span {
    display: inline !important;
}

.perfume-checkout-document-links > span + span::before,
.wc-block-checkout .perfume-checkout-document-links > span + span::before {
    content: " / " !important;
    display: inline !important;
}

.perfume-checkout-document-links > span:nth-of-type(3)::before,
.wc-block-checkout .perfume-checkout-document-links > span:nth-of-type(3)::before {
    content: "\A" !important;
    white-space: pre !important;
}

.perfume-checkout-document-links > span:first-of-type > a,
.perfume-checkout-document-links > span:nth-of-type(3) > a,
.wc-block-checkout .perfume-checkout-document-links > span:first-of-type > a,
.wc-block-checkout .perfume-checkout-document-links > span:nth-of-type(3) > a {
    margin-left: 28px !important;
}

/* ── 향맵 홈 ── */
.hyangmap-home {
    --home-ink: #202522;
    --home-muted: #687069;
    --home-line: rgba(32, 37, 34, 0.13);
    --home-paper: #f5f1eb;
    --home-accent: #bd6c50;
    color: var(--home-ink);
    background: #fff;
}

.hyangmap-home__container {
    width: min(1180px, calc(100% - 48px));
    margin-inline: auto;
}

.hyangmap-home-hero {
    overflow: hidden;
    background: var(--home-paper);
}

.hyangmap-home-hero__grid {
    min-height: 680px;
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
    align-items: center;
    gap: clamp(40px, 7vw, 100px);
}

.hyangmap-home__eyebrow {
    margin: 0 0 18px;
    color: var(--home-accent);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.hyangmap-home-hero h1 {
    max-width: 680px;
    margin: 0;
    font-size: clamp(42px, 5vw, 72px);
    line-height: 1.09;
    letter-spacing: -0.045em;
}

.hyangmap-home-hero__lead {
    max-width: 580px;
    margin: 28px 0 0;
    color: var(--home-muted);
    font-size: 17px;
    line-height: 1.8;
}

.hyangmap-home-hero__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 36px;
}

.hyangmap-home__button {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 26px;
    border-radius: var(--theme-button-border-radius, 3px);
    color: var(--theme-button-text-initial-color, #fff);
    background: var(--theme-button-background-initial-color, #2872fa);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

.hyangmap-home__button:hover {
    color: var(--theme-button-text-hover-color, #fff);
    background: var(--theme-button-background-hover-color, #1f5ecc);
}

.hyangmap-home__text-link {
    color: var(--home-ink);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

.hyangmap-home__text-link span {
    display: inline-block;
    margin-left: 7px;
    transition: transform 180ms ease;
}

.hyangmap-home__text-link:hover span {
    transform: translateX(4px);
}

.hyangmap-home-hero__visual {
    position: relative;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    align-self: center;
}

.hyangmap-home-hero__visual::before {
    content: none;
}

.hyangmap-home-hero__note-image {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    object-position: center;
    mix-blend-mode: normal;
}

.hyangmap-home-hero__product {
    position: relative;
    z-index: 2;
    width: max-content;
    max-width: 100%;
    display: grid;
    grid-template-columns: 64px auto;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 0;
    background: var(--home-paper);
    box-shadow: none;
    color: var(--home-ink);
    text-decoration: none;
}

.hyangmap-home-hero__product img {
    width: 64px;
    height: 78px;
    object-fit: contain;
    background: var(--home-paper);
    mix-blend-mode: multiply;
}

.hyangmap-home-hero__product span {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
    white-space: nowrap;
}

.hyangmap-home-hero__product strong {
    font-weight: 700;
}

.hyangmap-home-section {
    padding: 104px 0;
}

.hyangmap-home-section__heading {
    max-width: 650px;
    margin-bottom: 42px;
}

.hyangmap-home-section__heading h2 {
    margin: 0;
    font-size: clamp(30px, 3.2vw, 46px);
    line-height: 1.2;
    letter-spacing: -0.035em;
}

.hyangmap-home-section__heading > p:last-child {
    margin: 16px 0 0;
    color: var(--home-muted);
    font-size: 16px;
}

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

.hyangmap-home-path-card {
    min-width: 0;
    color: var(--home-ink);
    text-decoration: none;
}

.hyangmap-home-path-card__image {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background: var(--home-paper);
}

.hyangmap-home-path-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 350ms ease;
}

.hyangmap-home-path-card:hover .hyangmap-home-path-card__image img {
    transform: scale(1.025);
}

.hyangmap-home-path-card__body {
    display: block;
    padding: 20px 2px 0;
}

.hyangmap-home-path-card__body strong {
    display: block;
    margin-bottom: 7px;
    font-size: 21px;
}

.hyangmap-home-path-card__body > span {
    display: block;
    color: var(--home-muted);
    font-size: 14px;
    line-height: 1.6;
}

.hyangmap-home-map {
    background: #222824;
    color: #f8f5f0;
}

.hyangmap-home-map__grid {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: clamp(50px, 8vw, 110px);
}

.hyangmap-home-map__image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: #eee8df;
}

.hyangmap-home-map__image::after {
    position: absolute;
    inset: 18px;
    border: 1px solid rgba(255, 255, 255, 0.42);
    content: "";
    pointer-events: none;
}

.hyangmap-home-map__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hyangmap-home-map__content h2 {
    margin: 0;
    color: inherit;
    font-size: clamp(34px, 4.3vw, 58px);
    line-height: 1.18;
    letter-spacing: -0.04em;
}

.hyangmap-home-map__content > p:not(.hyangmap-home__eyebrow) {
    max-width: 590px;
    margin: 24px 0 0;
    color: rgba(248, 245, 240, 0.66);
    font-size: 16px;
    line-height: 1.8;
}

.hyangmap-home-map__links {
    margin-top: 34px;
    border-top: 1px solid rgba(255, 255, 255, 0.17);
}

.hyangmap-home-map__links a {
    display: grid;
    grid-template-columns: 90px 1fr auto;
    align-items: center;
    gap: 18px;
    padding: 17px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.17);
    color: inherit;
    text-decoration: none;
}

.hyangmap-home-map__links small {
    color: rgba(248, 245, 240, 0.52);
    font-size: 12px;
    letter-spacing: 0.08em;
}

.hyangmap-home-map__links strong {
    font-size: 17px;
    font-weight: 600;
}

.hyangmap-home-map__links a > span {
    transition: transform 180ms ease;
}

.hyangmap-home-map__links a:hover > span {
    transform: translateX(4px);
}

.hyangmap-home-section__topline {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 42px;
}

.hyangmap-home-section__topline .hyangmap-home-section__heading {
    margin-bottom: 0;
}

.hyangmap-home-section__topline > .hyangmap-home__text-link {
    flex: 0 0 auto;
    margin-bottom: 4px;
}

.hyangmap-home-notes__carousel {
    --notes-visible: 6;
    --notes-gap: 16px;
    position: relative;
    box-sizing: border-box;
    padding-inline: 28px;
}

.hyangmap-home-notes__viewport {
    overflow: hidden;
}

.hyangmap-home-notes__grid {
    display: flex;
    gap: var(--notes-gap);
    transform: translate3d(0, 0, 0);
    transition: transform 360ms cubic-bezier(0.22, 0.61, 0.36, 1);
    will-change: transform;
}

.hyangmap-home-note-card {
    flex: 0 0 calc((100% - 80px) / 6);
    min-width: 0;
    color: var(--home-ink);
    text-align: center;
    text-decoration: none;
}

.hyangmap-home-notes__control {
    position: absolute;
    z-index: 2;
    top: calc(var(--notes-control-center, 92px) - 23px);
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--home-line);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 8px 24px rgba(32, 37, 34, 0.12);
    color: var(--home-ink);
    font-size: 20px;
    cursor: pointer;
    transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.hyangmap-home-notes__control:hover,
.hyangmap-home-notes__control:focus-visible {
    background: var(--home-ink);
    color: #fff;
    transform: scale(1.04);
}

.hyangmap-home-notes__control--prev {
    left: 0;
}

.hyangmap-home-notes__control--next {
    right: 0;
}

.hyangmap-home-notes__control[hidden] {
    display: none;
}

.hyangmap-home-note-card__image {
    display: block;
    overflow: hidden;
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--home-paper);
}

.hyangmap-home-note-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 300ms ease;
}

.hyangmap-home-note-card:hover .hyangmap-home-note-card__image img {
    transform: scale(1.04);
}

.hyangmap-home-note-card > strong {
    display: block;
    margin-top: 15px;
    font-size: 15px;
    font-weight: 600;
}

.hyangmap-home-language {
    background: #f7f5f1;
}

.hyangmap-home-language__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.hyangmap-home-language__panel {
    padding: clamp(24px, 3vw, 38px);
    border: 1px solid var(--home-line);
    background: #fff;
}

.hyangmap-home-language__panel-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 26px;
}

.hyangmap-home-language__panel-title h3 {
    margin: 0;
    font-size: 25px;
}

.hyangmap-home-language__panel-title > a {
    color: var(--home-muted);
    font-size: 13px;
    text-underline-offset: 4px;
}

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

.hyangmap-home-language__items a {
    position: relative;
    overflow: hidden;
    display: block;
    aspect-ratio: 4 / 5;
    background: var(--home-paper);
    color: #fff;
    text-decoration: none;
}

.hyangmap-home-language__items a::after {
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(to bottom, transparent, rgba(19, 25, 21, 0.74));
    content: "";
}

.hyangmap-home-language__items img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 300ms ease;
}

.hyangmap-home-language__items a:hover img {
    transform: scale(1.035);
}

.hyangmap-home-language__items span {
    position: absolute;
    z-index: 1;
    right: 10px;
    bottom: 10px;
    left: 10px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
}

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

.hyangmap-home-product-card__image {
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background: #f4f3f1;
}

.hyangmap-home-product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 300ms ease;
}

.hyangmap-home-product-card:hover .hyangmap-home-product-card__image img {
    transform: scale(1.025);
}

.hyangmap-home-product-card__body {
    padding-top: 18px;
}

.hyangmap-home-product-card h3 {
    margin: 0;
    font-size: 18px;
    line-height: 1.4;
}

.hyangmap-home-product-card h3 a {
    color: var(--home-ink);
    text-decoration: none;
}

.hyangmap-home-product-card__price {
    margin-top: 8px;
    color: var(--home-accent);
    font-size: 14px;
    font-weight: 600;
}

.hyangmap-home-product-card__price del {
    margin-left: 5px;
    color: var(--home-muted);
    font-weight: 400;
    opacity: 0.65;
}

.hyangmap-home-editorial {
    background: var(--home-paper);
}

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

.hyangmap-home-editorial-card {
    background: #fff;
}

.hyangmap-home-editorial-card__image {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: #ebe7df;
}

.hyangmap-home-editorial-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 320ms ease;
}

.hyangmap-home-editorial-card:hover .hyangmap-home-editorial-card__image img {
    transform: scale(1.025);
}

.hyangmap-home-editorial-card__body {
    padding: 26px;
}

.hyangmap-home-editorial-card__body > span {
    color: var(--home-accent);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.hyangmap-home-editorial-card h3 {
    margin: 12px 0 0;
    font-size: 21px;
    line-height: 1.45;
}

.hyangmap-home-editorial-card h3 a {
    color: var(--home-ink);
    text-decoration: none;
}

.hyangmap-home-editorial-card p {
    margin: 14px 0 0;
    color: var(--home-muted);
    font-size: 14px;
    line-height: 1.7;
}

.hyangmap-home-editorial-card__more {
    display: inline-block;
    margin-top: 20px;
    color: var(--home-ink);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.hyangmap-home-editorial-card__more span {
    margin-left: 5px;
}

@media (min-width: 981px) {
    .hyangmap-home-hero {
        position: relative;
    }

    .hyangmap-home-hero__grid {
        align-items: center;
        align-content: center;
    }

    .hyangmap-home-hero__visual {
        position: relative;
        inset: auto;
        width: calc(100% + max(24px, (100vw - 1180px) / 2));
        height: auto;
        align-self: center;
        transform: none;
    }

    .hyangmap-home-hero__note-image {
        width: 100%;
        height: auto;
        max-width: none;
        aspect-ratio: 16 / 10;
        object-fit: cover;
        mix-blend-mode: normal;
    }

    .hyangmap-home-hero__product {
        display: grid;
    }
}

@media (max-width: 980px) {
    .hyangmap-home-hero__grid {
        min-height: auto;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
        padding-top: 70px;
    }

    .hyangmap-home-hero__visual {
        min-height: 0;
    }

    .hyangmap-home-paths__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 42px;
    }

    .hyangmap-home-map__grid {
        grid-template-columns: minmax(280px, 0.8fr) 1.2fr;
        gap: 40px;
    }

    .hyangmap-home-notes__carousel {
        --notes-visible: 3;
    }

    .hyangmap-home-note-card {
        flex-basis: calc((100% - 32px) / 3);
    }

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

    .hyangmap-home-products__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 36px 18px;
    }
}

@media (max-width: 689px) {
    .hyangmap-home__container {
        width: min(100% - 30px, 1180px);
    }

    .hyangmap-home-hero__grid {
        grid-template-columns: 1fr;
        padding-top: 58px;
        padding-bottom: 15px;
    }

    .hyangmap-home-hero h1 {
        font-size: clamp(39px, 12vw, 54px);
    }

    .hyangmap-home-hero__lead {
        font-size: 16px;
    }

    .hyangmap-home-hero__visual {
        min-height: 0;
    }

    .hyangmap-home-hero__product {
        width: max-content;
        max-width: 100%;
    }

    .hyangmap-home-section {
        padding: 76px 0;
    }

    .hyangmap-home-paths__grid {
        grid-template-columns: 1fr 1fr;
        gap: 28px 12px;
    }

    .hyangmap-home-path-card__body {
        padding-top: 14px;
    }

    .hyangmap-home-path-card__body strong {
        font-size: 18px;
    }

    .hyangmap-home-path-card__body > span {
        font-size: 13px;
    }

    .hyangmap-home-map__grid,
    .hyangmap-home-language__grid,
    .hyangmap-home-editorial__grid {
        grid-template-columns: 1fr;
    }

    .hyangmap-home-map__grid {
        gap: 40px;
    }

    .hyangmap-home-map__content h2 br {
        display: none;
    }

    .hyangmap-home-map__links a {
        grid-template-columns: 72px 1fr auto;
        gap: 12px;
    }

    .hyangmap-home-section__topline {
        display: block;
    }

    .hyangmap-home-section__topline > .hyangmap-home__text-link {
        display: inline-block;
        margin-top: 22px;
    }

    .hyangmap-home-notes__carousel {
        --notes-gap: 10px;
        padding-inline: 22px;
    }

    .hyangmap-home-note-card {
        flex-basis: calc((100% - 20px) / 3);
    }

    .hyangmap-home-notes__control {
        top: calc(var(--notes-control-center, 51px) - 20px);
        width: 40px;
        height: 40px;
        font-size: 18px;
    }

    .hyangmap-home-notes__control--prev {
        left: 0;
    }

    .hyangmap-home-notes__control--next {
        right: 0;
    }

    .hyangmap-home-note-card > strong {
        margin-top: 10px;
        font-size: 13px;
    }

    .hyangmap-home-language__panel {
        padding: 22px;
    }

    .hyangmap-home-language__items {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px;
    }

    .hyangmap-home-language__items span {
        right: 7px;
        bottom: 7px;
        left: 7px;
        font-size: 11px;
    }

    .hyangmap-home-products__grid {
        gap: 30px 12px;
    }

    .hyangmap-home-product-card h3 {
        font-size: 16px;
    }

    .hyangmap-home-editorial__grid {
        gap: 18px;
    }

}

/* ── 푸터 앞 Noptin 향맵 레터 ── */
.hyangmap-footer-subscribe {
    padding: 72px 0 !important;
    background: #f3eee8;
}

.hyangmap-footer-subscribe > .ct-container-full {
    padding: 0 !important;
}

.hyangmap-footer-subscribe .entry-content {
    width: 100%;
    max-width: none;
}

.hyangmap-footer-subscribe .noptin-optin-main-wrapper {
    margin: 0;
}

.hyangmap-footer-subscribe .noptin-optin-form-wrapper {
    width: min(100% - 48px, 1160px) !important;
    max-width: 1160px !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin-inline: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.hyangmap-footer-subscribe .noptin-optin-form {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.1fr);
    gap: clamp(48px, 7vw, 100px);
    align-items: start;
}

.hyangmap-footer-subscribe .noptin-form-header,
.hyangmap-footer-subscribe .noptin-form-footer,
.hyangmap-footer-subscribe .noptin-form-header-text {
    padding: 0 !important;
    margin: 0 !important;
    text-align: left !important;
}

.hyangmap-footer-subscribe .noptin-form-footer {
    padding-top: 29px !important;
}

.hyangmap-footer-subscribe .noptin-form-prefix {
    margin-bottom: 12px !important;
    color: #b86849 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em;
}

.hyangmap-footer-subscribe .noptin-form-heading {
    margin: 0 0 14px !important;
    color: #171816 !important;
    font-size: clamp(27px, 3vw, 36px) !important;
    font-weight: 750 !important;
    font-style: normal !important;
    line-height: 1.28 !important;
    letter-spacing: -0.045em;
}

.hyangmap-footer-subscribe .noptin-form-description {
    max-width: 500px;
    color: #625f5a !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
}

.hyangmap-footer-subscribe .noptin-form-fields {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: stretch;
}

.hyangmap-footer-subscribe .noptin-form-field-wrapper {
    margin: 0 !important;
}

.hyangmap-footer-subscribe .noptin-form-field__email {
    height: 50px !important;
    min-height: 50px !important;
    border-radius: 0 !important;
}

.hyangmap-footer-subscribe .noptin-form-field__email {
    width: 100%;
    padding: 0 18px !important;
    border: 1px solid #cbc2b9 !important;
    color: #171816 !important;
    background: rgba(255, 255, 255, 0.72) !important;
    box-shadow: none !important;
}

.hyangmap-footer-subscribe .noptin-form-field__email:focus {
    border-color: #b86849 !important;
    outline: 2px solid rgba(184, 104, 73, 0.16);
    outline-offset: 0;
}

.hyangmap-footer-subscribe .noptin-form-field__email::placeholder {
    color: #8c8781;
    opacity: 1;
}

.hyangmap-footer-subscribe .noptin-form-submit {
    height: 100% !important;
}

.hyangmap-footer-subscribe .noptin-form-field-submit {
    display: flex;
}

.hyangmap-footer-subscribe .noptin-form-note {
    margin-top: 8px !important;
    color: #77716a !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
    text-align: left !important;
}

.hyangmap-footer-subscribe .noptin-form-note a {
    color: #514c47;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.hyangmap-footer-subscribe .noptin-form-notice {
    margin-top: 12px;
    font-size: 13px;
}

@media (max-width: 800px) {
    .hyangmap-footer-subscribe {
        padding: 56px 0 !important;
    }

    .hyangmap-footer-subscribe .noptin-optin-form {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .hyangmap-footer-subscribe .noptin-form-footer {
        padding-top: 0 !important;
    }
}

@media (max-width: 520px) {
    .hyangmap-footer-subscribe .noptin-optin-form-wrapper {
        width: min(100% - 32px, 1160px) !important;
    }

    .hyangmap-footer-subscribe .noptin-form-fields {
        grid-template-columns: 1fr;
    }

    .hyangmap-footer-subscribe .noptin-form-submit {
        width: 100%;
    }
}

.note-story-cards {
    padding: 24px 0;
    border-top: 1px solid var(--theme-border-color);
}

.note-story-cards__heading {
    font-size: clamp(1.32rem, 1.12rem + 0.52vw, 1.68rem);
    line-height: 1.34;
    margin: 0 0 0.85em;
    letter-spacing: 0;
}

.note-story-cards__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.note-story-card {
    --has-link-decoration: none;
    --theme-text-decoration: none;
    display: flex;
    min-height: 168px;
    flex-direction: column;
    justify-content: flex-start;
    gap: 8px;
    padding: 18px;
    border: 1px solid var(--theme-border-color);
    border-radius: 8px;
    background: var(--theme-palette-color-8, #fff);
    color: inherit;
    text-decoration: none !important;
    background-image: none !important;
}

.note-story-card:hover {
    border-color: color-mix(in srgb, var(--theme-link-initial-color) 42%, var(--theme-border-color));
    color: inherit;
    text-decoration: none !important;
    background-image: none !important;
}

.note-story-card__eyebrow {
    color: var(--theme-link-initial-color);
    font-size: 0.78rem;
    font-weight: 700;
}

.note-story-card__title {
    display: block;
    font-size: 1.02rem;
    line-height: 1.42;
}

.note-story-card__description {
    color: var(--theme-text-color);
    font-size: 0.92rem;
    line-height: 1.62;
    opacity: 0.78;
}

.story-detail {
    --story-section-indent: 28px;
    --story-body-indent: 46px;
    padding: 40px 0 64px;
}

.story-article {
    max-width: 980px;
    margin: 0 auto;
}

.story-header {
    margin: 0 0 32px;
}

.story-kicker {
    margin: 0 0 8px;
    color: var(--theme-link-initial-color);
    font-size: 0.86rem;
    font-weight: 700;
}

.story-title {
    max-width: none;
    margin: 0;
    font-size: clamp(2rem, 1.52rem + 1.6vw, 3rem);
    line-height: 1.16;
    letter-spacing: 0;
}

.story-excerpt {
    max-width: none;
    margin: 16px 0 0;
    font-size: 1.06rem;
    line-height: 1.72;
}

.story-links {
    margin-top: 18px;
}

.story-note-link {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid var(--theme-border-color);
    border-radius: 8px;
    color: inherit;
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;
}

.story-note-link:hover {
    border-color: var(--theme-link-initial-color);
    color: var(--theme-link-hover-color);
}

.story-featured-image {
    margin: 0 0 32px;
}

.story-featured-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.story-content {
    line-height: 1.75;
    text-align: justify;
    text-justify: inter-character;
    word-break: keep-all;
    overflow-wrap: break-word;
}

.story-content h2 {
    font-size: clamp(1.34rem, 1.12rem + 0.56vw, 1.72rem);
    line-height: 1.34;
    margin: 2.1em 0 0.75em;
    padding-bottom: 0.42em;
    border-bottom: 1px solid var(--theme-border-color);
    letter-spacing: 0;
    text-align: left;
}

.story-content h3 {
    width: calc(100% - (var(--story-section-indent) * 2));
    margin: 1.65em var(--story-section-indent) 0.7em;
    font-size: clamp(1.06rem, 0.98rem + 0.25vw, 1.22rem);
    line-height: 1.42;
    letter-spacing: 0;
    text-align: left;
}

.story-content h4,
.story-content h5 {
    width: calc(100% - (var(--story-body-indent) * 2));
    margin: 1.35em var(--story-body-indent) 0.55em;
    font-size: 1rem;
    line-height: 1.45;
    letter-spacing: 0;
    text-align: left;
}

.story-content p,
.story-content ul,
.story-content ol {
    width: calc(100% - (var(--story-body-indent) * 2));
    margin-left: var(--story-body-indent);
    margin-right: var(--story-body-indent);
}

.story-content li + li {
    margin-top: 0.35em;
}

.story-references {
    margin-top: 2.4em;
    padding-top: 1.2em;
    border-top: 1px solid var(--theme-border-color);
}

.story-references ol {
    padding-left: 1.35em;
}

.story-references .rag-footnote,
.note-rag-body .story-references .rag-footnote {
    margin-top: 0.22em;
    margin-bottom: 0.22em;
    font-size: 0.92em;
    line-height: 1.58;
}

.story-footnote-ref a,
.story-footnote-back,
.story-references .rag-footnote-label {
    font-weight: 400;
    text-decoration: none;
}

.story-products {
    margin-top: 42px;
}

.story-products .note-products {
    border-top: 1px solid var(--theme-border-color);
}

.story-detail > .ct-container > .story-article > .note-story-cards {
    margin-top: 34px;
}

@media (max-width: 760px) {
    .note-story-cards__grid {
        grid-template-columns: 1fr;
    }

    .story-detail {
        --story-section-indent: 14px;
        --story-body-indent: 26px;
        padding-top: 28px;
    }

    .story-content h3 {
        width: calc(100% - var(--story-section-indent));
        margin-left: var(--story-section-indent);
        margin-right: 0;
    }

    .story-content p,
    .story-content ul,
    .story-content ol,
    .story-content h4,
    .story-content h5 {
        width: calc(100% - var(--story-body-indent));
        margin-left: var(--story-body-indent);
        margin-right: 0;
    }
}

/* ── 향 느낌 아카이브: Blocksy 전역 타입/색상 상속, 구조만 지정 ── */
.scent-hub {
    word-break: keep-all;
}

.scent-hub__header,
.scent-hub__section {
    margin-bottom: var(--theme-content-spacing, 1.5em);
}

.scent-hub__intro,
.scent-hub__section-head,
.scent-hub__empty {
    max-width: var(--theme-block-max-width, 720px);
}

.scent-hub__footnote,
.fragrance-hub__footnote {
    width: 100vw;
    max-width: none;
    margin-top: calc(var(--theme-content-spacing, 1.5em) * 2);
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-top: 1em;
    padding-inline: calc((100vw - min(var(--theme-container-width-base, 90vw), var(--theme-normal-container-max-width, 1290px))) / 2);
    opacity: 0.72;
}

.scent-hub__footnote > *,
.fragrance-hub__footnote > * {
    max-width: none;
}

.scent-hub__footnote h2,
.fragrance-hub__footnote h2 {
    font-size: 1em;
}

.scent-hub__footnote p,
.fragrance-hub__footnote p {
    font-size: 0.875em;
    line-height: 1.65;
}

.scent-hub__item {
    border: 0;
    border-radius: 0;
    background: var(--theme-palette-color-8, #fff);
    box-shadow: 0 12px 18px -6px rgba(34, 56, 101, 0.04);
    text-decoration: none;
}

.scent-hub__eyebrow,
.scent-hub__section-kicker,
.scent-hub__item-en,
.scent-hub__item-count,
.scent-hub__source,
.fragrance-hub__source {
    opacity: 0.68;
}

.scent-hub__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}

.scent-hub__section--primary .scent-hub__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.scent-hub__section--primary .scent-hub__item-media {
    width: 100%;
    max-width: none;
}

.scent-hub__item {
    display: flex;
    min-height: 14rem;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    padding: var(--card-inner-spacing, 30px);
    text-align: center;
}

.scent-hub__item-media {
    display: block;
    width: 100%;
    max-width: none;
    aspect-ratio: 1 / 1;
    margin: 0 0 20px;
    border-radius: 0;
    overflow: hidden;
    background: transparent;
}

.scent-hub__item-image {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 0;
    object-fit: contain;
}

.scent-hub__item-title,
.scent-hub__item-en,
.scent-hub__item-count {
    display: block;
}

.scent-hub__item-title {
    font-weight: 700;
    line-height: 1.35;
}

.scent-hub__item-en {
    margin-top: 0.2em;
}

.scent-hub__item-count {
    margin-top: auto;
    padding-top: 0.95em;
}

.scent-detail {
    line-height: 1.7;
    text-align: justify;
    text-justify: inter-character;
    word-break: keep-all;
    overflow-wrap: break-word;
}

.scent-detail p,
.scent-detail li,
.scent-detail dd {
    text-align: justify;
    text-justify: inter-character;
    word-break: keep-all;
    overflow-wrap: break-word;
}

.scent-detail a {
    color: var(--theme-link-initial-color);
    text-decoration: underline;
}

.scent-detail a:hover {
    color: var(--theme-link-hover-color);
}

.scent-hero-image {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0 0 1.2em;
    text-align: center;
}

.scent-hero-image img {
    width: 300px;
    height: 300px;
    border-radius: 22%;
    object-fit: cover;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.scent-hero-caption {
    margin-top: 0.65em;
    color: var(--theme-text-color);
}

@media (max-width: 999px) {
    .scent-hub__grid,
    .scent-hub__section--primary .scent-hub__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 689px) {
    .scent-hub__grid,
    .scent-hub__section--primary .scent-hub__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .scent-hero-image img {
        width: 200px;
        height: 200px;
    }
}

/* ── 향조 아카이브: 현재 제품에 쓰이는 향조를 계열별로 표시 ── */
.fragrance-hub {
    word-break: keep-all;
}

.fragrance-hub__header,
.fragrance-hub__section {
    margin-bottom: calc(var(--theme-content-spacing, 1.5em) * 1.35);
}

.fragrance-hub__intro,
.fragrance-hub__empty {
    max-width: var(--theme-block-max-width, 720px);
}

.fragrance-hub__section {
    padding-top: calc(var(--theme-content-spacing, 1.5em) * 0.85);
    border-top: 1px solid var(--theme-border-color, currentColor);
}

.fragrance-hub > .ct-container > .fragrance-hub__section:first-of-type {
    padding-top: 0;
    border-top: 0;
}

.fragrance-hub__family {
    margin-bottom: var(--theme-content-spacing, 1.5em);
}

.fragrance-hub__family-link,
.fragrance-hub__child {
    text-decoration: none;
}

.fragrance-hub__family-link {
    display: inline-flex;
    align-items: baseline;
    gap: 0.55em;
    margin-bottom: 0.65em;
}

.fragrance-hub__family-title {
    font-size: 1.45em;
    font-weight: 700;
    line-height: 1.3;
}

.fragrance-hub__code,
.fragrance-hub__child-code,
.fragrance-hub__child-count {
    opacity: 0.68;
}

.fragrance-hub__code,
.fragrance-hub__child-code {
    font-weight: 700;
}

.fragrance-hub__family-description {
    width: 100%;
    margin-bottom: 10px;
    border: 0;
    border-radius: 0;
    color: var(--theme-text-color);
    overflow: visible;
}

.fragrance-hub__family-description-body {
    padding: 0;
    color: var(--theme-text-color);
    font-size: 1em;
    line-height: var(--theme-line-height, 1.65);
}

.fragrance-hub__family-description-body p {
    margin-bottom: 0.8em;
}

.fragrance-hub__children {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
}

.fragrance-hub__child {
    display: flex;
    flex: 0 1 calc((100% - 60px) / 3);
    box-sizing: border-box;
    min-height: 12rem;
    flex-direction: column;
    gap: 0;
    padding: var(--card-inner-spacing, 30px);
    border: 0;
    border-radius: 0;
    background: var(--theme-palette-color-8, #fff);
    box-shadow: 0 12px 18px -6px rgba(34, 56, 101, 0.04);
    color: var(--theme-text-color);
}

.fragrance-hub__child:hover {
    color: var(--theme-text-color);
}

.fragrance-hub__child-head {
    display: flex;
    align-items: baseline;
    gap: 0.45em;
    margin-bottom: 0.45em;
}

.fragrance-hub__child-title {
    font-weight: 700;
    line-height: 1.35;
}

.fragrance-hub__child-title:hover {
    color: var(--theme-link-hover-color);
}

.fragrance-hub__child-media {
    display: flex;
    order: -1;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: none;
    margin: 0 0 20px;
    text-align: center;
}

.fragrance-hub__child-image-frame {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 0;
    overflow: hidden;
    background: transparent;
}

.fragrance-hub__child-image {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 0;
    object-fit: contain;
}

.fragrance-hub__child-caption {
    margin-top: 0.65em;
    font-size: 0.82em;
    line-height: 1.45;
    color: var(--theme-text-color);
    opacity: 0.76;
}

.fragrance-hub__child-summary {
    margin-top: 0.35em;
    font-size: 0.92em;
    line-height: 1.7;
}

.fragrance-hub__child-summary p {
    margin-bottom: 0.75em;
}

.fragrance-hub__child-summary p:last-child {
    margin-bottom: 0;
}

.fragrance-hub__child-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75em;
    margin-top: auto;
    padding-top: 0.95em;
}

.fragrance-hub__child-count,
.fragrance-hub__child-more {
    font-size: 0.86em;
}

.fragrance-hub__child-more {
    color: var(--theme-link-initial-color, currentColor);
    font-weight: 700;
}

@media (max-width: 999px) {
    .fragrance-hub__child {
        flex-basis: calc((100% - 30px) / 2);
    }
}

@media (max-width: 689px) {
    .fragrance-hub__child {
        flex-basis: 100%;
        min-height: auto;
    }
}

/* ── 향조/향 느낌: 노트 상세처럼 제목 위계에 따른 좌우 들여쓰기 ── */
.post-type-archive-scent .scent-hub,
.post-type-archive-fragrance .fragrance-hub,
.single-fragrance .fragrance-detail,
.single-scent .scent-detail {
    --perfume-section-indent: 24px;
    --perfume-body-indent: 42px;
    --perfume-inner-indent: 18px;
}

.post-type-archive-fragrance .fragrance-hub {
    --perfume-body-indent: 30px;
}

.post-type-archive-scent .scent-hub__section-head > p,
.post-type-archive-scent .scent-hub__footnote > :not(h1):not(h2):not(h3):not(h4),
.post-type-archive-fragrance .fragrance-hub__intro,
.post-type-archive-fragrance .fragrance-hub__family-description,
.post-type-archive-fragrance .fragrance-hub__footnote > :not(h1):not(h2):not(h3):not(h4),
.single-fragrance .fragrance-detail > p,
.single-fragrance .fragrance-detail > ul,
.single-fragrance .fragrance-detail > .note-grid,
.single-fragrance .fragrance-detail > .similar-card,
.single-fragrance .fragrance-products > .products,
.single-fragrance .fragrance-products > .perfume-related-products-empty,
.single-scent .scent-detail > p {
    width: calc(100% - (var(--perfume-body-indent) * 2));
    margin-left: var(--perfume-body-indent) !important;
    margin-right: var(--perfume-body-indent) !important;
}

.single-scent .scent-products-group {
    margin-left: var(--perfume-section-indent);
    margin-right: var(--perfume-section-indent);
}

.single-scent .scent-products-group > .products {
    width: calc(100% - (var(--perfume-inner-indent) * 2));
    margin-left: var(--perfume-inner-indent) !important;
    margin-right: var(--perfume-inner-indent) !important;
    align-items: stretch;
}

.single-scent .scent-products-group > .products > li.product {
    display: flex !important;
    flex-direction: column;
    height: 100%;
}

.single-scent .scent-products-group > .products > li.product .entry-excerpt {
    flex: 1 1 auto;
}

.single-scent .scent-products-group > .products > li.product .scent-product-usage {
    width: 100%;
    margin-top: auto;
}

body.single-scent .hero-section .entry-header .page-title {
    font-size: clamp(2rem, 1.55rem + 1.6vw, 3rem);
    line-height: 1.16;
}

body.single-scent .entry-content .scent-detail > h2,
body.single-scent .entry-content .scent-products > .perfume-related-products-heading {
    font-size: clamp(1.35rem, 1.15rem + 0.55vw, 1.72rem);
    line-height: 1.34;
    margin-top: 2.1em;
    margin-bottom: 0.75em;
    letter-spacing: 0;
}

body.single-scent .entry-content .scent-detail > h2:first-of-type {
    margin-top: 1.2em;
}

body.single-scent .entry-content .scent-detail > h3 {
    width: calc(100% - (var(--perfume-section-indent) * 2));
    margin: 1.65em var(--perfume-section-indent) 0.7em !important;
    font-size: clamp(1.05rem, 0.98rem + 0.25vw, 1.22rem);
    line-height: 1.42;
    letter-spacing: 0;
}

.single-scent .scent-detail > ul,
.single-scent .scent-detail > ol,
.single-scent .scent-detail > .wp-block-table {
    width: calc(100% - (var(--perfume-body-indent) * 2));
    margin-left: var(--perfume-body-indent) !important;
    margin-right: var(--perfume-body-indent) !important;
}

@media (max-width: 760px) {
    .post-type-archive-scent .scent-hub,
    .post-type-archive-fragrance .fragrance-hub,
    .single-fragrance .fragrance-detail,
    .single-scent .scent-detail {
        --perfume-section-indent: 14px;
        --perfume-body-indent: 26px;
        --perfume-inner-indent: 12px;
    }

    body.single-scent .entry-content .scent-detail > h3 {
        width: calc(100% - var(--perfume-section-indent));
        margin-left: var(--perfume-section-indent) !important;
        margin-right: 0 !important;
    }

    .single-scent .scent-detail > ul,
    .single-scent .scent-detail > ol,
    .single-scent .scent-detail > .wp-block-table {
        width: calc(100% - var(--perfume-body-indent));
        margin-left: var(--perfume-body-indent) !important;
        margin-right: 0 !important;
    }
}
