/**
 * LinKnote Store Tools
 * Migrated from WordPress「追加CSS」on 2026-08-27.
 */

/* 国を非表示 */
.wcv-address-country {
    display: none !important;
}

/* 受付停止・再開ボタンの見た目を差別化 */
.linknote-service-status-table .ln-stop-button {
    background: #fff !important;
    border: 1px solid #d63638 !important;
    color: #d63638 !important;
    font-weight: 600 !important;
}

.linknote-service-status-table .ln-stop-button:hover {
    background: #d63638 !important;
    color: #fff !important;
}

.linknote-service-status-table .ln-resume-button {
    background: #16803c !important;
    border: 1px solid #16803c !important;
    color: #fff !important;
    font-weight: 600 !important;
}

.linknote-service-status-table .ln-resume-button:hover {
    background: #0f6b30 !important;
    border-color: #0f6b30 !important;
    color: #fff !important;
}

/* 状態ラベルも少し分かりやすく */
.ln-accepting-on {
    background: #e7f7ec !important;
    color: #16803c !important;
    border: 1px solid #bfe8cc;
}

.ln-accepting-off {
    background: #fff4f4 !important;
    color: #d63638 !important;
    border: 1px solid #f2b8b8;
}

/* v1.1.0: Store creator name is supplied by the LinKnote account. */
.ln-store-name-internal-group,
.ln-store-name-internal-field {
    display: none !important;
}

/* =========================================================
   v1.2.0: Digital checkout / transaction UX
========================================================= */

/* Storeはデジタル制作依頼専用。サーバー側でもneeds_shipping=falseにするが、
   テーマ/Block差のフォールバックとして配送UIを隠す。 */
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout tr.woocommerce-shipping-totals,
.woocommerce-checkout .shipping_address,
.wc-block-checkout .wc-block-components-shipping-rates-control,
.wc-block-checkout .wc-block-components-shipping-address,
.wc-block-checkout .wc-block-components-totals-shipping,
.wc-block-checkout .wc-block-components-shipping-methods,
.wc-block-checkout .wc-block-checkout__shipping-option {
    display: none !important;
}

/* 人物リンク */
.ln-store-user-link {
    font-weight: 600;
    text-decoration: none;
}
.ln-store-user-link:hover {
    text-decoration: underline;
}

/* 納品管理 */
.linknote-delivery-table .ln-delivery-label,
.linknote-delivery-table th,
.linknote-delivery-table .ln-delivery-button,
.linknote-delivery-table .ln-delivery-reminder-button {
    white-space: nowrap;
    word-break: keep-all;
}
.ln-delivery-reminder-form {
    margin: 10px 0 0;
}
.ln-delivery-reminder-note {
    display: block;
    margin-top: 7px;
    color: #68777d;
    line-height: 1.5;
}
.ln-delivery-reminder-button {
    background: #fff !important;
    border: 1px solid #31c7ad !important;
    color: #168f7d !important;
}
.ln-delivery-reminder-button:hover {
    background: #eefbf8 !important;
}

/* クライアント：取引ステップ */
.ln-store-order-progress {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 24px;
}
.ln-store-progress-step {
    position: relative;
    padding: 14px 14px 13px 46px;
    border: 1px solid #e0e8ea;
    border-radius: 12px;
    background: #fff;
    min-height: 58px;
    box-sizing: border-box;
}
.ln-store-progress-step > span {
    position: absolute;
    left: 13px;
    top: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #edf1f2;
    color: #68777d;
    font-size: 12px;
    font-weight: 700;
}
.ln-store-progress-step strong,
.ln-store-progress-step small {
    display: block;
}
.ln-store-progress-step small {
    margin-top: 3px;
    color: #7a888d;
}
.ln-store-progress-step.is-done {
    background: #f4fbf9;
    border-color: #c8eee7;
}
.ln-store-progress-step.is-done > span,
.ln-store-progress-step.is-current > span {
    background: #31c7ad;
    color: #fff;
}
.ln-store-progress-step.is-current {
    border-color: #31c7ad;
    box-shadow: 0 0 0 1px #31c7ad inset;
}
.ln-store-pending-review-notice .button {
    margin-left: 8px;
}

/* 売上レポートに追加する取引別明細 */
.ln-store-report-clients {
    margin-top: 32px;
    padding-top: 26px;
    border-top: 1px solid #e0e8ea;
}
.ln-store-report-client-table td,
.ln-store-report-client-table th {
    vertical-align: middle;
}

/* Stripe受取案内 */
.ln-store-payment-guide {
    margin: 28px 0 0;
    padding: 20px;
    border: 1px solid #dce9e7;
    border-radius: 12px;
    background: #f5fbfa;
}
.ln-store-payment-guide h3 {
    margin: 0 0 8px;
}
.ln-store-payment-guide p {
    margin: 0 0 14px;
}
.ln-store-payment-guide .button {
    background: #31c7ad !important;
    border-color: #31c7ad !important;
    color: #fff !important;
}
.ln-store-payment-guide-note {
    margin-top: 12px !important;
    color: #68777d;
    font-size: 13px;
}

@media (max-width: 700px) {
    .ln-store-order-progress {
        grid-template-columns: 1fr;
    }
    .ln-store-pending-review-notice .button {
        display: block;
        width: fit-content;
        margin: 10px 0 0;
    }
}

/* =========================================================
   v1.2.1: Creator dashboard official LinKnote reviews card
========================================================= */
.ln-store-dashboard-review-card {
    width: 100%;
    box-sizing: border-box;
}
#ln-store-dashboard-review-source.ln-store-dashboard-review-card {
    margin: 24px 0;
    padding: 18px 20px;
    background: #fff;
    border: 1px solid #edf1f2;
    border-radius: 14px;
    box-shadow: 0 4px 18px rgba(35, 55, 62, 0.045);
}
.ln-dashboard-review-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}
.ln-dashboard-review-head h3 {
    margin: 0;
    font-size: 18px;
    line-height: 1.4;
}
.ln-dashboard-review-all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 11px;
    border: 1px solid #9ebed0;
    border-radius: 7px;
    color: #315c72;
    background: #fff;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none !important;
    white-space: nowrap;
}
.ln-dashboard-review-all:hover {
    background: #f5fafc;
    color: #244b60;
}
.ln-dashboard-review-table-wrap {
    overflow-x: auto;
}
.ln-dashboard-review-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    margin: 0;
}
.ln-dashboard-review-table th,
.ln-dashboard-review-table td {
    padding: 12px 8px;
    border-bottom: 1px solid #edf1f2;
    vertical-align: middle;
    text-align: left;
    font-size: 13px;
    line-height: 1.55;
}
.ln-dashboard-review-table th {
    color: #64747b;
    font-size: 12px;
    font-weight: 600;
}
.ln-dashboard-review-table th:nth-child(1),
.ln-dashboard-review-table td:nth-child(1) { width: 14%; }
.ln-dashboard-review-table th:nth-child(2),
.ln-dashboard-review-table td:nth-child(2) { width: 23%; }
.ln-dashboard-review-table th:nth-child(3),
.ln-dashboard-review-table td:nth-child(3) { width: 37%; }
.ln-dashboard-review-table th:nth-child(4),
.ln-dashboard-review-table td:nth-child(4) { width: 26%; }
.ln-dashboard-review-table tbody tr:last-child td {
    border-bottom: 0;
}
.ln-dashboard-review-stars {
    color: #08739b;
    font-size: 17px;
    letter-spacing: 1px;
    white-space: nowrap;
}
.ln-dashboard-review-empty td {
    color: #7a888d;
    text-align: center;
    padding: 20px 8px;
}
@media (max-width: 700px) {
    .ln-dashboard-review-head {
        align-items: flex-start;
    }
    .ln-dashboard-review-table {
        min-width: 580px;
    }
}

/* =========================================================
   v1.2.2: Client dashboard / My Account
========================================================= */
.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-account .woocommerce > .woocommerce-message,
.woocommerce-account .woocommerce > .woocommerce-error,
.woocommerce-account .woocommerce > .woocommerce-info {
    grid-column: 1 / -1;
}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
    min-width: 0;
}
.ln-client-menu {
    width: 100%;
}
.ln-client-menu-title {
    padding: 14px 16px;
    border: 1px solid #e5e5e5;
    border-bottom: 0;
    border-radius: 10px 10px 0 0;
    background: #f8f8f8;
    color: #333;
    font-size: 14px;
    font-weight: 700;
}
.ln-client-menu ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border: 1px solid #e5e5e5;
    border-radius: 0 0 10px 10px;
    background: #fff;
    overflow: hidden;
}
.ln-client-menu li {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #eee;
    list-style: none !important;
}
.ln-client-menu li:last-child {
    border-bottom: 0;
}
.ln-client-menu li.ln-client-menu-creator {
    margin-top: 8px !important;
    border-top: 1px solid #e5e5e5;
}
.ln-client-menu a {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    position: relative;
    padding: 13px 16px !important;
    color: #333 !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none !important;
    background: #fff !important;
}
.ln-client-menu a:hover {
    color: #16803c !important;
    background: #f6fbf8 !important;
}
.ln-client-menu li.is-active a {
    color: #16803c !important;
    background: #f1faf4 !important;
    font-weight: 700;
}
.ln-client-menu li.is-active a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: #16803c;
}
.ln-client-menu-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    background: #31c7ad;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    box-sizing: border-box;
}
.ln-client-dashboard-head,
.ln-client-endpoint-head {
    margin: 0 0 22px;
}
.ln-client-dashboard-head h2,
.ln-client-endpoint-head h2 {
    margin: 0 0 7px;
    font-size: 25px;
    line-height: 1.4;
}
.ln-client-dashboard-head p,
.ln-client-endpoint-head p {
    margin: 0;
    color: #68777d;
    line-height: 1.7;
}
.ln-client-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 26px;
}
.ln-client-summary-card {
    display: block;
    min-height: 142px;
    padding: 18px;
    border: 1px solid #e2e9eb;
    border-radius: 14px;
    background: #fff;
    color: #30383c !important;
    text-decoration: none !important;
    box-shadow: 0 4px 18px rgba(35,55,62,.04);
    box-sizing: border-box;
}
.ln-client-summary-card:hover {
    border-color: #bcded8;
    transform: translateY(-1px);
}
.ln-client-summary-card--progress { background: #f2f9ff; }
.ln-client-summary-card--delivery { background: #f6efff; }
.ln-client-summary-card--payment { background: #effbf5; }
.ln-client-summary-label,
.ln-client-summary-link {
    display: block;
}
.ln-client-summary-label {
    font-size: 13px;
    font-weight: 700;
}
.ln-client-summary-card strong {
    display: block;
    margin: 13px 0 12px;
    font-size: 30px;
    line-height: 1;
}
.ln-client-summary-link {
    color: #5f7077;
    font-size: 12px;
    font-weight: 600;
}
.ln-client-dashboard-section {
    margin: 0 0 24px;
    padding: 20px;
    border: 1px solid #edf1f2;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 18px rgba(35,55,62,.035);
}
.ln-client-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 16px;
}
.ln-client-section-head h3,
.ln-client-subheading {
    margin: 0;
    font-size: 18px;
    line-height: 1.5;
}
.ln-client-section-head a {
    font-size: 13px;
    font-weight: 600;
}
.ln-client-table-wrap {
    overflow-x: auto;
}
.ln-client-table {
    width: 100%;
    margin: 0 !important;
    border-collapse: collapse;
}
.ln-client-table th,
.ln-client-table td {
    padding: 13px 10px;
    border-bottom: 1px solid #edf1f2;
    text-align: left;
    vertical-align: middle;
    font-size: 13px;
    line-height: 1.55;
}
.ln-client-table th {
    color: #64747b;
    font-size: 12px;
    font-weight: 600;
}
.ln-client-table tr:last-child td {
    border-bottom: 0;
}
.ln-client-action {
    text-align: right !important;
    white-space: nowrap;
}
.ln-client-action .button,
.ln-client-card-action .button {
    border-radius: 7px !important;
    white-space: nowrap;
}
.ln-client-status {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #f1f5f6;
    color: #52646b;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}
.ln-client-empty {
    padding: 26px;
    border: 1px dashed #dbe4e6;
    border-radius: 12px;
    background: #fafcfc;
    text-align: center;
}
.ln-client-empty p {
    margin: 0 0 12px;
    color: #68777d;
}
.ln-client-delivery-list,
.ln-client-quote-list {
    display: grid;
    gap: 14px;
}
.ln-client-delivery-card,
.ln-client-quote-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 18px 20px;
    border: 1px solid #e4ebed;
    border-radius: 13px;
    background: #fff;
}
.ln-client-delivery-card h3,
.ln-client-quote-card h4 {
    margin: 5px 0 7px;
    font-size: 17px;
    line-height: 1.45;
}
.ln-client-delivery-card p,
.ln-client-quote-card p {
    margin: 4px 0;
}
.ln-client-card-kicker {
    display: block;
    color: #77868b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .02em;
}
.ln-client-card-action {
    flex: 0 0 auto;
}
.ln-client-muted {
    color: #78888d;
    font-size: 12px;
}
.ln-client-quote-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 9px 0 5px;
}
.ln-client-quote-meta strong {
    font-size: 19px;
}
.ln-client-subheading {
    margin: 24px 0 12px;
}
.ln-client-endpoint > .ln-client-subheading:first-of-type {
    margin-top: 0;
}
.ln-client-quote-list--past .ln-client-quote-card {
    background: #fafcfc;
}
.ln-client-quote-pay-form {
    margin: 0;
}

/* 請求先情報は1カラム。配送先カードはサーバー側フィルターでも除外する。 */
.woocommerce-Addresses .woocommerce-Address {
    float: none !important;
    width: 100% !important;
}

@media (max-width: 800px) {
    .woocommerce-account .woocommerce {
        display: block;
    }
    .ln-client-menu {
        margin-bottom: 20px;
    }
    .ln-client-menu ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .ln-client-menu li:nth-child(odd) {
        border-right: 1px solid #eee;
    }
    .ln-client-menu li.ln-client-menu-creator {
        grid-column: 1 / -1;
        border-right: 0;
    }
    .ln-client-menu a {
        padding: 12px !important;
        text-align: center;
        justify-content: center;
    }
    .ln-client-menu li.is-active a::before {
        width: 100%;
        height: 3px;
        top: auto;
        bottom: 0;
    }
    .ln-client-summary-grid {
        grid-template-columns: 1fr;
    }
    .ln-client-summary-card {
        min-height: 118px;
    }
    .ln-client-delivery-card,
    .ln-client-quote-card {
        display: block;
    }
    .ln-client-card-action {
        margin-top: 14px;
    }
}

@media (max-width: 560px) {
    .ln-client-menu ul {
        grid-template-columns: 1fr;
    }
    .ln-client-menu li:nth-child(odd) {
        border-right: 0;
    }
    .ln-client-menu li.ln-client-menu-creator {
        grid-column: auto;
    }
    .ln-client-table thead {
        display: none;
    }
    .ln-client-table,
    .ln-client-table tbody,
    .ln-client-table tr,
    .ln-client-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
    .ln-client-table tr {
        padding: 12px 0;
        border-bottom: 1px solid #edf1f2;
    }
    .ln-client-table td {
        padding: 5px 0;
        border: 0;
    }
    .ln-client-table td::before {
        content: attr(data-title);
        display: inline-block;
        min-width: 92px;
        margin-right: 8px;
        color: #75858a;
        font-size: 11px;
        font-weight: 700;
    }
    .ln-client-action {
        text-align: left !important;
    }
    .ln-client-action::before {
        display: none !important;
    }
}


/* =========================================================
   v1.2.3: Client dashboard visual consistency
   - stable active menu state
   - LinKnote cards for My Account endpoints
========================================================= */

.woocommerce-account {
    --ln-client-mint: #31c7ad;
    --ln-client-mint-dark: #168f7d;
    --ln-client-mint-pale: #eefbf8;
    --ln-client-ink: #27343a;
    --ln-client-muted: #718187;
    --ln-client-border: #e4ebed;
    --ln-client-soft: #f8fbfb;
}

/* Storefront/WooCommerceのendpointアイコン用pseudo-elementを無効化。
   activeラインはli側に持たせ、ページごとの崩れを防ぐ。 */
.woocommerce-account .ln-client-menu li {
    position: relative;
}
.woocommerce-account .ln-client-menu li > a::before,
.woocommerce-account .ln-client-menu li > a::after {
    content: none !important;
    display: none !important;
}
.woocommerce-account .ln-client-menu li.is-active::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 0;
    width: 4px;
    background: var(--ln-client-mint);
}
.woocommerce-account .ln-client-menu li.is-active > a {
    color: var(--ln-client-mint-dark) !important;
    background: var(--ln-client-mint-pale) !important;
}
.woocommerce-account .ln-client-menu li.is-active > a span:first-child {
    color: inherit !important;
}
.woocommerce-account .ln-client-menu li:not(.is-active) > a {
    background: #fff !important;
}
.woocommerce-account .ln-client-menu-badge {
    flex: 0 0 auto;
}

/* My Account本文の共通レイアウト */
.woocommerce-account .woocommerce-MyAccount-content {
    color: var(--ln-client-ink);
}
.woocommerce-account .ln-client-endpoint,
.woocommerce-account .ln-client-dashboard {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.woocommerce-account .ln-client-endpoint-head,
.woocommerce-account .ln-client-dashboard-head {
    margin-bottom: 20px;
}
.woocommerce-account .ln-client-endpoint-head h2,
.woocommerce-account .ln-client-dashboard-head h2 {
    color: var(--ln-client-ink);
    font-size: 24px;
    font-weight: 700;
    letter-spacing: .01em;
}
.woocommerce-account .ln-client-endpoint-head p,
.woocommerce-account .ln-client-dashboard-head p {
    max-width: 760px;
    color: var(--ln-client-muted);
    font-size: 14px;
}

/* 通知をLinKnoteの柔らかいカードに統一 */
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error {
    padding: 15px 18px 15px 20px !important;
    border: 1px solid #d6ebe6 !important;
    border-left: 4px solid var(--ln-client-mint) !important;
    border-radius: 10px !important;
    background: #f4fbf9 !important;
    color: #405158 !important;
    box-shadow: none !important;
}
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-error::before {
    color: var(--ln-client-mint-dark) !important;
}
.woocommerce-account .woocommerce-error {
    border-color: #f0d3d3 !important;
    border-left-color: #d96161 !important;
    background: #fff7f7 !important;
}

/* 共通ボタン */
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .ln-client-endpoint .button,
.woocommerce-account .ln-client-dashboard .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 14px !important;
    border: 1px solid #d5e1e3 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #34474f !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .ln-client-endpoint .button:hover,
.woocommerce-account .ln-client-dashboard .button:hover {
    border-color: #b9d8d2 !important;
    background: #f7fcfb !important;
    color: var(--ln-client-mint-dark) !important;
}
.woocommerce-account .woocommerce-MyAccount-content .button.alt,
.woocommerce-account .ln-client-endpoint .button.alt,
.woocommerce-account .ln-client-dashboard .button.alt {
    border-color: var(--ln-client-mint) !important;
    background: var(--ln-client-mint) !important;
    color: #fff !important;
}
.woocommerce-account .woocommerce-MyAccount-content .button.alt:hover,
.woocommerce-account .ln-client-endpoint .button.alt:hover,
.woocommerce-account .ln-client-dashboard .button.alt:hover {
    border-color: var(--ln-client-mint-dark) !important;
    background: var(--ln-client-mint-dark) !important;
    color: #fff !important;
}

/* 呼びかけカード */
.ln-client-callout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 18px;
    padding: 16px 18px;
    border: 1px solid #cfe9e3;
    border-radius: 12px;
    background: #f1fbf8;
}
.ln-client-callout strong,
.ln-client-callout span {
    display: block;
}
.ln-client-callout strong {
    margin-bottom: 3px;
    color: #245a50;
    font-size: 14px;
}
.ln-client-callout span {
    color: #647a77;
    font-size: 12px;
    line-height: 1.6;
}

/* ---------------------------------------------------------
   依頼・注文
--------------------------------------------------------- */
.ln-client-order-list {
    display: grid;
    gap: 14px;
}
.ln-client-order-card {
    overflow: hidden;
    border: 1px solid var(--ln-client-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(35,55,62,.035);
}
.ln-client-order-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 18px;
    border-bottom: 1px solid #edf2f3;
    background: #fbfcfc;
}
.ln-client-order-id {
    display: flex;
    align-items: center;
    gap: 10px;
}
.ln-client-order-id time {
    color: #839196;
    font-size: 11px;
}
.ln-client-order-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 18px;
}
.ln-client-order-main {
    min-width: 0;
}
.ln-client-order-main h3 {
    margin: 0 0 7px;
    color: var(--ln-client-ink);
    font-size: 17px;
    line-height: 1.45;
}
.ln-client-order-main h3 a {
    color: inherit;
    text-decoration: none;
}
.ln-client-order-main h3 a:hover {
    color: var(--ln-client-mint-dark);
}
.ln-client-order-creator {
    margin: 0 0 9px !important;
    color: #52656c;
    font-size: 13px;
}
.ln-client-order-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    color: #7a898e;
    font-size: 12px;
}
.ln-client-order-meta strong {
    color: #33474f;
    font-size: 13px;
}
.ln-client-status--progress {
    background: #edf7ff;
    color: #32719a;
}
.ln-client-status--delivery {
    background: #f4efff;
    color: #7652a5;
}
.ln-client-status--payment {
    background: #fff6df;
    color: #906b16;
}
.ln-client-status--hold {
    background: #f4f2e9;
    color: #756c4c;
}
.ln-client-status--completed {
    background: #eaf8ef;
    color: #2c7b49;
}
.ln-client-status--closed {
    background: #f6f1f1;
    color: #7a5c5c;
}
.ln-client-pagination {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin: 22px 0 0 !important;
}
.ln-client-pagination > span {
    color: #7b8a8f;
    font-size: 12px;
}

/* ---------------------------------------------------------
   納品確認 / 見積もり
--------------------------------------------------------- */
.ln-client-delivery-card,
.ln-client-quote-card {
    border-color: var(--ln-client-border);
    box-shadow: 0 5px 18px rgba(35,55,62,.03);
}
.ln-client-delivery-card {
    position: relative;
    padding-left: 24px;
}
.ln-client-delivery-card::before {
    content: "";
    position: absolute;
    top: 18px;
    bottom: 18px;
    left: 0;
    width: 4px;
    border-radius: 0 4px 4px 0;
    background: var(--ln-client-mint);
}
.ln-client-delivery-card h3 a,
.ln-client-quote-card h4 a {
    color: var(--ln-client-ink);
    text-decoration: none;
}
.ln-client-quote-card .ln-client-quote-meta strong {
    color: #24464d;
}

/* ---------------------------------------------------------
   お支払い方法 / 請求先
--------------------------------------------------------- */
.ln-client-settings-card {
    padding: 20px;
    border: 1px solid var(--ln-client-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(35,55,62,.035);
}
.ln-client-payment-list {
    display: grid;
    gap: 12px;
}
.ln-client-payment-method {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 17px 18px;
    border: 1px solid #e7edef;
    border-radius: 12px;
    background: #fbfcfc;
}
.ln-client-payment-method.is-default {
    border-color: #c9e9e2;
    background: #f4fbf9;
}
.ln-client-payment-main h3 {
    margin: 4px 0 3px;
    font-size: 16px;
}
.ln-client-payment-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}
.ln-client-payment-actions .button {
    margin: 0 !important;
}
.ln-client-settings-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #edf1f2;
}
.ln-client-empty--inside {
    border: 0;
    background: #fafcfc;
}
.ln-client-billing-card {
    padding: 2px;
}
.ln-client-billing-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid #edf1f2;
}
.ln-client-billing-head h3 {
    margin: 4px 0 0;
    font-size: 17px;
}
.ln-client-billing-address {
    display: block;
    margin: 18px 0 0;
    color: #455a62;
    font-style: normal;
    line-height: 1.9;
}

/* 請求先編集フォーム */
.ln-client-address-form .form-row {
    margin-bottom: 15px !important;
}
.ln-client-address-form label {
    margin-bottom: 6px;
    color: #40535a;
    font-size: 12px;
    font-weight: 700;
}
.ln-client-address-form input.input-text,
.ln-client-address-form select,
.ln-client-address-form textarea,
.woocommerce-account .woocommerce-MyAccount-content input.input-text,
.woocommerce-account .woocommerce-MyAccount-content select,
.woocommerce-account .woocommerce-MyAccount-content textarea {
    min-height: 42px;
    padding: 9px 11px !important;
    border: 1px solid #dce5e7 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #34474f;
    box-shadow: none !important;
}
.ln-client-address-form input.input-text:focus,
.ln-client-address-form select:focus,
.ln-client-address-form textarea:focus,
.woocommerce-account .woocommerce-MyAccount-content input.input-text:focus,
.woocommerce-account .woocommerce-MyAccount-content select:focus,
.woocommerce-account .woocommerce-MyAccount-content textarea:focus {
    border-color: var(--ln-client-mint) !important;
    outline: 0;
    box-shadow: 0 0 0 2px rgba(49,199,173,.12) !important;
}
.ln-client-form-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #edf1f2;
}
.ln-client-text-link {
    color: #6c7d82;
    font-size: 13px;
    text-decoration: none;
}
.ln-client-text-link:hover {
    color: var(--ln-client-mint-dark);
    text-decoration: underline;
}

/* view-order / add-payment-method等、WooCommerce標準本文にも共通カード感を付与 */
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-order-details,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-customer-details,
.woocommerce-account .woocommerce-MyAccount-content > form#add_payment_method {
    margin-bottom: 18px;
    padding: 20px;
    border: 1px solid var(--ln-client-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(35,55,62,.03);
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
    border: 0 !important;
    border-collapse: collapse !important;
    background: transparent;
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
    padding: 12px 10px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf1f2 !important;
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tr:last-child td,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tr:last-child th {
    border-bottom: 0 !important;
}

@media (max-width: 800px) {
    .woocommerce-account .ln-client-menu li.is-active::before {
        top: auto;
        right: 0;
        bottom: 0;
        width: auto;
        height: 3px;
    }
    .ln-client-callout,
    .ln-client-order-body,
    .ln-client-payment-method,
    .ln-client-billing-head {
        align-items: flex-start;
    }
    .ln-client-callout,
    .ln-client-payment-method {
        flex-direction: column;
    }
    .ln-client-order-body {
        display: block;
    }
    .ln-client-order-body .ln-client-card-action {
        margin-top: 14px;
    }
    .ln-client-payment-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 560px) {
    .ln-client-order-top,
    .ln-client-billing-head {
        align-items: flex-start;
        flex-direction: column;
    }
    .ln-client-order-id {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }
    .ln-client-settings-card {
        padding: 15px;
    }
    .ln-client-form-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .ln-client-form-actions .button {
        width: 100%;
    }
}


/* =========================================================
   v1.2.4: Client endpoint / creator registration fixes
========================================================= */

/* WooCommerce標準の通知アイコンはテーマ差で本文に重なるため非表示。
   LinKnoteでは左アクセントラインだけを共通シグナルにする。 */
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-error::before,
.woocommerce-account .woocommerce-info::after,
.woocommerce-account .woocommerce-message::after,
.woocommerce-account .woocommerce-error::after {
    content: none !important;
    display: none !important;
}
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error {
    padding-left: 18px !important;
}

/* client menuはMy Account外のcreator-registrationでも同じactive表現にする。 */
.ln-client-menu li {
    position: relative;
}
.ln-client-menu li > a::before,
.ln-client-menu li > a::after {
    content: none !important;
    display: none !important;
}
.ln-client-menu li.is-active::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 0;
    width: 4px;
    background: #31c7ad;
}
.ln-client-menu li.is-active > a {
    color: #168f7d !important;
    background: #eefbf8 !important;
    font-weight: 700 !important;
}

/* WC Vendorsのcreator-registration固定ページをMy Accountと同じ2カラムにする。 */
.ln-creator-registration-page {
    --ln-client-mint: #31c7ad;
    --ln-client-mint-dark: #168f7d;
    --ln-client-mint-pale: #eefbf8;
    --ln-client-ink: #27343a;
    --ln-client-muted: #718187;
    --ln-client-border: #e4ebed;
    --ln-client-soft: #f8fbfb;
}
.ln-client-account-shell {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    width: 100%;
}
.ln-client-account-shell__nav,
.ln-client-account-shell__content {
    min-width: 0;
}
.ln-client-account-shell .woocommerce-MyAccount-navigation {
    float: none !important;
    width: 100% !important;
}
.ln-client-account-shell .ln-client-endpoint {
    width: 100%;
    box-sizing: border-box;
    color: var(--ln-client-ink);
}
.ln-client-account-shell .ln-client-endpoint-head {
    margin: 0 0 20px;
}
.ln-client-account-shell .ln-client-endpoint-head h2 {
    margin: 0 0 7px;
    color: var(--ln-client-ink);
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
}
.ln-client-account-shell .ln-client-endpoint-head p {
    margin: 0;
    color: var(--ln-client-muted);
    font-size: 14px;
    line-height: 1.7;
}
.ln-client-account-shell .ln-client-creator-registration input[type="text"],
.ln-client-account-shell .ln-client-creator-registration input[type="tel"],
.ln-client-account-shell .ln-client-creator-registration input[type="email"],
.ln-client-account-shell .ln-client-creator-registration select,
.ln-client-account-shell .ln-client-creator-registration textarea {
    border: 1px solid #dfe7e9 !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: none !important;
}
.ln-client-account-shell .ln-client-creator-registration input:focus,
.ln-client-account-shell .ln-client-creator-registration select:focus,
.ln-client-account-shell .ln-client-creator-registration textarea:focus {
    border-color: var(--ln-client-mint) !important;
    outline: 0 !important;
    box-shadow: 0 0 0 2px rgba(49, 199, 173, .10) !important;
}
.ln-client-account-shell .ln-client-creator-registration input[type="submit"],
.ln-client-account-shell .ln-client-creator-registration button[type="submit"] {
    border: 1px solid var(--ln-client-mint) !important;
    border-radius: 8px !important;
    background: var(--ln-client-mint) !important;
    color: #fff !important;
    font-weight: 700 !important;
}

@media (max-width: 800px) {
    .ln-client-account-shell {
        display: block;
    }
    .ln-client-account-shell__nav {
        margin-bottom: 20px;
    }
    .ln-client-menu li.is-active::before {
        top: auto;
        right: 0;
        bottom: 0;
        width: auto;
        height: 3px;
    }
}

/* =========================================================
   v1.2.5: Dashboard / management page title cleanup
========================================================= */

/*
 * Storefrontが固定ページ外側に出す大きなページタイトルだけを非表示にする。
 * body classはLinKnoteのダッシュボード/管理系ページでのみ付与されるため、
 * 商品ページ・規約・通常の案内ページのタイトルには影響しない。
 */
.ln-store-hide-page-title #primary .site-main > article.type-page > .entry-header,
.ln-store-hide-page-title #primary .site-main > article.page > .entry-header,
.ln-store-hide-page-title .site-main > article.type-page > .entry-header,
.ln-store-hide-page-title .site-main > article.page > .entry-header,
.ln-store-hide-page-title .site-main > .type-page > .entry-header {
    display: none !important;
}

/* テーマ差でheader構造が異なる場合のフォールバック。本文内の見出しは対象外。 */
.ln-store-hide-page-title #primary article.type-page > header.entry-header,
.ln-store-hide-page-title #primary article.page > header.entry-header {
    display: none !important;
}

/* 外側タイトルを消した後の余白を詰め、パンくず→機能UIへ自然につなぐ。 */
.ln-store-hide-page-title #primary .site-main > article.type-page > .entry-content,
.ln-store-hide-page-title #primary .site-main > article.page > .entry-content,
.ln-store-hide-page-title .site-main > article.type-page > .entry-content,
.ln-store-hide-page-title .site-main > article.page > .entry-content {
    margin-top: 0 !important;
}

/* =========================================================
   v1.2.6: Service archive compact grid
========================================================= */

/* サービス一覧の大見出し。公開ページなのでタイトル自体は残し、余白だけ整理。 */
.ln-store-service-archive .woocommerce-products-header {
    margin: 22px 0 28px;
    padding: 0 !important;
    text-align: center;
}

.ln-store-service-archive .woocommerce-products-header__title.page-title,
.ln-store-service-archive h1.page-title {
    margin: 0 !important;
    font-size: clamp(28px, 3vw, 34px) !important;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: .01em;
}

/* フィルター〜商品一覧の間を詰める。 */
.ln-store-service-archive .ln-product-accepting-filter {
    margin-bottom: 14px;
}

.ln-store-service-archive .woocommerce-ordering,
.ln-store-service-archive .woocommerce-result-count {
    margin-bottom: 20px;
    font-size: 12px;
}

.ln-store-service-archive .woocommerce-ordering select {
    min-height: 32px;
    padding: 4px 28px 4px 8px;
    font-size: 12px;
}

/* Storefrontのfloat/列幅指定を解除し、5列グリッドへ統一。 */
.ln-store-service-archive .site-main ul.products {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 26px 16px;
    margin: 0 0 34px !important;
    padding: 0 !important;
}

.ln-store-service-archive .site-main ul.products::before,
.ln-store-service-archive .site-main ul.products::after {
    display: none !important;
    content: none !important;
}

.ln-store-service-archive .site-main ul.products li.product,
.ln-store-service-archive .site-main ul.products.columns-5 li.product,
.ln-store-service-archive .site-main ul.products li.product.first,
.ln-store-service-archive .site-main ul.products li.product.last {
    display: flex !important;
    float: none !important;
    clear: none !important;
    flex-direction: column;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 9px 9px 11px;
    border: 1px solid #edf1f1;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(31, 53, 51, .035);
    text-align: left !important;
    box-sizing: border-box;
}

.ln-store-service-archive .site-main ul.products li.product:hover {
    border-color: #dce9e6;
    box-shadow: 0 5px 16px rgba(31, 53, 51, .07);
}

/* 商品画像は小さくなっても形を揃える。 */
.ln-store-service-archive .site-main ul.products li.product a.woocommerce-LoopProduct-link {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    text-decoration: none;
}

.ln-store-service-archive .site-main ul.products li.product img {
    width: 100% !important;
    max-width: none !important;
    aspect-ratio: 4 / 3;
    height: auto !important;
    margin: 0 0 10px !important;
    border: 1px solid #eef2f3;
    border-radius: 9px;
    background: #f8fafb;
    object-fit: cover;
}

/* 5列でも読みやすい情報密度に調整。 */
.ln-store-service-archive .site-main ul.products li.product .woocommerce-loop-product__title,
.ln-store-service-archive .site-main ul.products li.product h2 {
    min-height: 2.8em;
    margin: 0 0 5px !important;
    padding: 0 !important;
    color: #273331;
    font-size: 13px !important;
    font-weight: 650;
    line-height: 1.4;
}

.ln-store-service-archive .site-main ul.products li.product .star-rating {
    margin: 0 0 6px !important;
    font-size: 11px;
}

.ln-store-service-archive .site-main ul.products li.product .price {
    display: block;
    margin: 0 0 6px !important;
    color: #33403e !important;
    font-size: 12px !important;
    font-weight: 600;
    line-height: 1.45;
}

.ln-store-service-archive .site-main ul.products li.product .ln-estimate-base-price small {
    display: inline;
    margin-right: 2px;
    color: #7a8785;
    font-size: 10px;
    font-weight: 500;
}

.ln-store-service-archive .site-main ul.products li.product p,
.ln-store-service-archive .site-main ul.products li.product small {
    line-height: 1.45;
}

/* WC Vendors等が出す提供者情報もカード内でコンパクトに。 */
.ln-store-service-archive .site-main ul.products li.product .wcvendors_sold_by_in_loop,
.ln-store-service-archive .site-main ul.products li.product .wcvendors_sold_by_in_loop a,
.ln-store-service-archive .site-main ul.products li.product .wcvendors_sold_by_in_loop span {
    font-size: 10.5px !important;
    line-height: 1.45;
}

.ln-store-service-archive .site-main ul.products li.product .wcvendors_sold_by_in_loop {
    margin: 0 0 8px !important;
    color: #75817f;
}

/* 購入/相談ボタンはカード下部へ揃える。 */
.ln-store-service-archive .site-main ul.products li.product .button,
.ln-store-service-archive .site-main ul.products li.product .ln-consult-product-link {
    align-self: flex-start;
    min-height: 32px;
    margin: auto 0 0 !important;
    padding: 7px 10px !important;
    border-radius: 7px;
    font-size: 11px !important;
    line-height: 1.45;
    white-space: nowrap;
}

.ln-store-service-archive .site-main ul.products li.product .ln-service-paused-loop-label {
    margin: 2px 0 8px;
    font-size: 10px;
}

/* ページネーションもカード幅に合わせて少しコンパクトに。 */
.ln-store-service-archive .woocommerce-pagination {
    margin: 4px 0 30px;
}

@media (max-width: 980px) {
    .ln-store-service-archive .site-main ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 22px 14px;
    }
}

@media (max-width: 760px) {
    .ln-store-service-archive .woocommerce-products-header {
        margin: 16px 0 22px;
        text-align: left;
    }

    .ln-store-service-archive .woocommerce-products-header__title.page-title,
    .ln-store-service-archive h1.page-title {
        font-size: 26px !important;
    }

    .ln-store-service-archive .site-main ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 12px;
    }
}

@media (max-width: 380px) {
    .ln-store-service-archive .site-main ul.products {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   v1.2.7: Creator dashboard / product editor cleanup + YouTube
   ========================================================= */

/* Creator dashboard recent orders: service/client columns */
.ln-dashboard-orders-enhanced .ln-dashboard-order-service,
.ln-dashboard-orders-enhanced .ln-dashboard-order-client {
    min-width: 120px;
}
.ln-dashboard-orders-enhanced .ln-dashboard-order-service a,
.ln-dashboard-orders-enhanced .ln-dashboard-order-client a {
    color: #16803c;
    text-decoration: none;
    font-weight: 600;
}
.ln-dashboard-orders-enhanced .ln-dashboard-order-service a:hover,
.ln-dashboard-orders-enhanced .ln-dashboard-order-client a:hover {
    text-decoration: underline;
}

/* Only one product type is available in LinKnote, so don't show a useless selector. */
#wcv-product-edit .ln-hide-product-type-row,
#wcv-product-edit .ln-hide-product-type-divider,
#wcv-product-edit .ln-hide-virtual-option,
#wcv-product-edit .ln-hide-general-heading {
    display: none !important;
}
#wcv-product-edit .ln-general-price-panel {
    display: block !important;
    margin-top: 0 !important;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

/* YouTube settings in the WC Vendors product editor */
.ln-store-product-video-settings {
    margin: 22px 0 10px;
    padding: 18px;
    border: 1px solid #dcebe5;
    border-radius: 12px;
    background: #f7fcfa;
}
.ln-store-product-video-settings__head h3 {
    margin: 0 0 5px;
    color: #1f2d28;
    font-size: 18px;
}
.ln-store-product-video-settings__head p {
    margin: 0 0 16px;
    color: #66736e;
    font-size: 13px;
    line-height: 1.7;
}
.ln-store-product-video-settings__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(200px, .8fr);
    gap: 14px;
}
.ln-store-product-video-field {
    display: grid;
    gap: 7px;
    margin: 0;
    font-weight: 600;
}
.ln-store-product-video-field input,
.ln-store-product-video-field select {
    width: 100%;
    min-height: 42px;
    margin: 0;
    border: 1px solid #d8dfdc;
    border-radius: 8px;
    background: #fff;
}
.ln-store-product-video-field small {
    color: #72807a;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.55;
}
.ln-store-youtube-preview {
    display: none;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e1eee8;
    color: #65736d;
    font-size: 12px;
}
.ln-store-youtube-preview.is-visible {
    display: flex;
}
.ln-store-youtube-preview img {
    width: 112px;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
    background: #eef3f1;
}

/* Selected YouTube thumbnail behaves like the normal product image. */
img.ln-store-youtube-thumbnail {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.ln-store-service-archive ul.products li.product img.ln-store-youtube-thumbnail {
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.woocommerce-product-gallery__image.ln-store-youtube-main-thumbnail img {
    width: 100%;
    height: auto;
}

/* Embedded video on the service page. */
.ln-store-single-video {
    clear: both;
    margin: 34px 0 28px;
    padding: 22px;
    border: 1px solid #e2e9e6;
    border-radius: 14px;
    background: #fff;
}
.ln-store-single-video h2 {
    margin: 0 0 14px;
    font-size: 22px;
    line-height: 1.35;
}
.ln-store-single-video__frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 12px;
    background: #111;
}
.ln-store-single-video__frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 800px) {
    .ln-store-product-video-settings__grid {
        grid-template-columns: 1fr;
    }
    .ln-store-single-video {
        margin: 24px 0 20px;
        padding: 14px;
    }
    .ln-store-single-video h2 {
        font-size: 19px;
    }
}

/* =========================================================
   v1.2.8: stable Japanese tags + unified media editor/carousel
   ========================================================= */

/* Replace WC Vendors Select2 tags with a native IME-safe text input. */
#wcv-product-edit .ln-hide-original-product-tags {
    display: none !important;
}
#wcv-product-edit .ln-store-product-tags-replacement {
    box-sizing: border-box;
}
#wcv-product-edit .ln-store-product-tags-replacement label {
    display: block;
    margin: 0 0 7px;
    font-weight: 600;
}
#wcv-product-edit .ln-store-product-tags-replacement input {
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 9px 12px;
    border: 1px solid #d8dfdc;
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
}
#wcv-product-edit .ln-store-product-tags-replacement input:focus {
    border-color: #21b98a;
    outline: 0;
    box-shadow: 0 0 0 2px rgba(33, 185, 138, .12);
}
#wcv-product-edit .ln-store-product-tags-replacement small {
    display: block;
    margin-top: 6px;
    color: #72807a;
    font-size: 12px;
    line-height: 1.55;
}

/* The General tab header is redundant when price is the only remaining field. */
#wcv-product-edit .ln-hide-general-heading,
#wcv-product-edit [href="#general"].ln-hide-general-heading,
#wcv-product-edit .wcv-tabs > ul > li > a[href="#general"] {
    display: none !important;
}
#wcv-product-edit #general.ln-general-price-panel,
#wcv-product-edit #general.wcv-product-general {
    display: block !important;
    margin-top: 0 !important;
}

/* Unified media settings: Video -> Image -> thumbnail choice. */
#wcv-product-edit .ln-store-product-media-shell {
    display: grid;
    gap: 16px;
    margin: 24px 0 18px;
}
#wcv-product-edit .ln-store-product-media-block,
#wcv-product-edit .ln-store-product-thumbnail-settings {
    margin: 0;
    padding: 18px;
    border: 1px solid #dce8e3;
    border-radius: 12px;
    background: #f8fcfa;
    box-sizing: border-box;
}
#wcv-product-edit .ln-store-product-media-block__head {
    margin: 0 0 14px;
}
#wcv-product-edit .ln-store-product-media-block__head h3 {
    margin: 0 0 5px;
    color: #1f2d28;
    font-size: 18px;
    line-height: 1.35;
}
#wcv-product-edit .ln-store-product-media-block__head p {
    margin: 0;
    color: #68766f;
    font-size: 12px;
    line-height: 1.7;
}
#wcv-product-edit .ln-store-product-video-settings {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}
#wcv-product-edit .ln-store-product-video-field {
    display: grid;
    gap: 7px;
    margin: 0;
    font-weight: 600;
}
#wcv-product-edit .ln-store-product-video-field input {
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 9px 12px;
    border: 1px solid #d8dfdc;
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
}
#wcv-product-edit .ln-store-product-video-field input:focus {
    border-color: #21b98a;
    outline: 0;
    box-shadow: 0 0 0 2px rgba(33, 185, 138, .12);
}
#wcv-product-edit .ln-store-product-video-field small {
    color: #72807a;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.55;
}
#wcv-product-edit .ln-store-youtube-preview {
    display: none;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
    padding: 12px;
    border: 1px solid #e2ebe7;
    border-radius: 10px;
    background: #fff;
    color: #65736d;
    font-size: 12px;
}
#wcv-product-edit .ln-store-youtube-preview.is-visible {
    display: flex;
}
#wcv-product-edit .ln-store-youtube-preview img {
    width: 120px;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 8px;
    background: #eef3f1;
}
#wcv-product-edit .ln-store-product-media-block--image .wcv-product-media {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

/* Visual radio cards for archive thumbnail source. */
#wcv-product-edit .ln-store-thumbnail-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 220px));
    gap: 12px;
    align-items: stretch;
}
#wcv-product-edit .ln-store-thumbnail-option {
    position: relative;
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 10px;
    border: 2px solid #dfe8e4;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
#wcv-product-edit .ln-store-thumbnail-option:hover {
    border-color: #94d9c2;
}
#wcv-product-edit .ln-store-thumbnail-option.is-selected {
    border-color: #21b98a;
    box-shadow: 0 0 0 3px rgba(33, 185, 138, .10);
}
#wcv-product-edit .ln-store-thumbnail-option[hidden] {
    display: none !important;
}
#wcv-product-edit .ln-store-thumbnail-option input[type="radio"] {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #21b98a;
    z-index: 2;
}
#wcv-product-edit .ln-store-thumbnail-option__media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    border-radius: 8px;
    background: #edf3f0;
}
#wcv-product-edit .ln-store-thumbnail-option__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#wcv-product-edit .ln-store-thumbnail-option__play {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(0, 0, 0, .72);
    color: #fff;
    font-size: 15px;
    padding-left: 2px;
}
#wcv-product-edit .ln-store-thumbnail-option strong {
    color: #24312c;
    font-size: 13px;
}
#wcv-product-edit .ln-store-thumbnail-option.is-auto::after {
    content: "自動選択";
    position: absolute;
    left: 10px;
    top: 10px;
    padding: 3px 7px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .92);
    color: #16803c;
    font-size: 10px;
    font-weight: 700;
}
#wcv-product-edit .ln-store-thumbnail-empty {
    margin: 0;
    padding: 13px;
    border: 1px dashed #cad8d2;
    border-radius: 9px;
    color: #6b7872;
    background: #fff;
    font-size: 12px;
}

/* Service detail media carousel. Video is always the first slide when present. */
.single-product div.product .ln-store-media-carousel {
    position: relative;
    margin-bottom: 30px;
}
.ln-store-media-carousel__stage {
    position: relative;
    overflow: hidden;
    border: 1px solid #e2e9e6;
    border-radius: 14px;
    background: #f7f9f8;
}
.ln-store-media-carousel__slides {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
}
.ln-store-media-carousel__slide {
    position: absolute;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: #f7f9f8;
}
.ln-store-media-carousel__slide.is-active {
    display: flex;
}
.ln-store-media-carousel__slide.is-video {
    background: #000;
}
.ln-store-media-carousel__video {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    background: #000;
}
.ln-store-media-carousel__video iframe {
    width: 100%;
    height: 100%;
    border: 0;
}
.ln-store-media-carousel__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    margin: 0;
}
.ln-store-media-carousel__nav {
    position: absolute;
    top: 50%;
    z-index: 5;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    color: #26312d;
    font-size: 28px;
    line-height: 1;
    box-shadow: 0 3px 16px rgba(0,0,0,.13);
    cursor: pointer;
}
.ln-store-media-carousel__nav--prev { left: 12px; }
.ln-store-media-carousel__nav--next { right: 12px; }
.ln-store-media-carousel__thumbs {
    display: flex;
    gap: 9px;
    margin-top: 10px;
    overflow-x: auto;
    padding: 2px 1px 4px;
}
.ln-store-media-carousel__thumb {
    position: relative;
    flex: 0 0 78px;
    width: 78px;
    aspect-ratio: 4 / 3;
    padding: 2px;
    border: 2px solid transparent;
    border-radius: 9px;
    background: #fff;
    overflow: hidden;
    cursor: pointer;
}
.ln-store-media-carousel__thumb.is-active {
    border-color: #21b98a;
}
.ln-store-media-carousel__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
}
.ln-store-media-carousel__thumb.is-video span {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    padding-left: 2px;
    border-radius: 50%;
    background: rgba(0,0,0,.72);
    color: #fff;
    font-size: 11px;
}

@media (max-width: 700px) {
    #wcv-product-edit .ln-store-thumbnail-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .ln-store-media-carousel__nav {
        width: 34px;
        height: 34px;
        font-size: 24px;
    }
}


/* =========================================================
   v1.2.9: multi-video / multi-image media editor refinements
   ========================================================= */
#wcv-product-edit .ln-store-product-tags-replacement input,
#wcv-product-edit .ln-store-taxonomy-field select,
#wcv-product-edit .ln-store-taxonomy-field .select2-selection,
#wcv-product-edit .ln-store-taxonomy-field .select2-selection--single,
#wcv-product-edit .ln-store-taxonomy-field .select2-selection--multiple {
    min-height: 44px !important;
    height: 44px !important;
    box-sizing: border-box;
}
#wcv-product-edit .ln-store-taxonomy-field .select2-selection__rendered {
    min-height: 42px;
    line-height: 42px !important;
}
#wcv-product-edit .ln-store-taxonomy-field .select2-selection__arrow {
    height: 42px !important;
}

/* Featured image is no longer a creator-facing concept. The gallery is the image uploader. */
#wcv-product-edit .ln-hide-featured-uploader,
#wcv-product-edit .ln-hide-inner-media-heading {
    display: none !important;
}
#wcv-product-edit .ln-store-images-only-uploader {
    display: block !important;
    width: 100% !important;
}
#wcv-product-edit .ln-store-image-gallery-uploader {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}
#wcv-product-edit .ln-store-product-media-block--image .all-50,
#wcv-product-edit .ln-store-product-media-block--image .wcv-grid > * {
    max-width: 100%;
}

/* Multiple YouTube rows. No separate preview: thumbnail cards are the preview. */
#wcv-product-edit .ln-store-youtube-list {
    display: grid;
    gap: 10px;
}
#wcv-product-edit .ln-store-youtube-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: end;
}
#wcv-product-edit .ln-store-youtube-row .ln-store-product-video-field {
    min-width: 0;
}
#wcv-product-edit .ln-store-remove-video,
#wcv-product-edit .ln-store-add-video {
    min-height: 44px;
    border-radius: 8px;
}
#wcv-product-edit .ln-store-add-video {
    margin-top: 10px;
}
#wcv-product-edit .ln-store-youtube-preview {
    display: none !important;
}

#wcv-product-edit .ln-store-thumbnail-options {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
#wcv-product-edit .ln-store-product-thumbnail-settings .ln-store-product-media-block__head {
    margin-bottom: 12px;
}

@media (max-width: 900px) {
    #wcv-product-edit .ln-store-thumbnail-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    #wcv-product-edit .ln-store-thumbnail-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #wcv-product-edit .ln-store-youtube-row { grid-template-columns: 1fr; }
    #wcv-product-edit .ln-store-remove-video { justify-self: start; }
}


/* =========================================================
   v1.2.10: product editor taxonomy/media hardening
   ========================================================= */
#wcv-product-edit .ln-store-product-tags-replacement,
#wcv-product-edit .ln-store-category-field {
    min-width: 0 !important;
    box-sizing: border-box !important;
}
#wcv-product-edit .ln-store-product-tags-replacement input#ln_store_product_tags {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 8px 11px !important;
    box-sizing: border-box !important;
    line-height: 1.35 !important;
}
#wcv-product-edit .ln-store-category-field .select2-container {
    width: 100% !important;
    max-width: none !important;
}
#wcv-product-edit .ln-store-category-field .select2-selection,
#wcv-product-edit .ln-store-category-field .select2-selection--multiple,
#wcv-product-edit .ln-store-category-field .select2-selection--single {
    height: 44px !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
#wcv-product-edit .ln-store-category-field .select2-selection--multiple .select2-selection__rendered {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    height: 42px !important;
    min-height: 42px !important;
    overflow: hidden !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
#wcv-product-edit .ln-store-category-field .select2-selection--multiple .select2-search--inline {
    display: inline-flex !important;
    align-items: center !important;
    height: 32px !important;
    margin: 0 !important;
}
#wcv-product-edit .ln-store-category-field .select2-search__field {
    height: 30px !important;
    min-height: 30px !important;
    margin: 0 !important;
    padding: 0 4px !important;
}

/* WC Vendors can rebuild the media fields after page load; hide every known featured-image control. */
#wcv-product-edit .ln-store-product-media-block--image .ln-hide-featured-uploader,
#wcv-product-edit .ln-store-product-media-block--image .wcv-featuredimg,
#wcv-product-edit .ln-store-product-media-block--image .wcv-featured-image,
#wcv-product-edit .ln-store-product-media-block--image [class*="featured-image"],
#wcv-product-edit .ln-store-product-media-block--image [id*="featured_image"],
#wcv-product-edit .ln-store-product-media-block--image [id*="featured-img"] {
    display: none !important;
}
#wcv-product-edit .ln-store-product-media-block--image .wcv-product-media {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}
#wcv-product-edit .ln-store-product-media-block--image .ln-store-image-gallery-uploader {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
}


/* =========================================================
   v1.2.11: responsive gallery + exact taxonomy sizing
   ========================================================= */
#wcv-product-edit .ln-store-product-media-block--image,
#wcv-product-edit .ln-store-product-media-block--image .wcv-product-media,
#wcv-product-edit .ln-store-product-media-block--image .wcv-product-media > *,
#wcv-product-edit .ln-store-product-media-block--image .ln-store-image-gallery-uploader {
    min-width: 0 !important;
    box-sizing: border-box !important;
}
#wcv-product-edit .ln-store-product-media-block--image .wcv-product-media > .all-100,
#wcv-product-edit .ln-store-product-media-block--image .wcv-product-media > .all-80,
#wcv-product-edit .ln-store-product-media-block--image .wcv-product-media > .all-75,
#wcv-product-edit .ln-store-product-media-block--image .wcv-product-media > .all-66,
#wcv-product-edit .ln-store-product-media-block--image .wcv-product-media > .all-60,
#wcv-product-edit .ln-store-product-media-block--image .wcv-product-media > .all-50,
#wcv-product-edit .ln-store-product-media-block--image .wcv-product-media > .all-40,
#wcv-product-edit .ln-store-product-media-block--image .wcv-product-media > .all-33,
#wcv-product-edit .ln-store-product-media-block--image .wcv-product-media > .all-25,
#wcv-product-edit .ln-store-product-media-block--image .wcv-product-media > .all-20 {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
#wcv-product-edit .ln-store-product-media-block--image .wcv-grid {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}
#wcv-product-edit .ln-hide-gallery-helper-copy {
    display: none !important;
}

#wcv-product-edit .ln-store-product-tags-replacement input#ln_store_product_tags,
#wcv-product-edit .ln-store-category-field .select2-selection,
#wcv-product-edit .ln-store-category-field .select2-selection--multiple,
#wcv-product-edit .ln-store-category-field .select2-selection--single {
    height: 48px !important;
    min-height: 48px !important;
}
#wcv-product-edit .ln-store-category-field .select2-selection--multiple .select2-selection__rendered {
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 10px !important;
    align-items: center !important;
}
#wcv-product-edit .ln-store-category-field .select2-selection__choice {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* =========================================================
   v1.2.12: exact WCV 2.0.8 taxonomy/uploader fixes
   ========================================================= */
/* Tag replacement sits inside WC Vendors' outer all-50 column; it must itself be full width. */
#wcv-product-edit .ln-store-product-tags-replacement {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* Match the actual category control-group label geometry so both fields line up exactly. */
#wcv-product-edit .ln-store-product-tags-replacement > label,
#wcv-product-edit .ln-store-category-field > label,
#wcv-product-edit .ln-store-category-field label[for="product_cat"] {
    display: block !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    min-height: 0 !important;
    line-height: 25.8828125px !important;
    box-sizing: border-box !important;
}
#wcv-product-edit .ln-store-product-tags-replacement input#ln_store_product_tags,
#wcv-product-edit .ln-store-category-field .select2-container,
#wcv-product-edit .ln-store-category-field .select2-selection,
#wcv-product-edit .ln-store-category-field .select2-selection--multiple,
#wcv-product-edit .ln-store-category-field .select2-selection--single {
    height: 48px !important;
    min-height: 48px !important;
    box-sizing: border-box !important;
}
#wcv-product-edit .ln-store-category-field .select2-container {
    display: inline-block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    vertical-align: top !important;
}

/* The visible WC Vendors gallery upload tile is 140px wide. Keep its button on one line. */
#wcv-product-edit .ln-store-product-media-block--image #product_images .file-upload-wrapper,
#wcv-product-edit .ln-store-product-media-block--image #product_images .wcv-upload-files-input {
    box-sizing: border-box !important;
}
#wcv-product-edit .ln-store-product-media-block--image #product_images .wcv-upload-files-input .wcv-browser-file {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 32px !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 6px 8px !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    letter-spacing: -0.02em !important;
}

/* =========================================================
   v1.2.13: LinKnote creator directory
   ========================================================= */
.ln-creator-directory {
    margin-top: 18px;
}
.ln-creator-directory__toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    margin-bottom: 22px;
}
.ln-creator-directory__search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    margin: 0;
}
.ln-creator-directory__search input[type="search"] {
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 9px 13px;
    border: 1px solid #dde5e2;
    border-radius: 10px;
    background: #f8faf9;
    box-shadow: none;
}
.ln-creator-directory__search input[type="search"]:focus {
    border-color: #23bfa5;
    background: #fff;
    outline: 2px solid rgba(35, 191, 165, .12);
}
.ln-creator-directory__search button {
    min-width: 72px;
    min-height: 44px;
    padding: 8px 16px;
    border: 1px solid #dbe3e0;
    border-radius: 10px;
    background: #fff;
    color: #24312e;
    font-weight: 700;
}
.ln-creator-directory__search button:hover {
    border-color: #23bfa5;
    color: #168b78;
}
.ln-creator-directory__view {
    display: inline-flex;
    gap: 4px;
    align-items: center;
}
.ln-creator-directory__view button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #72807c;
    font-size: 20px;
    line-height: 1;
}
.ln-creator-directory__view button:hover,
.ln-creator-directory__view button.is-active {
    background: #eaf8f4;
    color: #169b84;
}
.ln-creator-directory__cards[data-view="grid"] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.ln-creator-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 22px 18px 18px;
    border: 1px solid #e1e8e6;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(36, 49, 46, .05);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ln-creator-card:hover {
    transform: translateY(-2px);
    border-color: #c7e7df;
    box-shadow: 0 12px 30px rgba(36, 49, 46, .08);
}
.ln-creator-card__identity {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    text-align: center;
}
.ln-creator-card__avatar-link {
    display: block;
    width: 104px;
    height: 104px;
    margin-bottom: 13px;
    border-radius: 50%;
}
.ln-creator-card__avatar {
    display: block;
    width: 104px;
    height: 104px;
    margin: 0 auto 13px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #f0f3f2;
    object-fit: cover;
    box-shadow: 0 0 0 1px #dfe8e5, 0 5px 16px rgba(36, 49, 46, .10);
}
.ln-creator-card__avatar-link .ln-creator-card__avatar {
    margin-bottom: 0;
}
.ln-creator-card__names {
    min-width: 0;
}
.ln-creator-card__name {
    display: block;
    overflow: hidden;
    color: #202a27;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ln-creator-card__name:hover {
    color: #169b84;
}
.ln-creator-card__handle {
    display: block;
    overflow: hidden;
    margin-top: 3px;
    color: #88938f;
    font-size: 12px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ln-creator-card__status {
    display: inline-flex;
    align-items: center;
    align-self: center;
    gap: 6px;
    margin: 15px 0 17px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #f3f6f5;
    color: #64706c;
    font-size: 11px;
    font-weight: 700;
}
.ln-creator-card__status > span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}
.ln-creator-card__status--available {
    background: #e9f8f3;
    color: #168b78;
}
.ln-creator-card__status--consulting {
    background: #eef5ff;
    color: #426fba;
}
.ln-creator-card__status--closed {
    background: #f6f6f6;
    color: #8a9290;
}
.ln-creator-card__links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-top: auto;
}
.ln-creator-card__links a,
.ln-creator-card__links span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 6px 5px;
    border: 1px solid #dce5e2;
    border-radius: 9px;
    background: #fff;
    color: #4d5a56;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}
.ln-creator-card__links a:hover {
    border-color: #23bfa5;
    background: #f4fbf9;
    color: #168b78;
}
.ln-creator-card__links .is-primary {
    border-color: #23bfa5;
    background: #23bfa5;
    color: #fff;
}
.ln-creator-card__links a.is-primary:hover {
    border-color: #169b84;
    background: #169b84;
    color: #fff;
}
.ln-creator-card__links .is-disabled {
    cursor: default;
    opacity: .42;
}
.ln-creator-directory__cards[data-view="list"] {
    display: grid;
    gap: 10px;
}
.ln-creator-directory__cards[data-view="list"] .ln-creator-card {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto minmax(300px, auto);
    gap: 18px;
    align-items: center;
    padding: 14px 16px;
}
.ln-creator-directory__cards[data-view="list"] .ln-creator-card__identity {
    flex-direction: row;
    text-align: left;
}
.ln-creator-directory__cards[data-view="list"] .ln-creator-card__avatar-link {
    width: 58px;
    height: 58px;
    margin: 0 12px 0 0;
    flex: 0 0 58px;
}
.ln-creator-directory__cards[data-view="list"] .ln-creator-card__avatar {
    width: 58px;
    height: 58px;
    margin: 0 12px 0 0;
}
.ln-creator-directory__cards[data-view="list"] .ln-creator-card__avatar-link .ln-creator-card__avatar {
    margin: 0;
}
.ln-creator-directory__cards[data-view="list"] .ln-creator-card__status {
    margin: 0;
}
.ln-creator-directory__cards[data-view="list"] .ln-creator-card__links {
    min-width: 300px;
    margin: 0;
}
.ln-creator-directory__empty {
    padding: 48px 20px;
    border: 1px dashed #d8e3df;
    border-radius: 14px;
    background: #fbfcfc;
    color: #78827f;
    text-align: center;
}
.ln-creator-directory__pagination {
    margin-top: 28px;
}
.ln-creator-directory__pagination ul {
    display: flex;
    gap: 6px;
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ln-creator-directory__pagination a,
.ln-creator-directory__pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 8px;
    border: 1px solid #dce5e2;
    border-radius: 9px;
    background: #fff;
    color: #4d5a56;
    text-decoration: none;
}
.ln-creator-directory__pagination .current {
    border-color: #23bfa5;
    background: #23bfa5;
    color: #fff;
}
@media (max-width: 1100px) {
    .ln-creator-directory__cards[data-view="grid"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
    .ln-creator-directory__cards[data-view="grid"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ln-creator-directory__cards[data-view="list"] .ln-creator-card {
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .ln-creator-directory__cards[data-view="list"] .ln-creator-card__links {
        grid-column: 1 / -1;
        min-width: 0;
    }
}
@media (max-width: 560px) {
    .ln-creator-directory__toolbar { grid-template-columns: 1fr; }
    .ln-creator-directory__view { justify-self: end; }
    .ln-creator-directory__cards[data-view="grid"] { grid-template-columns: 1fr; }
    .ln-creator-directory__cards[data-view="list"] .ln-creator-card {
        grid-template-columns: 1fr;
    }
    .ln-creator-directory__cards[data-view="list"] .ln-creator-card__status {
        justify-self: start;
    }
}


/* =========================================================
   v1.2.17: Single service page sections
========================================================= */

.single-product .woocommerce-tabs.wc-tabs-wrapper {
    display: block !important;
    clear: both;
    width: 100% !important;
    max-width: none !important;
    margin-top: 42px;
}

.single-product .woocommerce-tabs ul.tabs {
    display: flex;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    gap: 8px;
    overflow-x: visible;
    margin: 0 0 16px !important;
    padding: 4px !important;
    border: 1px solid #dfe8e5;
    border-radius: 13px;
    background: #f6f9f8;
    scrollbar-width: none;
}

.single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
    display: none;
}

.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.single-product .woocommerce-tabs ul.tabs li {
    flex: 1 1 0;
    width: 25% !important;
    min-width: 0;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
    display: block;
    box-sizing: border-box;
    min-height: 42px;
    padding: 11px 15px !important;
    border-radius: 9px;
    color: #5f6e69 !important;
    font-size: 13px;
    font-weight: 700 !important;
    line-height: 20px;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
}

.single-product .woocommerce-tabs ul.tabs li:hover a {
    color: #39735f !important;
    background: #eef6f2;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
    color: #2e7259 !important;
    background: #fff;
    box-shadow: 0 1px 5px rgba(35, 73, 59, .09);
}

.single-product .woocommerce-tabs .panel {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.single-product .ln-product-section {
    padding: 24px;
    border: 1px solid #dfe8e5;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 3px 14px rgba(43, 75, 64, .035);
}

.single-product .ln-product-section__lead {
    margin-bottom: 20px;
}

.single-product .ln-product-section__lead--row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.single-product .ln-product-section__lead h2 {
    margin: 0 0 5px !important;
    color: #2f3b37;
    font-size: 20px !important;
    line-height: 1.45;
}

.single-product .ln-product-section__lead p {
    margin: 0;
    color: #71807a;
    font-size: 13px;
    line-height: 1.7;
}

.single-product .ln-product-section__more {
    flex: 0 0 auto;
    margin-top: 3px;
    color: #4c8c74;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.single-product .ln-product-section__more:hover {
    text-decoration: underline;
}

.single-product .ln-product-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 24px;
}

.single-product .ln-product-facts__item {
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid #e4ece9;
    border-radius: 10px;
    background: #fafcfb;
}

.single-product .ln-product-facts__item dt {
    margin: 0 0 5px;
    color: #83908b;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
}

.single-product .ln-product-facts__item dd {
    margin: 0;
    color: #34423d;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.55;
}

.single-product .ln-product-facts__item dd .amount {
    color: #34423d;
    font-weight: 700;
}

.single-product .ln-product-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.single-product .ln-product-chip-list span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #eaf4f0;
    color: #3e735f;
    font-size: 11px;
    font-weight: 600;
}

.single-product .ln-product-chip-list--tags span {
    background: #f0f3f2;
    color: #61706a;
}

.single-product .ln-product-status,
.single-product .ln-product-creator-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 25px;
    padding: 2px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

.single-product .ln-product-status i,
.single-product .ln-product-creator-status i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

.single-product .ln-product-status--available,
.single-product .ln-product-creator-status--available {
    background: #eaf8f0;
    color: #267549;
}

.single-product .ln-product-creator-status--consulting {
    background: #eef6fb;
    color: #326d8b;
}

.single-product .ln-product-status--closed,
.single-product .ln-product-creator-status--closed {
    background: #f8eeee;
    color: #a65050;
}

.single-product .ln-product-creator-status--default {
    background: #f1f4f3;
    color: #69756f;
}

.single-product .ln-product-description {
    color: #3c4743;
    font-size: 14px;
    line-height: 1.9;
}

.single-product .ln-product-description > :first-child {
    margin-top: 0;
}

.single-product .ln-product-description > :last-child {
    margin-bottom: 0;
}

.single-product .ln-product-empty,
.single-product .ln-product-section__note {
    color: #7b8782;
    font-size: 12px;
}

.single-product .ln-product-empty-card {
    padding: 22px;
    border: 1px dashed #d7e1de;
    border-radius: 11px;
    background: #fafcfb;
    color: #75817c;
    font-size: 13px;
    text-align: center;
}

/* Reviews */
.single-product .ln-product-review-summary {
    display: grid;
    grid-template-columns: auto auto;
    align-items: baseline;
    gap: 1px 8px;
    min-width: 116px;
    text-align: right;
}

.single-product .ln-product-review-summary strong {
    color: #34423d;
    font-size: 27px;
    line-height: 1;
}

.single-product .ln-product-review-summary__stars {
    color: #e6a028;
    font-size: 13px;
    letter-spacing: 1px;
}

.single-product .ln-product-review-summary small {
    grid-column: 1 / -1;
    color: #84908c;
    font-size: 10px;
}

.single-product .ln-product-review-list {
    display: grid;
    gap: 10px;
}

.single-product .ln-product-review-card {
    padding: 15px 16px;
    border: 1px solid #e4ece9;
    border-radius: 11px;
    background: #fcfdfd;
}

.single-product .ln-product-review-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 9px;
}

.single-product .ln-product-review-card__head > div:first-child {
    display: grid;
    gap: 2px;
}

.single-product .ln-product-review-card__head strong,
.single-product .ln-product-review-card__head strong a {
    color: #33413c;
    font-size: 13px;
    text-decoration: none;
}

.single-product .ln-product-review-card__head time {
    color: #8a9691;
    font-size: 10px;
}

.single-product .ln-product-review-stars {
    color: #e6a028;
    font-size: 13px;
    letter-spacing: 1px;
    white-space: nowrap;
}

.single-product .ln-product-review-card__body {
    color: #4d5954;
    font-size: 13px;
    line-height: 1.75;
}

/* Creator */
.single-product .ln-product-creator-card {
    overflow: hidden;
    border: 1px solid #dde8e4;
    border-radius: 13px;
    background: #fff;
}

.single-product .ln-product-creator-card__main {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px;
}

.single-product .ln-product-creator-avatar {
    flex: 0 0 auto;
    width: 72px;
    height: 72px;
    overflow: hidden;
    border-radius: 50%;
    background: #eef3f1;
}

.single-product .ln-product-creator-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.single-product .ln-product-creator-copy {
    min-width: 0;
    flex: 1 1 auto;
}

.single-product .ln-product-creator-title {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 5px 9px;
    margin-bottom: 7px;
}

.single-product .ln-product-creator-title a,
.single-product .ln-product-creator-title strong {
    color: #2f3b37;
    font-size: 17px;
    font-weight: 700;
    text-decoration: none;
}

.single-product .ln-product-creator-title > span {
    color: #8a9691;
    font-size: 11px;
}

.single-product .ln-product-creator-copy > p {
    max-width: 620px;
    margin: 0 0 10px;
    color: #66746e;
    font-size: 12px;
    line-height: 1.7;
}

.single-product .ln-product-creator-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid #e7eeec;
    border-bottom: 1px solid #e7eeec;
    background: #fafcfb;
}

.single-product .ln-product-creator-stats > div {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 5px;
    padding: 13px 12px;
    text-align: center;
}

.single-product .ln-product-creator-stats > div + div {
    border-left: 1px solid #e7eeec;
}

.single-product .ln-product-creator-stats span {
    color: #7a8782;
    font-size: 10px;
}

.single-product .ln-product-creator-stats strong {
    color: #34423d;
    font-size: 16px;
}

.single-product .ln-product-creator-stats small {
    color: #82908a;
    font-size: 10px;
}

.single-product .ln-product-creator-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 14px;
}

.single-product .ln-product-creator-links a,
.single-product .ln-product-creator-links span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    border: 1px solid #d5e2de;
    border-radius: 9px;
    color: #547168;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.single-product .ln-product-creator-links a:hover {
    border-color: #a9cbbf;
    background: #f5faf8;
}

.single-product .ln-product-creator-links .is-primary {
    border-color: #5c9d84;
    background: #5c9d84;
    color: #fff;
}

.single-product .ln-product-creator-links .is-primary:hover {
    background: #4c896f;
}

.single-product .ln-product-creator-links .is-disabled {
    opacity: .45;
    cursor: default;
}

/* Works achievements */
.single-product .ln-product-work-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.single-product .ln-product-work-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e1e9e6;
    border-radius: 11px;
    background: #fff;
}

.single-product .ln-product-work-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #edf2f0;
}

.single-product .ln-product-work-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.single-product .ln-product-work-card__play {
    position: absolute;
    inset: 50% auto auto 50%;
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: rgba(0, 0, 0, .66);
    color: #fff;
    font-size: 11px;
}

.single-product .ln-product-work-card__noimage {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    color: #9aa5a1;
    font-size: 11px;
}

.single-product .ln-product-work-card__body {
    padding: 10px 11px 12px;
}

.single-product .ln-product-work-card__roles {
    overflow: hidden;
    margin-bottom: 4px;
    color: #4d8a74;
    font-size: 9px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.single-product .ln-product-work-card h3 {
    margin: 0 0 4px !important;
    font-size: 12px !important;
    line-height: 1.5;
}

.single-product .ln-product-work-card h3 a {
    color: #32403b;
    text-decoration: none;
}

.single-product .ln-product-work-card__artist,
.single-product .ln-product-work-card__date {
    overflow: hidden;
    margin: 0;
    color: #7c8984;
    font-size: 9px;
    line-height: 1.5;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.single-product .ln-product-works-footer {
    margin-top: 16px;
    text-align: right;
}

.single-product .ln-product-works-footer a {
    color: #4d8a74;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.single-product .ln-product-works-footer a:hover {
    text-decoration: underline;
}

@media (max-width: 900px) {
    .single-product .ln-product-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .single-product .ln-product-work-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .single-product .woocommerce-tabs.wc-tabs-wrapper {
        margin-top: 28px;
    }

    .single-product .woocommerce-tabs ul.tabs {
        gap: 4px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x proximity;
    }

    .single-product .woocommerce-tabs ul.tabs li {
        flex: 0 0 auto;
        width: auto !important;
        min-width: 112px;
        scroll-snap-align: start;
    }

    .single-product .woocommerce-tabs ul.tabs li a {
        padding: 10px 12px !important;
        font-size: 12px;
    }

    .single-product .ln-product-section {
        padding: 17px;
        border-radius: 12px;
    }

    .single-product .ln-product-section__lead--row {
        display: block;
    }

    .single-product .ln-product-section__more {
        display: inline-block;
        margin-top: 8px;
    }

    .single-product .ln-product-facts {
        grid-template-columns: 1fr;
    }

    .single-product .ln-product-review-card__head {
        display: block;
    }

    .single-product .ln-product-review-stars {
        margin-top: 5px;
    }

    .single-product .ln-product-creator-card__main {
        align-items: flex-start;
    }

    .single-product .ln-product-creator-avatar {
        width: 60px;
        height: 60px;
    }

    .single-product .ln-product-creator-stats {
        grid-template-columns: 1fr;
    }

    .single-product .ln-product-creator-stats > div + div {
        border-top: 1px solid #e7eeec;
        border-left: 0;
    }

    .single-product .ln-product-work-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }
}


/* v1.2.18: reset Storefront desktop WooCommerce tabs two-column layout */
@media (min-width: 601px) {
    .single-product .woocommerce-tabs.wc-tabs-wrapper > ul.tabs,
    .single-product .woocommerce-tabs.wc-tabs-wrapper > .panel {
        float: none !important;
        width: 100% !important;
        max-width: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .single-product .woocommerce-tabs.wc-tabs-wrapper > ul.tabs {
        overflow: visible !important;
    }

    .single-product .woocommerce-tabs.wc-tabs-wrapper > ul.tabs > li {
        flex: 1 1 0 !important;
        width: 25% !important;
        min-width: 0 !important;
    }
}


/* =========================================================
   v1.2.19: Service product experience
========================================================= */

.single-product .ln-product-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .92fr);
    gap: 34px;
    align-items: start;
    clear: both;
    margin-bottom: 24px;
}

.single-product .ln-product-hero > .images,
.single-product .ln-product-hero > .summary {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

@media (min-width: 901px) {
    .single-product .ln-product-hero > .summary {
        position: sticky;
        top: 88px;
        align-self: start;
    }
}

.single-product .summary.entry-summary .product_title {
    margin-bottom: 14px;
}

.single-product .ln-product-summary-overview {
    display: grid;
    gap: 14px;
    margin-bottom: 15px;
}

.single-product .ln-product-summary-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.single-product .ln-product-summary-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 27px;
    padding: 3px 9px;
    border-radius: 999px;
    background: #f1f4f3;
    color: #63716b;
    font-size: 10px;
    font-weight: 700;
}

.single-product .ln-product-summary-badge i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

.single-product .ln-product-summary-badge.is-open {
    background: #eaf8f0;
    color: #267549;
}

.single-product .ln-product-summary-badge.is-closed {
    background: #f8eeee;
    color: #a65050;
}

.single-product .ln-product-summary-badge.is-mode {
    background: #eef5f2;
    color: #4e7466;
}

.single-product .ln-product-summary-price {
    display: grid;
    gap: 2px;
}

.single-product .ln-product-summary-price > span {
    color: #7d8a85;
    font-size: 10px;
    font-weight: 700;
}

.single-product .ln-product-summary-price > strong,
.single-product .ln-product-summary-price .amount {
    color: #2f3c37;
    font-size: 24px;
    font-weight: 700;
}

.single-product .ln-product-summary-price .ln-estimate-base-price small {
    display: none;
}

.single-product .ln-product-summary-short {
    color: #5d6964;
    font-size: 13px;
    line-height: 1.75;
}

.single-product .ln-product-summary-short p {
    margin: 0;
}

.single-product .ln-product-summary-creator {
    display: flex;
    align-items: center;
    gap: 9px;
    padding-top: 12px;
    border-top: 1px solid #e6ecea;
}

.single-product .ln-product-summary-creator__avatar {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    overflow: hidden;
    border-radius: 50%;
    background: #eef3f1;
}

.single-product .ln-product-summary-creator__avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.single-product .ln-product-summary-creator > div {
    display: grid;
    gap: 1px;
}

.single-product .ln-product-summary-creator > div > span {
    color: #8a9691;
    font-size: 9px;
}

.single-product .ln-product-summary-creator a,
.single-product .ln-product-summary-creator strong {
    color: #42504b;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.single-product .summary.entry-summary form.cart {
    margin: 0 0 8px !important;
}

.single-product .summary.entry-summary form.cart .single_add_to_cart_button,
.single-product .ln-summary-consult-link {
    box-sizing: border-box;
    min-height: 43px;
    border-radius: 9px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.single-product .summary.entry-summary form.cart .single_add_to_cart_button {
    width: 100%;
    background: #333d39 !important;
    color: #fff !important;
}

.single-product .ln-summary-consult-link {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 7px;
    text-align: center;
}

.single-product .ln-summary-consult-link.is-primary {
    border: 1px solid #55a184 !important;
    background: #55a184 !important;
    color: #fff !important;
}

.single-product .ln-summary-consult-link.is-secondary {
    border: 1px solid #9bc5b6 !important;
    background: #fff !important;
    color: #43816a !important;
}

.single-product .ln-service-paused-message {
    border-radius: 9px;
}

/* Move consultation into a full-width section between hero and tabs. */
.single-product #linknote-request-consultation {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 8px 0 26px;
    scroll-margin-top: 86px;
}

/* Structured service details */
.single-product .ln-product-condition-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 22px;
}

.single-product .ln-product-condition-card {
    padding: 14px 15px;
    border: 1px solid #e2ebe8;
    border-radius: 11px;
    background: #fbfdfc;
}

.single-product .ln-product-condition-card--muted {
    background: #fafafa;
}

.single-product .ln-product-condition-card h3 {
    margin: 0 0 7px !important;
    color: #45534e;
    font-size: 12px !important;
}

.single-product .ln-product-condition-card > div {
    color: #68756f;
    font-size: 12px;
    line-height: 1.75;
}

.single-product .ln-product-creator-meta-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.single-product .ln-product-reply-estimate {
    color: #75827d;
    font-size: 10px;
}

/* Product editor: conditions */
.ln-store-service-condition-editor,
.ln-store-works-picker {
    box-sizing: border-box;
    width: 100%;
    margin-top: 12px;
    padding: 16px;
    border: 1px solid #d9e7e2;
    border-radius: 12px;
    background: #f7fbf9;
}

.ln-store-service-condition-editor__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.ln-store-condition-field {
    display: grid;
    gap: 6px;
    margin: 0 !important;
}

.ln-store-condition-field:nth-child(n+3) {
    grid-column: 1 / -1;
}

.ln-store-condition-field > span {
    color: #394640;
    font-size: 12px;
    font-weight: 700;
}

.ln-store-condition-field input,
.ln-store-condition-field textarea,
.ln-store-works-picker__tools input {
    box-sizing: border-box;
    width: 100%;
    border: 1px solid #d7e1de !important;
    border-radius: 8px !important;
    background: #fff !important;
}

.ln-store-condition-field input {
    min-height: 44px;
}

.ln-store-condition-field textarea {
    resize: vertical;
}

/* Works pinning */
.ln-store-works-picker__tools {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 12px;
}

.ln-store-works-picker__tools input {
    min-width: 0;
    flex: 1 1 auto;
    min-height: 42px;
}

.ln-store-works-picker__tools span {
    flex: 0 0 auto;
    color: #63726c;
    font-size: 11px;
    font-weight: 700;
}

.ln-store-works-picker__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    max-height: 560px;
    overflow: auto;
    padding: 2px;
}

.ln-store-work-option {
    position: relative;
    display: grid;
    overflow: hidden;
    margin: 0 !important;
    border: 1px solid #dfe8e5;
    border-radius: 9px;
    background: #fff;
    cursor: pointer;
}

.ln-store-work-option.is-selected {
    border-color: #55a184;
    box-shadow: 0 0 0 2px rgba(85, 161, 132, .14);
}

.ln-store-work-option > input {
    position: absolute;
    top: 7px;
    right: 7px;
    z-index: 2;
    width: 16px;
    height: 16px;
    margin: 0;
}

.ln-store-work-option__media {
    display: grid;
    aspect-ratio: 16 / 10;
    place-items: center;
    overflow: hidden;
    background: #edf3f0;
    color: #9aa6a1;
    font-size: 10px;
}

.ln-store-work-option__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ln-store-work-option__copy {
    display: grid;
    gap: 2px;
    padding: 8px;
}

.ln-store-work-option__copy strong {
    overflow: hidden;
    color: #34423d;
    font-size: 10px;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ln-store-work-option__copy small {
    overflow: hidden;
    color: #7c8984;
    font-size: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ln-store-works-picker__error {
    margin: 9px 0 0;
    color: #b24a4a;
    font-size: 11px;
}

.ln-store-editor-empty {
    padding: 15px;
    border: 1px dashed #d5e1dd;
    border-radius: 9px;
    background: #fff;
    color: #71807a;
    font-size: 12px;
    text-align: center;
}

/* Related services */
.single-product .ln-product-discovery {
    display: grid;
    gap: 34px;
    margin: 38px 0 10px;
}

.single-product .ln-product-discovery__section {
    margin: 0;
}

.single-product .ln-product-discovery__head {
    margin-bottom: 14px;
}

.single-product .ln-product-discovery__head h2 {
    margin: 0 0 4px !important;
    color: #313d39;
    font-size: 19px !important;
}

.single-product .ln-product-discovery__head p {
    margin: 0;
    color: #7b8782;
    font-size: 11px;
}

.single-product .ln-related-service-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
}

.single-product .ln-related-service-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e0e9e6;
    border-radius: 11px;
    background: #fff;
}

.single-product .ln-related-service-card__image {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f1f4f3;
}

.single-product .ln-related-service-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.single-product .ln-related-service-card__body {
    padding: 10px;
}

.single-product .ln-related-service-card__state {
    margin-bottom: 4px;
    color: #559079;
    font-size: 8px;
    font-weight: 700;
}

.single-product .ln-related-service-card h3 {
    margin: 0 0 5px !important;
    font-size: 11px !important;
    line-height: 1.5;
}

.single-product .ln-related-service-card h3 a {
    color: #35423d;
    text-decoration: none;
}

.single-product .ln-related-service-card p {
    overflow: hidden;
    margin: 0 0 8px;
    color: #7d8984;
    font-size: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.single-product .ln-related-service-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.single-product .ln-related-service-card__foot strong,
.single-product .ln-related-service-card__foot .amount {
    color: #3c4944;
    font-size: 10px;
}

.single-product .ln-related-service-card__foot > a {
    color: #4c8c74;
    font-size: 9px;
    font-weight: 700;
    text-decoration: none;
}

/* Mobile fixed CTA */
.ln-product-mobile-dock {
    display: none;
}

@media (max-width: 900px) {
    .single-product .ln-product-hero {
        display: block;
    }

    .single-product .ln-product-hero > .images {
        margin-bottom: 24px !important;
    }

    .single-product .ln-product-condition-grid {
        grid-template-columns: 1fr;
    }

    .ln-store-service-condition-editor__grid {
        grid-template-columns: 1fr;
    }

    .ln-store-condition-field:nth-child(n+3) {
        grid-column: auto;
    }

    .ln-store-works-picker__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .single-product .ln-related-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    body.single-product {
        padding-bottom: 72px;
    }

    .single-product .ln-product-summary-price > strong,
    .single-product .ln-product-summary-price .amount {
        font-size: 21px;
    }

    .ln-store-works-picker__tools {
        align-items: stretch;
        flex-direction: column;
    }

    .single-product .ln-related-service-grid {
        gap: 9px;
    }

    .ln-product-mobile-dock {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 9991;
        display: flex;
        gap: 8px;
        padding: 9px 12px calc(9px + env(safe-area-inset-bottom));
        border-top: 1px solid #dfe7e4;
        background: rgba(255, 255, 255, .97);
        box-shadow: 0 -5px 20px rgba(31, 54, 47, .08);
        backdrop-filter: blur(8px);
    }

    .ln-product-mobile-dock > * {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        flex: 1 1 0;
        border: 1px solid #55a184;
        border-radius: 9px;
        font-size: 13px;
        font-weight: 700;
        text-decoration: none;
    }

    .ln-product-mobile-dock__buy {
        background: #343e3a;
        border-color: #343e3a !important;
        color: #fff;
    }

    .ln-product-mobile-dock__consult {
        background: #55a184;
        color: #fff;
    }
}


/* =========================================================
   v1.2.20: Compact service detail facts
========================================================= */

.single-product .ln-product-facts {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0 0 18px;
}

.single-product .ln-product-facts__item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    width: auto;
    padding: 4px 9px;
    border: 1px solid #e2e9e6;
    border-radius: 999px;
    background: #f5f8f7;
}

.single-product .ln-product-facts__item dt {
    flex: 0 0 auto;
    margin: 0;
    color: #7b8883;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4;
}

.single-product .ln-product-facts__item dt::after {
    content: "：";
}

.single-product .ln-product-facts__item dd {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0;
    color: #45524d;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
}

.single-product .ln-product-facts__item dd .amount {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
}

/* 受付状況は外側のpillを使うため、内側の二重pillを解除 */
.single-product .ln-product-facts__item .ln-product-status {
    min-height: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    font-size: 10px;
}

.single-product .ln-product-facts__item .ln-product-status i {
    width: 5px;
    height: 5px;
}

.single-product .ln-product-chip-list {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 3px;
}

.single-product .ln-product-chip-list span {
    min-height: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: #477460;
    font-size: 10px;
    font-weight: 700;
}

.single-product .ln-product-chip-list span + span::before {
    content: "・";
    margin-right: 3px;
    color: #a0aaa6;
}

.single-product .ln-product-chip-list--tags span {
    background: transparent;
    color: #66736e;
}

@media (max-width: 600px) {
    .single-product .ln-product-facts {
        gap: 5px;
    }

    .single-product .ln-product-facts__item {
        max-width: 100%;
        padding: 4px 8px;
    }
}


/* =========================================================
   v1.2.21: Creator profile/settings cleanup
========================================================= */

#wcv-store-settings .ln-store-settings-heading-hidden,
#wcv-store-settings .ln-store-settings-section-hidden {
    display: none !important;
}

#wcv-store-settings.ln-store-settings-cleaned .tabs-content.active > .ln-store-settings-heading-hidden + br,
#wcv-store-settings.ln-store-settings-cleaned .tabs-content.active > .ln-store-settings-heading-hidden + hr {
    display: none !important;
}

/* LinKnoteで残す設定項目の間隔を通常のフォームとして整える */
#wcv-store-settings.ln-store-settings-cleaned .linknote-request-status-row {
    margin-top: 10px;
}

#wcv-store-settings.ln-store-settings-cleaned .linknote-request-status-row + hr {
    margin-top: 22px;
}


/* =========================================================
   v1.2.22: Compact creator profile/settings typography
========================================================= */

.ln-store-settings-page-title {
    margin: 0 0 18px !important;
    color: #303b37 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

/* WC Vendorsの実DOMをJSで識別したタブだけをコンパクト化 */
#wcv-store-settings .ln-store-settings-tabs {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: 100% !important;
    gap: 2px !important;
    margin: 0 0 24px !important;
    padding: 3px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: #f3f5f4 !important;
    box-shadow: none !important;
}

#wcv-store-settings .ln-store-settings-tab-item {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

#wcv-store-settings .ln-store-settings-tab-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    min-width: 68px !important;
    min-height: 34px !important;
    padding: 7px 12px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: transparent !important;
    color: #5b6762 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 20px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

/* WC Vendorsのactive指定がlinkまたは親のどちらに付いても対応 */
#wcv-store-settings .ln-store-settings-tab-item.active > .ln-store-settings-tab-link,
#wcv-store-settings .ln-store-settings-tab-item.is-active > .ln-store-settings-tab-link,
#wcv-store-settings .ln-store-settings-tab-link.active,
#wcv-store-settings .ln-store-settings-tab-link[aria-selected="true"] {
    background: #fff !important;
    color: #2d745a !important;
    box-shadow: 0 1px 4px rgba(45, 75, 64, .09) !important;
}

/* フォーム内の見出しを他のクリエイターダッシュボードと同程度へ */
#wcv-store-settings.ln-store-settings-cleaned h1,
#wcv-store-settings.ln-store-settings-cleaned h2 {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    color: #303b37 !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
}

#wcv-store-settings.ln-store-settings-cleaned h3,
#wcv-store-settings.ln-store-settings-cleaned h4,
#wcv-store-settings.ln-store-settings-cleaned h5,
#wcv-store-settings.ln-store-settings-cleaned h6,
#wcv-store-settings.ln-store-settings-cleaned .wcv-form-heading,
#wcv-store-settings.ln-store-settings-cleaned .wcv-section-heading {
    margin-top: 22px !important;
    margin-bottom: 12px !important;
    color: #394640 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
}

#wcv-store-settings.ln-store-settings-cleaned label {
    color: #3f4b46 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
}

#wcv-store-settings.ln-store-settings-cleaned input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
#wcv-store-settings.ln-store-settings-cleaned select,
#wcv-store-settings.ln-store-settings-cleaned textarea {
    box-sizing: border-box !important;
    min-height: 42px !important;
    padding: 8px 10px !important;
    border-radius: 7px !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}

#wcv-store-settings.ln-store-settings-cleaned textarea {
    min-height: 96px !important;
}

#wcv-store-settings.ln-store-settings-cleaned p,
#wcv-store-settings.ln-store-settings-cleaned small,
#wcv-store-settings.ln-store-settings-cleaned .description,
#wcv-store-settings.ln-store-settings-cleaned .linknote-request-status-help {
    font-size: 10px !important;
    line-height: 1.65 !important;
}

#wcv-store-settings.ln-store-settings-cleaned .control-group {
    margin-bottom: 18px !important;
}

#wcv-store-settings.ln-store-settings-cleaned hr {
    margin: 22px 0 !important;
    border-color: #e5ebe9 !important;
}

#wcv-store-settings.ln-store-settings-cleaned button,
#wcv-store-settings.ln-store-settings-cleaned .button,
#wcv-store-settings.ln-store-settings-cleaned input[type="submit"] {
    min-height: 38px !important;
    padding: 8px 15px !important;
    border-radius: 7px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

/* 依頼受付状況 + 返信目安も通常の2カラム設定として密度を揃える */
#wcv-store-settings.ln-store-settings-cleaned .linknote-request-status-row {
    margin-top: 4px !important;
}

#wcv-store-settings.ln-store-settings-cleaned .linknote-request-status-row .control-group {
    margin-bottom: 14px !important;
}

@media (max-width: 600px) {
    .ln-store-settings-page-title {
        margin-bottom: 14px !important;
        font-size: 18px !important;
    }

    #wcv-store-settings .ln-store-settings-tabs {
        display: flex !important;
        width: 100% !important;
        overflow-x: auto !important;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
    }

    #wcv-store-settings .ln-store-settings-tabs::-webkit-scrollbar {
        display: none;
    }

    #wcv-store-settings .ln-store-settings-tab-link {
        min-width: 72px !important;
        padding-right: 11px !important;
        padding-left: 11px !important;
    }

    #wcv-store-settings.ln-store-settings-cleaned h1,
    #wcv-store-settings.ln-store-settings-cleaned h2 {
        font-size: 17px !important;
    }
}


/* =========================================================
   v1.2.23: Creator profile/settings visual refinement
========================================================= */

/* タブ全体を囲っていた大きなグレー背景を廃止 */
#wcv-store-settings .ln-store-settings-tabs {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: 100% !important;
    gap: 5px !important;
    margin: 0 0 26px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#wcv-store-settings .ln-store-settings-tab-item {
    background: transparent !important;
}

#wcv-store-settings .ln-store-settings-tab-link {
    min-width: 72px !important;
    min-height: 36px !important;
    padding: 7px 13px !important;
    border: 1px solid #dde6e3 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #56645e !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 20px !important;
}

/* 選択中のみLinKnoteカラー */
#wcv-store-settings .ln-store-settings-tab-item.active > .ln-store-settings-tab-link,
#wcv-store-settings .ln-store-settings-tab-item.is-active > .ln-store-settings-tab-link,
#wcv-store-settings .ln-store-settings-tab-link.active,
#wcv-store-settings .ln-store-settings-tab-link[aria-selected="true"] {
    border-color: #b8d9cd !important;
    background: #edf8f3 !important;
    color: #257052 !important;
    box-shadow: none !important;
}

/* v1.2.22より一段だけ読みやすく */
.ln-store-settings-page-title {
    margin-bottom: 20px !important;
    font-size: 21px !important;
}

#wcv-store-settings.ln-store-settings-cleaned h1,
#wcv-store-settings.ln-store-settings-cleaned h2 {
    margin-bottom: 19px !important;
    font-size: 20px !important;
}

#wcv-store-settings.ln-store-settings-cleaned h3,
#wcv-store-settings.ln-store-settings-cleaned h4,
#wcv-store-settings.ln-store-settings-cleaned h5,
#wcv-store-settings.ln-store-settings-cleaned h6,
#wcv-store-settings.ln-store-settings-cleaned .wcv-form-heading,
#wcv-store-settings.ln-store-settings-cleaned .wcv-section-heading {
    margin-top: 24px !important;
    margin-bottom: 13px !important;
    font-size: 16px !important;
}

#wcv-store-settings.ln-store-settings-cleaned label {
    font-size: 13px !important;
}

#wcv-store-settings.ln-store-settings-cleaned input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
#wcv-store-settings.ln-store-settings-cleaned select,
#wcv-store-settings.ln-store-settings-cleaned textarea {
    min-height: 43px !important;
    padding: 9px 11px !important;
    font-size: 13px !important;
}

#wcv-store-settings.ln-store-settings-cleaned textarea {
    min-height: 102px !important;
}

#wcv-store-settings.ln-store-settings-cleaned p,
#wcv-store-settings.ln-store-settings-cleaned small,
#wcv-store-settings.ln-store-settings-cleaned .description,
#wcv-store-settings.ln-store-settings-cleaned .linknote-request-status-help {
    font-size: 11px !important;
    line-height: 1.65 !important;
}

#wcv-store-settings.ln-store-settings-cleaned button,
#wcv-store-settings.ln-store-settings-cleaned .button,
#wcv-store-settings.ln-store-settings-cleaned input[type="submit"] {
    min-height: 40px !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
}

@media (max-width: 600px) {
    .ln-store-settings-page-title {
        font-size: 19px !important;
    }

    #wcv-store-settings .ln-store-settings-tabs {
        width: 100% !important;
        gap: 4px !important;
        overflow-x: auto !important;
        padding-bottom: 2px !important;
    }

    #wcv-store-settings .ln-store-settings-tab-link {
        min-width: 76px !important;
        font-size: 12px !important;
    }

    #wcv-store-settings.ln-store-settings-cleaned h1,
    #wcv-store-settings.ln-store-settings-cleaned h2 {
        font-size: 18px !important;
    }
}


/* =========================================================
   v1.2.24: Remove residual gray tab shell
========================================================= */

#wcv-store-settings .ln-store-settings-tabs-shell {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* WC Vendors側のタブ外枠がnav自身ではなく一段外に残る場合の保険 */
#wcv-store-settings .ln-store-settings-tabs {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#wcv-store-settings .ln-store-settings-tabs::before,
#wcv-store-settings .ln-store-settings-tabs::after,
#wcv-store-settings .ln-store-settings-tabs-shell::before,
#wcv-store-settings .ln-store-settings-tabs-shell::after {
    display: none !important;
    content: none !important;
}


/* =========================================================
   v1.2.27: Top page service / creator carousels
========================================================= */

.ln-home-carousel {
    --ln-carousel-gap: 14px;
    position: relative;
    width: 100%;
    max-width: 100%;
}

.ln-home-carousel__viewport {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    padding: 4px 2px 12px;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    outline: none;
}

.ln-home-carousel__viewport::-webkit-scrollbar {
    display: none;
}

.ln-home-carousel__track {
    display: grid;
    grid-auto-flow: column;
    gap: var(--ln-carousel-gap);
    width: max-content;
    min-width: 100%;
}

.ln-home-carousel--services .ln-home-carousel__track {
    grid-auto-columns: clamp(205px, 22vw, 270px);
}

.ln-home-carousel--creators .ln-home-carousel__track {
    grid-auto-columns: clamp(190px, 20vw, 235px);
}

.ln-home-carousel__arrow {
    position: absolute;
    top: 50%;
    z-index: 4;
    display: none;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    transform: translateY(-50%);
    border: 1px solid rgba(210, 222, 218, .94);
    border-radius: 50%;
    background: rgba(255, 255, 255, .96);
    color: #40514a;
    box-shadow: 0 5px 18px rgba(36, 66, 55, .11);
    cursor: pointer;
    backdrop-filter: blur(6px);
}

.ln-home-carousel.has-overflow .ln-home-carousel__arrow {
    display: flex;
}

.ln-home-carousel__arrow--prev {
    left: -8px;
}

.ln-home-carousel__arrow--next {
    right: -8px;
}

.ln-home-carousel__arrow span {
    display: block;
    margin-top: -2px;
    font-size: 27px;
    font-weight: 300;
    line-height: 1;
}

.ln-home-carousel__arrow:hover:not(:disabled) {
    border-color: #9fcaba;
    color: #34755d;
    box-shadow: 0 7px 22px rgba(36, 85, 66, .15);
}

.ln-home-carousel__arrow:disabled {
    opacity: 0;
    pointer-events: none;
}

/* Service */
.ln-home-service-card {
    box-sizing: border-box;
    overflow: hidden;
    scroll-snap-align: start;
    border: 1px solid #e0e9e6;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 3px 13px rgba(38, 68, 58, .035);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.ln-home-service-card:hover {
    transform: translateY(-2px);
    border-color: #c8ddd5;
    box-shadow: 0 8px 22px rgba(38, 68, 58, .08);
}

.ln-home-service-card__media {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #eff4f2;
}

.ln-home-service-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}

.ln-home-service-card:hover .ln-home-service-card__media img {
    transform: scale(1.025);
}

.ln-home-service-card__status {
    position: absolute;
    top: 9px;
    left: 9px;
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .93);
    color: #69756f;
    font-size: 9px;
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(28, 54, 45, .08);
    backdrop-filter: blur(5px);
}

.ln-home-service-card__status.is-open {
    color: #28764c;
}

.ln-home-service-card__status.is-closed {
    color: #a05050;
}

.ln-home-service-card__body {
    padding: 11px 12px 12px;
}

.ln-home-service-card__mode {
    margin-bottom: 4px;
    color: #559079;
    font-size: 9px;
    font-weight: 700;
}

.ln-home-service-card h3 {
    display: -webkit-box;
    min-height: 3em;
    overflow: hidden;
    margin: 0 0 8px !important;
    color: #34423d;
    font-size: 13px !important;
    font-weight: 700;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ln-home-service-card h3 a {
    color: inherit;
    text-decoration: none;
}

.ln-home-service-card__creator {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    margin-bottom: 11px;
}

.ln-home-service-card__creator-avatar {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    overflow: hidden;
    border-radius: 50%;
    background: #eef3f1;
}

.ln-home-service-card__creator-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ln-home-service-card__creator-name {
    overflow: hidden;
    min-width: 0;
    color: #697670;
    font-size: 10px;
    font-weight: 600;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ln-home-service-card__creator-name:hover {
    color: #3f7d66;
}

.ln-home-service-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-top: 9px;
    border-top: 1px solid #edf1f0;
}

.ln-home-service-card__foot strong,
.ln-home-service-card__foot .amount {
    color: #34413c;
    font-size: 12px;
    font-weight: 700;
}

.ln-home-service-card__foot > a {
    display: grid;
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: #eef6f3;
    color: #47806a;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

/* Creator */
.ln-home-creator-card {
    box-sizing: border-box;
    min-height: 100%;
    padding: 13px;
    scroll-snap-align: start;
    border: 1px solid #dfe8e5;
    border-radius: 14px;
    background:
        radial-gradient(circle at 82% 9%, rgba(95, 169, 140, .10), transparent 32%),
        #fff;
    box-shadow: 0 3px 13px rgba(38, 68, 58, .035);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.ln-home-creator-card:hover {
    transform: translateY(-2px);
    border-color: #c8ddd5;
    box-shadow: 0 8px 22px rgba(38, 68, 58, .08);
}

.ln-home-creator-card__top {
    display: flex;
    justify-content: flex-end;
    min-height: 24px;
    margin-bottom: 3px;
}

.ln-home-creator-card__status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 23px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #f1f4f3;
    color: #69756f;
    font-size: 9px;
    font-weight: 700;
}

.ln-home-creator-card__status i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
}

.ln-home-creator-card__status--available {
    background: #eaf8f0;
    color: #27774c;
}

.ln-home-creator-card__status--consulting {
    background: #eef6fb;
    color: #367590;
}

.ln-home-creator-card__status--closed {
    background: #f8eeee;
    color: #a05050;
}

.ln-home-creator-card__avatar {
    display: block;
    width: 76px;
    height: 76px;
    overflow: hidden;
    margin: 0 auto 10px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #edf3f0;
    box-shadow: 0 3px 12px rgba(38, 68, 58, .10);
}

.ln-home-creator-card__avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ln-home-creator-card__identity {
    display: grid;
    gap: 1px;
    min-width: 0;
    margin-bottom: 8px;
    text-align: center;
}

.ln-home-creator-card__name {
    overflow: hidden;
    color: #34413c;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ln-home-creator-card__handle {
    overflow: hidden;
    color: #87938e;
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ln-home-creator-card__intro {
    display: -webkit-box;
    min-height: 3.1em;
    overflow: hidden;
    margin: 0 0 12px;
    color: #68756f;
    font-size: 10px;
    line-height: 1.55;
    text-align: center;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ln-home-creator-card__intro.is-empty {
    visibility: hidden;
}

.ln-home-creator-card__links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
}

.ln-home-creator-card__links a,
.ln-home-creator-card__links span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 31px;
    padding: 4px 4px;
    border: 1px solid #d9e4e0;
    border-radius: 8px;
    color: #61736c;
    font-size: 9px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.ln-home-creator-card__links a:hover {
    border-color: #a8cdbf;
    background: #f5faf8;
    color: #39775f;
}

.ln-home-creator-card__links .is-primary {
    border-color: #5a9f85;
    background: #5a9f85;
    color: #fff;
}

.ln-home-creator-card__links a.is-primary:hover {
    background: #4a896f;
    color: #fff;
}

.ln-home-creator-card__links .is-disabled {
    opacity: .42;
}

@media (max-width: 900px) {
    .ln-home-carousel--services .ln-home-carousel__track {
        grid-auto-columns: clamp(195px, 34vw, 250px);
    }

    .ln-home-carousel--creators .ln-home-carousel__track {
        grid-auto-columns: clamp(185px, 31vw, 225px);
    }

    .ln-home-carousel__arrow--prev {
        left: 2px;
    }

    .ln-home-carousel__arrow--next {
        right: 2px;
    }
}

@media (max-width: 600px) {
    .ln-home-carousel {
        --ln-carousel-gap: 10px;
    }

    .ln-home-carousel__viewport {
        margin-right: -14px;
        padding-right: 14px;
        scroll-padding-left: 0;
    }

    .ln-home-carousel--services .ln-home-carousel__track {
        grid-auto-columns: min(74vw, 245px);
    }

    .ln-home-carousel--creators .ln-home-carousel__track {
        grid-auto-columns: min(67vw, 218px);
    }

    .ln-home-carousel__arrow {
        display: none !important;
    }

    .ln-home-service-card__body {
        padding: 10px 11px 11px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ln-home-carousel__viewport {
        scroll-behavior: auto;
    }

    .ln-home-service-card,
    .ln-home-creator-card,
    .ln-home-service-card__media img {
        transition: none;
    }
}


/* =========================================================
   v1.2.28: Compact top-page carousels
   サービス一覧と近いカード密度へ調整
========================================================= */

.ln-home-carousel {
    --ln-carousel-gap: 11px;
}

.ln-home-carousel--services .ln-home-carousel__track {
    grid-auto-columns: clamp(165px, 18vw, 195px);
}

.ln-home-carousel--creators .ln-home-carousel__track {
    grid-auto-columns: clamp(160px, 17vw, 185px);
}

/* Service card */
.ln-home-service-card {
    border-radius: 11px;
}

.ln-home-service-card__status {
    top: 7px;
    left: 7px;
    min-height: 21px;
    padding: 1px 7px;
    font-size: 8px;
}

.ln-home-service-card__body {
    padding: 9px 10px 10px;
}

.ln-home-service-card__mode {
    margin-bottom: 3px;
    font-size: 8px;
}

.ln-home-service-card h3 {
    min-height: 2.9em;
    margin-bottom: 6px !important;
    font-size: 11px !important;
    line-height: 1.45;
}

.ln-home-service-card__creator {
    gap: 5px;
    margin-bottom: 8px;
}

.ln-home-service-card__creator-avatar {
    width: 21px;
    height: 21px;
}

.ln-home-service-card__creator-name {
    font-size: 9px;
}

.ln-home-service-card__foot {
    padding-top: 7px;
}

.ln-home-service-card__foot strong,
.ln-home-service-card__foot .amount {
    font-size: 10px;
}

.ln-home-service-card__foot > a {
    width: 24px;
    height: 24px;
    font-size: 11px;
}

/* Creator card */
.ln-home-creator-card {
    padding: 10px;
    border-radius: 11px;
}

.ln-home-creator-card__top {
    min-height: 21px;
    margin-bottom: 2px;
}

.ln-home-creator-card__status {
    min-height: 20px;
    padding: 1px 7px;
    font-size: 8px;
}

.ln-home-creator-card__avatar {
    width: 62px;
    height: 62px;
    margin-bottom: 8px;
}

.ln-home-creator-card__name {
    font-size: 11px;
}

.ln-home-creator-card__handle {
    font-size: 8px;
}

.ln-home-creator-card__intro {
    min-height: 2.9em;
    margin-bottom: 9px;
    font-size: 9px;
    line-height: 1.45;
}

.ln-home-creator-card__links {
    gap: 4px;
}

.ln-home-creator-card__links a,
.ln-home-creator-card__links span {
    min-height: 28px;
    padding: 3px;
    border-radius: 7px;
    font-size: 8px;
}

/* Carousel controls also slightly smaller */
.ln-home-carousel__arrow {
    width: 34px;
    height: 34px;
}

.ln-home-carousel__arrow span {
    font-size: 24px;
}

/* Medium screens */
@media (max-width: 1100px) {
    .ln-home-carousel--services .ln-home-carousel__track {
        grid-auto-columns: clamp(160px, 21vw, 190px);
    }

    .ln-home-carousel--creators .ln-home-carousel__track {
        grid-auto-columns: clamp(155px, 20vw, 180px);
    }
}

@media (max-width: 900px) {
    .ln-home-carousel--services .ln-home-carousel__track {
        grid-auto-columns: clamp(160px, 29vw, 185px);
    }

    .ln-home-carousel--creators .ln-home-carousel__track {
        grid-auto-columns: clamp(150px, 27vw, 175px);
    }
}

/* Smartphone: small but still touch-friendly */
@media (max-width: 600px) {
    .ln-home-carousel {
        --ln-carousel-gap: 9px;
    }

    .ln-home-carousel--services .ln-home-carousel__track {
        grid-auto-columns: min(58vw, 190px);
    }

    .ln-home-carousel--creators .ln-home-carousel__track {
        grid-auto-columns: min(54vw, 175px);
    }

    .ln-home-service-card__body {
        padding: 8px 9px 9px;
    }

    .ln-home-service-card h3 {
        font-size: 10.5px !important;
    }
}


/* =========================================================
   v1.2.33: Creator 「依頼・注文」
   WC Vendors Pro 2.0.8 実DOMに合わせた幅・フィルター・キャンセル注文表示
========================================================= */

/* LinKnote独自サイドメニューの内側に、WC Vendorsの空25%カラムが残るのを解消 */
body.linknote-creator-dashboard-page.wcvendors-order-page
.linknote-creator-dashboard-main .wcv-dashboard-nav-wrapper {
    display: block !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
.linknote-creator-dashboard-main .wcv-dashboard-nav-wrapper > .all-25:first-child {
    display: none !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
.linknote-creator-dashboard-main .wcv-dashboard-nav-wrapper > .wcv-main-content {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page .wcv-order-header {
    margin-bottom: 16px !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page .wcv-order-table-order-count {
    margin-bottom: 10px !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page .quick-link-wrapper {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px 14px;
    align-items: center;
}

body.linknote-creator-dashboard-page.wcvendors-order-page .quick-link-btn {
    margin: 0 !important;
}

/* 1段目: 開始日 / 終了日 / 注文状況 */
body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-order-header form > .wcv-filter-wrapper > .all-100:first-child > .wcv-cols-group {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    gap: 12px;
    margin: 0 !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-order-header form > .wcv-filter-wrapper > .all-100:first-child > .wcv-cols-group > div {
    float: none !important;
    width: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* 2段目: 検索条件 / ワード検索 / 操作 */
body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-order-header form > .wcv-filter-wrapper > .all-100.wcv-gap-bottom {
    margin: 10px 0 0 !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-order-header form > .wcv-filter-wrapper > .all-100.wcv-gap-bottom > .wcv-filter-wrapper {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    gap: 12px;
    align-items: end;
    margin: 0 !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-order-header form > .wcv-filter-wrapper > .all-100.wcv-gap-bottom > .wcv-filter-wrapper > div {
    float: none !important;
    width: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 0 !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page .wcv-order-header .control-group {
    margin-bottom: 0 !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page .wcv-order-header label {
    display: block;
    margin-bottom: 5px !important;
    font-size: 13px;
    line-height: 1.4;
}

/* WC Vendors独自multi-selectを、注文状況だけ単一選択のnative selectへ置換 */
body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-select-container[data-id="_wcv_order_status_input"] {
    display: none !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page #_wcv_order_status_input {
    display: block !important;
    width: 100% !important;
    min-width: 0;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 34px 0 12px !important;
    border: 1px solid #d8dee2 !important;
    border-radius: 8px !important;
    background-color: #fff !important;
    color: #333 !important;
    font-size: 14px !important;
    line-height: 40px !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page .wcv-order-header input[type="text"],
body.linknote-creator-dashboard-page.wcvendors-order-page .wcv-order-header .wcv-select-container {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    min-height: 42px !important;
    box-sizing: border-box !important;
}

/* v1.2.34: すべての検索フォームを「注文状況」と同じ見た目・サイズへ統一 */
body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-order-header .wcv-datepicker-wrapper {
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    box-sizing: border-box !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-order-header .wcv-datepicker-wrapper input {
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    box-sizing: border-box !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-select-container[data-id="wcv_order_search_filter"] {
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    box-sizing: border-box !important;
}

/* ワード検索は検索ボタンを入力欄内右端へ重ね、入力欄自体の幅を他フォームと揃える */
body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-order-header .wcv-search-box-wrapper {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 42px !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-order-header .wcv-search-box-wrapper > .control-group {
    display: block !important;
    width: 100% !important;
    height: 42px !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
#wcv_order_search_input {
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    padding-right: 64px !important;
    box-sizing: border-box !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
#order_search_button {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 2;
    width: 58px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border: 0 !important;
    border-left: 1px solid #e4e8eb !important;
    border-radius: 0 8px 8px 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    justify-content: center !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-order-header #update_button,
body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-order-header #clear_button {
    min-height: 42px;
}

/* 注文詳細: 空の顧客情報ブロックが作る余白を抑える */
body.linknote-creator-dashboard-page.wcvendors-order-page
[id^="order-details-modal-"] .wcv-order-items-details {
    margin-left: 0 !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page .ln-unpaid-cancelled-order-note {
    margin: 0 0 14px !important;
    padding: 10px 12px;
    border: 1px solid #f0dfab;
    border-radius: 8px;
    background: #fff9e7;
    color: #705b1f;
    font-size: 13px;
    line-height: 1.6;
}

body.linknote-creator-dashboard-page.wcvendors-order-page .ln-order-fallback-item .wcv-order-thumb img,
body.linknote-creator-dashboard-page.wcvendors-order-page .ln-order-fallback-mobile .wcv-order-thumb img {
    display: block;
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 8px;
}

body.linknote-creator-dashboard-page.wcvendors-order-page .ln-order-fallback-item td.name a,
body.linknote-creator-dashboard-page.wcvendors-order-page .ln-order-fallback-mobile h3 a {
    color: inherit;
    text-decoration: none;
}

body.linknote-creator-dashboard-page.wcvendors-order-page .ln-order-fallback-mobile {
    margin: 14px 0 !important;
    padding: 14px !important;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 12px;
}

body.linknote-creator-dashboard-page.wcvendors-order-page .ln-order-fallback-thumb,
body.linknote-creator-dashboard-page.wcvendors-order-page .ln-order-fallback-copy {
    padding-left: 0 !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page .ln-order-fallback-divider {
    height: 1px;
    margin: 12px 0;
    background: rgba(0,0,0,.10);
}

body.linknote-creator-dashboard-page.wcvendors-order-page .ln-order-fallback-subtotal {
    padding-left: 0 !important;
}

@media (max-width: 900px) {
    body.linknote-creator-dashboard-page.wcvendors-order-page
    .wcv-order-header form > .wcv-filter-wrapper > .all-100:first-child > .wcv-cols-group {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.linknote-creator-dashboard-page.wcvendors-order-page
    .wcv-order-header form > .wcv-filter-wrapper > .all-100.wcv-gap-bottom > .wcv-filter-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.linknote-creator-dashboard-page.wcvendors-order-page
    .wcv-order-header form > .wcv-filter-wrapper > .all-100.wcv-gap-bottom > .wcv-filter-wrapper > div:last-child {
        grid-column: 1 / -1;
        justify-content: flex-start !important;
    }
}

@media (max-width: 600px) {
    body.linknote-creator-dashboard-page.wcvendors-order-page
    .wcv-order-header form > .wcv-filter-wrapper > .all-100:first-child > .wcv-cols-group,
    body.linknote-creator-dashboard-page.wcvendors-order-page
    .wcv-order-header form > .wcv-filter-wrapper > .all-100.wcv-gap-bottom > .wcv-filter-wrapper {
        grid-template-columns: 1fr;
    }

    body.linknote-creator-dashboard-page.wcvendors-order-page
    .wcv-order-header form > .wcv-filter-wrapper > .all-100.wcv-gap-bottom > .wcv-filter-wrapper > div:last-child {
        grid-column: auto;
    }
}


/* v1.2.35: 注文検索UIの文字位置だけ微調整 */

/* 「検索条件」: 選択中の文字を高さ42pxの中央へ */
body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-select-container[data-id="wcv_order_search_filter"] .wcv-select-placeholder {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 34px 0 12px !important;
    box-sizing: border-box !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

/* 「検索条件」: 開いた候補の文字も縦中央へ */
body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-select-container[data-id="wcv_order_search_filter"] .wcv-select-item {
    min-height: 40px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-select-container[data-id="wcv_order_search_filter"] .wcv-select-item > span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

/* ワード検索の「検索」をアイコンと同じ行に収める */
body.linknote-creator-dashboard-page.wcvendors-order-page
#order_search_button {
    width: 66px !important;
    padding: 0 7px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 3px !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
#order_search_button .wcv-icon {
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    flex: 0 0 15px !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
#order_search_button span {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* 検索ボタンを少し広げた分だけ入力欄の右余白を合わせる */
body.linknote-creator-dashboard-page.wcvendors-order-page
#wcv_order_search_input {
    padding-right: 72px !important;
}


/* v1.2.36: 「検索条件」を「注文状況」と同じnative select表示へ統一 */
body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-select-container[data-id="wcv_order_search_filter"] {
    display: none !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
#wcv_order_search_filter {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 34px 0 12px !important;
    box-sizing: border-box !important;
    border: 1px solid #d8dee2 !important;
    border-radius: 8px !important;
    background-color: #fff !important;
    color: #333 !important;
    font-size: 14px !important;
    line-height: 40px !important;
}


/* v1.2.40: WC Vendorsの返金ボタン値は英語のまま保持し、日本語ラベルだけ重ねる */
body.linknote-creator-dashboard-page.wcvendors-order-page .ln-refund-submit-wrap {
    position: relative;
    display: inline-flex;
    align-items: stretch;
    vertical-align: middle;
}

body.linknote-creator-dashboard-page.wcvendors-order-page .ln-refund-submit-native {
    color: transparent !important;
    text-shadow: none !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page .ln-refund-submit-label {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    color: #fff;
    font: inherit;
    font-weight: inherit;
    line-height: 1.2;
    white-space: nowrap;
    pointer-events: none;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
.ln-refund-submit-native:disabled + .ln-refund-submit-label {
    opacity: .6;
}


/* v1.2.43: LinKnote返金UIを金額ベースへ簡略化 */
body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-modal .ln-refund-hide-qty {
    display: none !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-modal .ln-refund-guide {
    margin: 8px 0 14px !important;
    padding: 10px 12px !important;
    border-radius: 8px !important;
    background: #f5f8ff !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-modal input.refund_line_total,
body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-modal input[name^="refund_line_total["] {
    width: 100% !important;
    min-width: 88px !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-modal input.ln-refund-amount-invalid {
    border-color: #d63638 !important;
    box-shadow: 0 0 0 1px #d63638 !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-modal .ln-refund-validation-message {
    margin: 8px 0 0 !important;
    color: #b32d2e !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-modal .ln-refund-submit-native:disabled + .ln-refund-submit-label {
    opacity: .55 !important;
}


/* v1.2.44: 返金額セルは入力欄だけを表示 */
body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-modal .ln-refund-original-amount-hidden {
    display: none !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-modal .ln-refund-amount-cell {
    vertical-align: middle !important;
}

body.linknote-creator-dashboard-page.wcvendors-order-page
.wcv-modal .ln-refund-amount-cell input {
    margin-top: 0 !important;
}


/* v1.2.48: WC Vendors標準のクリエイター初期設定案内を一旦非表示 */
body.linknote-creator-dashboard-root .ln-store-wcv-setup-hidden {
    display: none !important;
}

/* =========================================================
   v1.2.49: Store breadcrumbs removal + top spacing cleanup
========================================================= */

/*
 * 通常はPHP側で出力そのものを停止する。
 * テーマ/拡張機能が別経路で出力した場合のフォールバックとしても隠す。
 */
body.ln-store-no-breadcrumbs .storefront-breadcrumb,
body.ln-store-no-breadcrumbs nav.woocommerce-breadcrumb,
body.ln-store-no-breadcrumbs .woocommerce-breadcrumb {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    border: 0 !important;
}

/* パンくず用に残るテーマ側の外余白を持ち越さない。 */
body.ln-store-no-breadcrumbs #content.site-content,
body.ln-store-no-breadcrumbs .site-content {
    margin-top: 0 !important;
}

/*
 * 外側タイトルも非表示にしている管理系ページは、パンくず削除後に
 * メガメニューへ密着しすぎない程度の最小余白だけを確保する。
 */
body.ln-store-no-breadcrumbs.ln-store-hide-page-title #content.site-content {
    padding-top: 22px !important;
}

@media (max-width: 767px) {
    body.ln-store-no-breadcrumbs.ln-store-hide-page-title #content.site-content {
        padding-top: 16px !important;
    }
}

/* =========================================================
   v1.2.50: Service / creator search filters
   ========================================================= */
.ln-store-filter-panel {
    margin: 0 0 24px;
    padding: 18px;
    border: 1px solid #e2e9e6;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 18px rgba(36, 49, 46, .045);
}

.ln-store-filter-form {
    margin: 0;
}

.ln-store-filter-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1.45fr) repeat(3, minmax(150px, .85fr));
    gap: 12px;
    align-items: end;
}

.ln-store-filter-field {
    display: grid;
    gap: 6px;
    min-width: 0;
    margin: 0;
}

.ln-store-filter-field > span {
    color: #5d6965;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
}

.ln-store-filter-field input[type="search"],
.ln-store-filter-field select {
    width: 100%;
    height: 42px;
    min-height: 42px;
    margin: 0;
    padding: 8px 34px 8px 11px;
    border: 1px solid #dce5e2;
    border-radius: 9px;
    background-color: #f9fbfa;
    color: #27332f;
    box-shadow: none;
    font-size: 13px;
    line-height: 1.35;
    box-sizing: border-box;
}

.ln-store-filter-field input[type="search"] {
    padding-right: 11px;
}

.ln-store-filter-field input[type="search"]:focus,
.ln-store-filter-field select:focus {
    border-color: #23bfa5;
    background-color: #fff;
    outline: 2px solid rgba(35, 191, 165, .11);
}

.ln-store-filter-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 14px;
}

.ln-store-filter-submit {
    min-height: 38px;
    margin: 0;
    padding: 8px 16px;
    border: 1px solid #21b98a;
    border-radius: 9px;
    background: #21b98a;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    cursor: pointer;
}

.ln-store-filter-submit:hover,
.ln-store-filter-submit:focus {
    border-color: #169b78;
    background: #169b78;
    color: #fff;
}

.ln-store-filter-reset {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 7px 10px;
    color: #65716d;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

.ln-store-filter-reset:hover,
.ln-store-filter-reset:focus {
    color: #169b78;
    text-decoration: none;
}

.ln-store-filter-result {
    margin-left: auto;
    color: #7a8581;
    font-size: 11px;
    font-weight: 600;
}

/* Service search replaces the old acceptance pills + duplicate WooCommerce ordering. */
.ln-store-service-archive .ln-store-service-search {
    margin-top: 0;
    margin-bottom: 16px;
}

.ln-store-service-archive .woocommerce-ordering {
    display: none !important;
}

.ln-store-service-archive .woocommerce-result-count {
    float: none !important;
    width: auto !important;
    margin: 0 0 16px !important;
    color: #7a8581;
    font-size: 11px;
}

/* Creator filters use the same visual system as service search. */
.ln-creator-directory__filters {
    margin-bottom: 24px;
}

.ln-creator-directory__filter-actions .ln-creator-directory__view {
    margin-left: 0;
}

.ln-creator-directory__filter-actions .ln-store-filter-result + .ln-creator-directory__view {
    margin-left: 0;
}

@media (max-width: 980px) {
    .ln-store-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .ln-store-filter-field--keyword {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .ln-store-filter-panel {
        padding: 14px;
        border-radius: 12px;
    }
    .ln-store-filter-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .ln-store-filter-field--keyword {
        grid-column: auto;
    }
    .ln-store-filter-actions {
        align-items: stretch;
    }
    .ln-store-filter-submit {
        flex: 1 1 100%;
        justify-content: center;
    }
    .ln-store-filter-result {
        width: 100%;
        margin-left: 0;
    }
}

/* =========================================================
   v1.2.51: Store top unified service / creator search
   ========================================================= */

/* v1.2.52: Storefrontの標準ヘッダー検索はStore全体で使用しない。
   PHP側で出力停止したうえで、子テーマ等の別経路出力にだけCSSフォールバックを適用。 */
.site-header .site-search,
.site-header .woocommerce-product-search,
#masthead .site-search,
#masthead .woocommerce-product-search {
    display: none !important;
}

.ln-store-home-search {
    position: relative;
    z-index: 15;
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    padding: 18px;
    border: 1px solid #e1e9e6;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 34px rgba(36, 49, 46, .07);
    box-sizing: border-box;
}

.ln-store-home-search__tabs {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 0 0 12px;
    padding: 4px;
    border-radius: 999px;
    background: #f3f7f5;
}

.ln-store-home-search__tabs button {
    min-height: 34px;
    margin: 0;
    padding: 7px 14px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    box-shadow: none;
    color: #66736f;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.ln-store-home-search__tabs button:hover,
.ln-store-home-search__tabs button:focus {
    background: #eaf7f2;
    color: #168c6b;
    outline: none;
}

.ln-store-home-search__tabs button.is-active {
    background: #fff;
    color: #159b76;
    box-shadow: 0 1px 5px rgba(42, 69, 60, .09);
}

.ln-store-home-search__box {
    position: relative;
}

.ln-store-home-search__form {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    width: 100%;
    margin: 0;
}

.ln-store-home-search__icon {
    position: absolute;
    top: 50%;
    left: 16px;
    z-index: 2;
    display: inline-flex;
    color: #899590;
    transform: translateY(-50%);
    pointer-events: none;
}

.ln-store-home-search__form input[type="search"] {
    width: 100%;
    min-width: 0;
    height: 56px;
    min-height: 56px;
    margin: 0;
    padding: 0 18px 0 48px;
    border: 1px solid #d8e3df;
    border-right: 0;
    border-radius: 13px 0 0 13px;
    background: #fbfcfc;
    color: #26332f;
    box-shadow: none;
    font-size: 15px;
    line-height: 1.4;
    box-sizing: border-box;
}

.ln-store-home-search__form input[type="search"]::placeholder {
    color: #929c98;
}

.ln-store-home-search__form input[type="search"]:focus {
    z-index: 1;
    border-color: #25bfa0;
    background: #fff;
    outline: 3px solid rgba(37, 191, 160, .10);
}

.ln-store-home-search__submit {
    min-width: 92px;
    height: 56px;
    min-height: 56px;
    margin: 0;
    padding: 0 20px;
    border: 1px solid #20b98c;
    border-radius: 0 13px 13px 0;
    background: #20b98c;
    box-shadow: none;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}

.ln-store-home-search__submit:hover,
.ln-store-home-search__submit:focus {
    border-color: #14966f;
    background: #14966f;
    color: #fff;
    outline: none;
}

.ln-store-home-search__categories {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 13px;
}

.ln-store-home-search__categories-label {
    flex: 0 0 auto;
    padding-top: 5px;
    color: #7b8783;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
}

.ln-store-home-search__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.ln-store-home-search__chips a {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 4px 10px;
    border: 1px solid #dfe9e5;
    border-radius: 999px;
    background: #f8fbfa;
    color: #586660;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    transition: border-color .16s ease, background-color .16s ease, color .16s ease;
}

.ln-store-home-search__chips a:hover,
.ln-store-home-search__chips a:focus {
    border-color: #bfe8db;
    background: #edfaf5;
    color: #168e6c;
    text-decoration: none;
}

.ln-store-home-search__results {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 50;
    max-height: min(620px, 70vh);
    overflow-x: hidden;
    overflow-y: auto;
    padding: 8px 0;
    border: 1px solid #dfe7e4;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(34, 52, 46, .16);
}

.ln-store-home-search__results[hidden] {
    display: none !important;
}

.ln-store-home-search__result-section + .ln-store-home-search__result-section {
    margin-top: 5px;
    padding-top: 5px;
    border-top: 1px solid #edf1ef;
}

.ln-store-home-search__result-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 14px 7px;
}

.ln-store-home-search__result-heading > strong {
    color: #35423e;
    font-size: 11px;
    font-weight: 800;
}

.ln-store-home-search__result-heading > a {
    color: #168f6d;
    font-size: 10px;
    font-weight: 700;
    text-decoration: none;
}

.ln-store-home-search__result-list {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.ln-store-home-search__result-list > li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.ln-store-home-search__service-result,
.ln-store-home-search__creator-result {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 62px;
    padding: 7px 14px;
    color: #27332f;
    text-decoration: none;
    transition: background-color .14s ease;
}

.ln-store-home-search__service-result:hover,
.ln-store-home-search__service-result:focus,
.ln-store-home-search__creator-result:hover,
.ln-store-home-search__creator-result:focus {
    background: #f5fbf8;
    color: #27332f;
    text-decoration: none;
    outline: none;
}

.ln-store-home-search__service-image {
    flex: 0 0 54px;
    width: 54px;
    height: 54px;
    overflow: hidden;
    border: 1px solid #e6ece9;
    border-radius: 9px;
    background: #f6f8f7;
}

.ln-store-home-search__service-image img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    object-fit: cover;
}

.ln-store-home-search__creator-avatar {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    overflow: hidden;
    border: 1px solid #e4ebe8;
    border-radius: 50%;
    background: #f5f8f7;
}

.ln-store-home-search__creator-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    object-fit: cover;
}

.ln-store-home-search__result-main {
    display: grid;
    gap: 3px;
    min-width: 0;
    flex: 1 1 auto;
}

.ln-store-home-search__result-main strong {
    overflow: hidden;
    color: #27332f;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ln-store-home-search__result-main small {
    overflow: hidden;
    color: #7b8783;
    font-size: 9px;
    font-weight: 500;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ln-store-home-search__result-side {
    display: grid;
    justify-items: end;
    gap: 5px;
    flex: 0 0 auto;
}

.ln-store-home-search__price {
    color: #35413d;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.ln-store-home-search__price .amount {
    font-size: inherit;
}

.ln-store-home-search__mini-status {
    display: inline-flex;
    align-items: center;
    min-height: 21px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #f0f3f2;
    color: #68746f;
    font-size: 8px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.ln-store-home-search__mini-status.is-open,
.ln-store-home-search__mini-status--available {
    background: #e9f9f2;
    color: #14835f;
}

.ln-store-home-search__mini-status--consulting {
    background: #eef5ff;
    color: #3973a9;
}

.ln-store-home-search__mini-status.is-closed,
.ln-store-home-search__mini-status--closed {
    background: #f3f4f4;
    color: #7b8380;
}

.ln-store-home-search__empty,
.ln-store-home-search__message,
.ln-store-home-search__loading {
    margin: 0 !important;
    padding: 14px;
    color: #7a8581;
    font-size: 11px;
    line-height: 1.55;
}

.ln-store-home-search__message.is-error {
    color: #a44747;
}

.ln-store-home-search__loading {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ln-store-home-search__loading > span {
    width: 13px;
    height: 13px;
    border: 2px solid #d7e8e2;
    border-top-color: #1faf87;
    border-radius: 50%;
    animation: ln-store-search-spin .7s linear infinite;
}

@keyframes ln-store-search-spin {
    to { transform: rotate(360deg); }
}

@media (max-width: 680px) {
    .ln-store-home-search {
        padding: 14px;
        border-radius: 15px;
    }

    .ln-store-home-search__tabs {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        width: 100%;
        box-sizing: border-box;
    }

    .ln-store-home-search__tabs button {
        padding-left: 8px;
        padding-right: 8px;
        font-size: 11px;
    }

    .ln-store-home-search__form input[type="search"] {
        height: 52px;
        min-height: 52px;
        padding-left: 43px;
        font-size: 13px;
    }

    .ln-store-home-search__icon {
        left: 14px;
    }

    .ln-store-home-search__submit {
        min-width: 70px;
        height: 52px;
        min-height: 52px;
        padding: 0 13px;
        font-size: 12px;
    }

    .ln-store-home-search__categories {
        display: block;
    }

    .ln-store-home-search__categories-label {
        display: block;
        margin-bottom: 6px;
        padding-top: 0;
    }

    .ln-store-home-search__results {
        left: 0;
        right: 0;
        max-height: min(560px, 68vh);
    }

    .ln-store-home-search__service-result,
    .ln-store-home-search__creator-result {
        gap: 9px;
        padding: 8px 11px;
    }

    .ln-store-home-search__service-image {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
    }

    .ln-store-home-search__creator-avatar {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
    }

    .ln-store-home-search__result-side .ln-store-home-search__mini-status {
        display: none;
    }

    .ln-store-home-search__result-main strong {
        font-size: 11px;
    }

    .ln-store-home-search__result-heading {
        padding-left: 11px;
        padding-right: 11px;
    }
}

/* v1.2.57: creator browsing, with one responsive filter form. */
.ln-creator-directory { display:grid; grid-template-columns:240px minmax(0,1fr); gap:24px; align-items:start; }
.ln-creator-directory__filters { min-width:0; margin:0; }
.ln-creator-directory__filters > summary { cursor:pointer; font-weight:600; padding:12px; }
.ln-creator-directory__filters .ln-store-filter-grid { display:grid; grid-template-columns:minmax(0,1fr); }
.ln-creator-directory__filters .ln-store-filter-field { grid-column:auto; min-width:0; }
.ln-creator-directory__filters .ln-store-filter-actions { flex-wrap:wrap; }
.ln-creator-directory__results { min-width:0; }
.ln-creator-directory__results-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.ln-creator-directory__results .ln-creator-directory__cards[data-view="grid"] { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (min-width:901px) {
    .ln-creator-directory__filters > summary { display:none; }
}
@media (max-width:900px) {
    .ln-creator-directory { grid-template-columns:minmax(0,1fr); gap:16px; }
    .ln-creator-directory__filters { padding:0; }
    .ln-creator-directory__filters > form { padding:0 14px 14px; }
    .ln-creator-directory__results .ln-creator-directory__cards[data-view="grid"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
    .ln-creator-directory__results .ln-creator-directory__cards[data-view="grid"] { grid-template-columns:minmax(0,1fr); }
}
