/* Medicine.shop — premium Japanese editorial presentation layer. */
:root {
    --jp-paper: #faf8f3;
    --jp-white: #fffefa;
    --jp-ink: #20201e;
    --jp-body: #42413d;
    --jp-muted: #77736c;
    --jp-line: #d8d3ca;
    --jp-sand: #eee9df;
    --jp-red: #9f3028;
    --jp-red-dark: #76221d;
    --jp-green: #3f5c4d;
    --jp-content: 100%;
    --jp-reading: 720px;
    --jp-serif: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", Georgia, serif;
    --jp-sans: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, system-ui, sans-serif;
}

html { scroll-behavior: smooth; }
body {
    overflow-x: clip;
    margin: 0;
    color: var(--jp-body);
    background: var(--jp-paper);
    font-family: var(--jp-sans);
    font-size: 16px;
    line-height: 1.85;
    letter-spacing: .01em;
    -webkit-font-smoothing: antialiased;
}
body :where(h1,h2,h3,h4,h5,h6) {
    color: var(--jp-ink);
    font-family: var(--jp-serif);
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: .035em;
    text-wrap: balance;
}
body :where(a,button,input,select,textarea) { font-family: inherit; }
body a { color: var(--jp-ink); text-underline-offset: .2em; }
body img { height: auto; }
body :where(a,button,input,select,textarea):focus-visible {
    outline: 3px solid #1769aa;
    outline-offset: 3px;
}

.medicine-skip-link {
    position: fixed;
    z-index: 100000;
    top: 12px;
    left: 12px;
    padding: 10px 16px;
    color: #fff;
    background: var(--jp-ink);
    transform: translateY(-160%);
}
.medicine-skip-link:focus { color: #fff; transform: translateY(0); }

/* Elementor foundations remain editable and inherit the editorial system. */
.elementor-kit-1081 {
    --e-global-color-primary: var(--jp-red);
    --e-global-color-secondary: var(--jp-ink);
    --e-global-color-text: var(--jp-body);
    --e-global-color-accent: var(--jp-red);
    --e-global-typography-primary-font-family: var(--jp-serif);
    --e-global-typography-secondary-font-family: var(--jp-serif);
    --e-global-typography-text-font-family: var(--jp-sans);
    --e-global-typography-accent-font-family: var(--jp-sans);
}
.elementor .e-con-inner {
    width: 100%;
    max-width: var(--container-max-width,var(--jp-content)) !important;
    margin-inline: auto;
}
.elementor :where(input[type="text"],input[type="email"],input[type="search"],select,textarea) {
    min-height: 48px;
    color: var(--jp-ink);
    background: transparent;
    border: 0;
    border-bottom: 1px solid #99938a;
    border-radius: 0;
}
.elementor :where(input,select,textarea):focus {
    border-color: var(--jp-red);
    box-shadow: 0 2px 0 var(--jp-red);
}
.elementor .elementor-button,
.elementor .e-form-submit-button-base,
.mspc-buy {
    min-height: 46px;
    padding: 12px 24px;
    color: #fff;
    background: var(--jp-ink);
    border: 1px solid var(--jp-ink);
    border-radius: 0;
    box-shadow: none;
    font-weight: 600;
    letter-spacing: .09em;
    transition: color .25s ease,background-color .25s ease,transform .25s ease;
}
.elementor .elementor-button:hover,
.elementor .elementor-button:focus-visible,
.mspc-buy:hover,
.mspc-buy:focus-visible {
    color: #fff;
    background: var(--jp-red);
    border-color: var(--jp-red);
    transform: translateY(-2px);
}

/* Minimal editorial header. */
.elementor-location-header,
.elementor-4816 { position: relative; z-index: 100; }
.elementor-4816 .elementor-element.elementor-element-247ab495 {
    --padding-top: 19px;
    --padding-bottom: 19px;
    --padding-left: max(22px,calc((100vw - var(--jp-content))/2)) !important;
    --padding-right: max(22px,calc((100vw - var(--jp-content))/2)) !important;
    display: grid;
    grid-template-columns: minmax(190px,272px) minmax(280px,1fr) auto;
    align-items: center;
    gap: clamp(18px,2.5vw,40px);
    background: rgba(250,248,243,.97) !important;
    border-bottom: 1px solid var(--jp-line);
    box-shadow: none;
}
.elementor-4816 .elementor-element.elementor-element-64e7e270 {
    grid-column: 1;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    margin: 0;
}
.elementor-4816 .elementor-element.elementor-element-64e7e270 img { width: min(272px,32vw); }
.elementor-4816 .elementor-element.elementor-element-99b87b7 {
    grid-column: 2;
    width: 100% !important;
    max-width: 760px !important;
    min-width: 0;
    justify-self: center;
}
.elementor-4816 .elementor-element.elementor-element-6827bb6d {
    grid-column: 3;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    justify-self: end;
}
.elementor-4816 .elementor-element.elementor-element-6827bb6d .ekit_social_media {
    display: flex;
    justify-content: flex-end;
    gap: 4px;
}
.elementor-4816 .elementor-element.elementor-element-6827bb6d .ekit_social_media > li {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.elementor-4816 .elementor-element.elementor-element-6827bb6d .ekit_social_media > li > a {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    color: var(--jp-ink);
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transition: color .2s ease,background-color .2s ease;
}
.elementor-4816 .elementor-element.elementor-element-6827bb6d .ekit_social_media svg {
    background: transparent !important;
}
.elementor-4816 .elementor-element.elementor-element-6827bb6d .ekit_social_media > li > a:hover {
    color: var(--jp-red);
    background: var(--jp-sand);
}

/* Header product search: one quiet line, no generic boxed control. */
.elementor-4816 .mshs-input-group {
    min-height: 50px;
    background: var(--jp-white) !important;
    border: 1px solid #aea89f !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.elementor-4816 .mshs-input { padding: 0 18px; font-size: 16px; }
.elementor-4816 .mshs-button {
    color: #fff;
    background: var(--jp-red) !important;
    border: 0 !important;
    border-left: 1px solid var(--jp-red-dark) !important;
}
.elementor-4816 .mshs-button:hover { background: var(--jp-red-dark) !important; }
.elementor-4816 .mshs-button img { filter: brightness(0) invert(1) !important; }

/* Homepage hero: compact editorial split banner. */
.elementor-4824 { background: var(--jp-paper); }
.elementor-4824 .elementor-element.elementor-element-746ec77f {
    position: relative;
    width: 100%;
    height: min(400px,42vw);
    min-height: 340px !important;
    max-height: 400px;
    padding: 0 !important;
    overflow: hidden;
    background: var(--jp-paper) !important;
    border-bottom: 1px solid var(--jp-line);
}
.elementor-4824 .elementor-element.elementor-element-746ec77f > .e-con-inner,
.elementor-4824 .elementor-element.elementor-element-746ec77f > .e-con,
.elementor-4824 .elementor-element.elementor-element-74c084f6,
.elementor-4824 .elementor-element.elementor-element-27b94c7f {
    min-width: 0;
}
.elementor-4824 .elementor-element.elementor-element-74c084f6 {
    width: 56% !important;
    height: 100%;
    flex: 0 0 56%;
    justify-content: center;
    --gap: 10px;
    gap: 10px;
}
.elementor-4824 .elementor-element.elementor-element-74c084f6 > .elementor-element {
    margin-block-end: 0 !important;
}
.elementor-4824 .elementor-element.elementor-element-40b01ab5 p { margin: 0; line-height: 1.55; }
.elementor-4824 .elementor-element.elementor-element-78de18cc {
    display: block !important;
    position: relative;
    z-index: 2;
    margin-top: 4px !important;
}
.elementor-4824 .elementor-element.elementor-element-78de18cc .elementor-button {
    display: inline-flex !important;
    min-height: 44px;
    align-items: center;
    padding: 11px 22px;
}
.elementor-4824 .elementor-element.elementor-element-27b94c7f {
    width: 44% !important;
    height: 100%;
    flex: 0 0 44%;
    overflow: hidden;
}
.elementor-4824 .elementor-element.elementor-element-5a6e8483,
.elementor-4824 .elementor-element.elementor-element-5a6e8483 .elementor-widget-container {
    height: 100%;
}
.elementor-4824 .elementor-element.elementor-element-746ec77f::after {
    position: absolute;
    top: 7%;
    right: max(12px,calc((100vw - var(--jp-content))/2 - 36px));
    color: rgba(159,48,40,.82);
    font-family: var(--jp-serif);
    font-size: clamp(.72rem,1vw,.88rem);
    letter-spacing: .35em;
    writing-mode: vertical-rl;
    content: "医薬と健康　読みもの";
}
.elementor-4824 .elementor-element.elementor-element-746ec77f h1 {
    max-width: 17ch;
    margin-bottom: .3em;
    font-size: clamp(2.25rem,3.5vw,3.75rem);
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -.025em;
}
.elementor-4824 .elementor-element.elementor-element-746ec77f .elementor-heading-title {
    color: var(--jp-ink) !important;
    font-family: var(--jp-serif) !important;
    font-size: clamp(2.25rem,3.5vw,3.75rem) !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
}
.elementor-4824 .elementor-element.elementor-element-746ec77f p { max-width: 58ch; color: #58554f; }
.elementor-4824 .elementor-element.elementor-element-746ec77f p:first-child {
    display: flex;
    width: fit-content;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    padding: 0;
    color: var(--jp-red) !important;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    font-family: var(--jp-sans);
    font-size: .76rem;
    letter-spacing: .2em !important;
}

/* Remove legacy boxed sidebar surfaces; keep structure and widget behavior. */
.elementor-4824 :where(.elementor-element-5fe88991,.elementor-element-9b4db37,.elementor-element-4f850a01,.elementor-element-b42fecc),
.elementor-4944 :where(.elementor-element-49c3739,.elementor-element-a82d67d,.elementor-element-28c892a,.elementor-element-b674cac) {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.elementor-4824 :where(.elementor-element-5fe88991,.elementor-element-9b4db37,.elementor-element-4f850a01,.elementor-element-b42fecc),
.elementor-4944 :where(.elementor-element-49c3739,.elementor-element-a82d67d,.elementor-element-28c892a,.elementor-element-b674cac) {
    padding: 22px 0 !important;
    border-top: 1px solid var(--jp-ink) !important;
}
.elementor-4824 :where(.elementor-element-5fe88991,.elementor-element-9b4db37,.elementor-element-4f850a01,.elementor-element-b42fecc) .elementor-heading-title,
.elementor-4944 :where(.elementor-element-49c3739,.elementor-element-a82d67d,.elementor-element-28c892a,.elementor-element-b674cac) .elementor-heading-title {
    color: var(--jp-ink) !important;
    font-family: var(--jp-serif) !important;
    font-size: 1.1rem !important;
}
.elementor-4824 .elementor-element.elementor-element-746ec77f p:first-child::before {
    width: 34px;
    height: 1px;
    background: var(--jp-red);
    content: "";
}
.elementor-4824 .elementor-element.elementor-element-746ec77f img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    filter: saturate(.82) contrast(1.03);
    transition: filter .4s ease,transform .5s ease;
}
.elementor-4824 .elementor-element.elementor-element-746ec77f img:hover { filter: saturate(.95); transform: scale(1.012); }
.elementor-4824 .elementor-element.elementor-element-74c084f6 {
    --padding-top: 28px !important;
    --padding-bottom: 28px !important;
    --padding-left: clamp(28px,5vw,96px) !important;
    --padding-right: clamp(28px,4vw,72px) !important;
    background: var(--jp-white) !important;
}

/* Shared editorial headings and section rhythm. */
.elementor-4824 :where(.elementor-widget-heading h2,.elementskit-section-title),
.elementor-4944 :where(.elementor-widget-heading h2,.elementskit-section-title),
.mspc-head h2 {
    font-size: clamp(1.75rem,3.5vw,3.25rem);
    font-weight: 500;
}
.elementor-4824 :where(.elementor-widget-heading h2,.elementskit-section-title)::after,
.elementor-4944 :where(.elementor-widget-heading h2,.elementskit-section-title)::after,
.mspc-head h2::after {
    display: block;
    width: 42px;
    height: 1px;
    margin-top: 15px;
    background: var(--jp-red);
    content: "";
}

/* Blog filters: horizontal editorial index. */
.ymc-container .filter-default-inner .filter-buttons,
.ymc-extra-container .filter-default-inner .filter-buttons {
    display: flex;
    gap: 0;
    padding-block: 0 22px;
    overflow-x: auto;
    border-bottom: 1px solid var(--jp-line);
    scrollbar-width: thin;
}
.ymc-container .filter-default-inner .filter-buttons .filter-button,
.ymc-extra-container .filter-default-inner .filter-buttons .filter-button {
    min-height: 44px;
    flex: 0 0 auto;
    padding: 8px 18px;
    color: var(--jp-muted);
    background: transparent;
    border: 0;
    border-right: 1px solid var(--jp-line);
    border-radius: 0;
    box-shadow: none;
    font-size: .82rem;
    letter-spacing: .08em;
}
.ymc-container .filter-default-inner .filter-buttons :is(.filter-button:hover,.is-active),
.ymc-extra-container .filter-default-inner .filter-buttons :is(.filter-button:hover,.is-active) {
    color: var(--jp-red);
    background: transparent;
}

/* Posts are editorial units separated by whitespace, not repetitive cards. */
.ymc-container .filter-content .posts-grid,
.ymc-extra-container .filter-content .posts-grid { gap: clamp(28px,4vw,60px); }
.ymc-container .filter-content .posts-grid .post-layout_standard,
.ymc-extra-container .filter-content .posts-grid .post-layout_standard,
.elementskit-post-image-card,
.premium-testimonial-box {
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transition: transform .3s ease;
}
.ymc-container .post-layout_standard,
.ymc-extra-container .post-layout_standard,
.ymc-container .post-card,
.ymc-extra-container .post-card {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.ymc-container .filter-content .posts-grid .post-layout_standard,
.ymc-extra-container .filter-content .posts-grid .post-layout_standard {
    padding-bottom: clamp(26px,4vw,48px);
    border-bottom: 1px solid var(--jp-line);
}
.ymc-container .filter-content .posts-grid :where(.post-image,.post-card__image),
.ymc-extra-container .filter-content .posts-grid :where(.post-image,.post-card__image),
.elementskit-post-image-card .elementskit-entry-thumb { overflow: hidden; }
.ymc-container .filter-content .posts-grid img,
.ymc-extra-container .filter-content .posts-grid img,
.elementskit-post-image-card img {
    aspect-ratio: 4/3;
    object-fit: cover;
    filter: saturate(.82);
    transition: filter .35s ease;
}
.ymc-container .filter-content .posts-grid .post-layout_standard:hover img,
.ymc-extra-container .filter-content .posts-grid .post-layout_standard:hover img,
.elementskit-post-image-card:hover img { filter: saturate(.98); transform: none; }
.ymc-container .filter-content .posts-grid .post-card__title,
.ymc-extra-container .filter-content .posts-grid .post-card__title { line-height: 1.55; }
.ymc-container .filter-content .posts-grid .post-card__title a,
.ymc-extra-container .filter-content .posts-grid .post-card__title a {
    color: var(--jp-ink);
    font-family: var(--jp-serif);
    font-size: clamp(1.15rem,1.7vw,1.5rem);
    background-image: linear-gradient(var(--jp-red),var(--jp-red));
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 0 1px;
    transition: color .25s ease,background-size .3s ease;
}
.ymc-container .filter-content .posts-grid .post-card__title a:hover,
.ymc-extra-container .filter-content .posts-grid .post-card__title a:hover { color: var(--jp-red); background-size: 100% 1px; }
.ymc-container .filter-content .posts-grid .post-card__excerpt,
.ymc-extra-container .filter-content .posts-grid .post-card__excerpt { color: var(--jp-muted); line-height: 1.8; }
.ymc-container .filter-content .posts-grid .post-card__tags .tag,
.ymc-extra-container .filter-content .posts-grid .post-card__tags .tag { color: var(--jp-red); font-size: .72rem; letter-spacing: .1em; }
.ymc-container .filter-content .posts-grid .post-card__read-more,
.ymc-extra-container .filter-content .posts-grid .post-card__read-more { color: var(--jp-ink); font-size: .82rem; letter-spacing: .08em; }

/* Sidebar blocks and newsletter use rules and composition instead of boxes. */
.elementor-4824 :where(.elementor-widget-search,.elementor-widget-icon-list,.elementor-widget-posts,.elementor-widget-form),
.elementor-4944 :where(.elementor-widget-search,.elementor-widget-icon-list,.elementor-widget-posts,.elementor-widget-form) { color: var(--jp-body); }
.elementor-4824 :where(.elementor-widget-icon-list,.elementor-widget-posts),
.elementor-4944 :where(.elementor-widget-icon-list,.elementor-widget-posts) {
    padding-block: 18px;
    border-top: 1px solid var(--jp-ink);
    border-bottom: 1px solid var(--jp-line);
}
.elementor-widget-form .elementor-form { position: relative; }
.elementor-widget-form .elementor-field-type-email { flex: 1 1 240px; }
.elementor-widget-search search,
.elementor-widget-search form { width: 100%; max-width: 100%; }
.elementor-widget-search form { display: flex; }
.elementor-widget-search form input[type="search"] { min-width: 0; flex: 1 1 auto; }
.elementor-widget-search form button[type="submit"] { min-width: 82px; flex: 0 0 auto; }

/* Product carousel: clean catalog strip, function unchanged. */
.mspc-wrap {
    padding: clamp(28px,4vw,52px) 0;
    background: transparent;
    border: 0;
    border-top: 1px solid var(--jp-ink);
    border-bottom: 1px solid var(--jp-line);
    border-radius: 0;
    box-shadow: none;
}
.mspc-card {
    background: transparent !important;
    border: 0 !important;
    border-right: 1px solid var(--jp-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.mspc-image-box { background: #f3f0e9 !important; border-bottom: 0; }
.mspc-image { transition: transform .4s ease; }
.mspc-card:hover .mspc-image { transform: scale(1.035); }
.mspc-body { padding: 18px 16px 6px !important; }
.mspc-name { font-family: var(--jp-serif); font-weight: 600; }
.mspc-price { color: var(--jp-red); font-family: var(--jp-serif); }
.mspc-controls button {
    color: var(--jp-ink) !important;
    background: transparent !important;
    border: 1px solid var(--jp-ink) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.mspc-controls button:hover:not(:disabled) { color: #fff !important; background: var(--jp-red) !important; border-color: var(--jp-red) !important; }
.mspc-buy { display: flex !important; align-items: center; justify-content: center; background: var(--jp-ink) !important; border-radius: 0 !important; }

/* Article template: comfortable Japanese editorial reading measure. */
.elementor-4944 .elementor-widget-theme-post-content {
    max-width: var(--jp-reading);
    color: var(--jp-body);
    font-size: clamp(1rem,1.2vw,1.075rem);
    line-height: 2.05;
}
.elementor-4944 .elementor-widget-theme-post-content :where(p,ul,ol,table,blockquote) { margin-bottom: 1.8em; }
.elementor-4944 .elementor-widget-theme-post-content :where(h2,h3) { margin-top: 2.8em; margin-bottom: 1em; }
.elementor-4944 .elementor-widget-theme-post-content h2 {
    padding: .65em 0 .55em;
    background: transparent;
    border: 0;
    border-top: 1px solid var(--jp-ink);
    border-bottom: 1px solid var(--jp-line);
    border-radius: 0;
    box-shadow: none;
    font-size: clamp(1.55rem,2.7vw,2.3rem);
}
.elementor-4944 .elementor-widget-theme-post-content h2::before { margin-right: .65em; color: var(--jp-red); font-family: var(--jp-sans); font-size: .65em; content: "◆"; }
.elementor-4944 .elementor-widget-theme-post-content h3 { padding-left: .8em; border: 0; border-left: 2px solid var(--jp-red); }
.elementor-4944 .elementor-widget-theme-post-content blockquote {
    padding: 1.4em 1.6em;
    background: var(--jp-sand);
    border: 0;
    border-left: 3px solid var(--jp-red);
    border-radius: 0;
}
.elementor-4944 .elementor-widget-theme-post-content table { display: block; max-width: 100%; overflow-x: auto; }

/* Spacious understated footer. */
.elementor-4870 .elementor-element.elementor-element-7023f961,
.elementor-4870 .elementor-element.elementor-element-25954948,
.elementor-4870 .elementor-element.elementor-element-4bed1341 { background: #252522 !important; }
.elementor-4870 .elementor-element.elementor-element-7023f961 {
    min-height: auto;
    padding: clamp(64px,9vw,112px) max(22px,calc((100vw - var(--jp-content))/2));
    border-top: 0;
    box-shadow: none;
    background-image: none !important;
}
.elementor-4870 :where(.elementor-heading-title,.elementor-widget-text-editor,.elementor-widget-text-editor p,.elementor-widget-text-editor a) { color: #eeeae2 !important; }
.elementor-4870 .elementor-heading-title { font-family: var(--jp-serif) !important; font-size: 1rem !important; letter-spacing: .12em; }
.elementor-4870 .elementor-widget-text-editor { font-size: .88rem !important; line-height: 2 !important; }
.elementor-4870 .elementor-element.elementor-element-25954948 { border-top-color: rgba(255,255,255,.18); }

@media (max-width: 1024px) {
    .elementor-4816 .elementor-element.elementor-element-247ab495 {
        --padding-left: 20px !important;
        --padding-right: 20px !important;
        grid-template-columns: minmax(190px,230px) minmax(260px,1fr);
    }
    .elementor-4816 .elementor-element.elementor-element-99b87b7 { grid-column: 2; max-width: none !important; }
    .elementor-4824 .elementor-element.elementor-element-746ec77f { min-height: auto; }
    .elementor-4870 .elementor-element.elementor-element-7023f961 { --flex-wrap: wrap; }
}

@media (max-width: 767px) {
    body { font-size: 15px; line-height: 1.8; }
    .elementor-4816 .elementor-element.elementor-element-247ab495 {
        --padding-top: 12px;
        --padding-bottom: 12px;
        --padding-left: 20px !important;
        --padding-right: 20px !important;
        gap: 10px;
        display: grid;
        grid-template-columns: 1fr auto;
    }
    .elementor-4816 .elementor-element.elementor-element-64e7e270 { margin-right: 0; }
    .elementor-4816 .elementor-element.elementor-element-64e7e270 img { width: min(200px,58vw); }
    .elementor-4816 .elementor-element.elementor-element-99b87b7 { grid-column: 1 / -1; grid-row: 2; }
    .elementor-4816 .elementor-element.elementor-element-6827bb6d { grid-column: 2; grid-row: 1; width: auto; max-width: 100%; }
    .elementor-4816 .elementor-element.elementor-element-6827bb6d .ekit_social_media > li > a { width: 44px; height: 44px; }
    .elementor-4816 .elementor-element.elementor-element-6827bb6d .ekit_social_media > li:not(:first-child) { display: none; }
    .elementor-4824 .elementor-element.elementor-element-746ec77f {
        width: 100%;
        height: 400px;
        max-width: 100%;
        min-height: 0 !important;
        max-height: 400px;
        padding: 0 !important;
        overflow: hidden;
        --display: block !important;
        display: block !important;
    }
    .elementor-4824 .elementor-element.elementor-element-74c084f6,
    .elementor-4824 .elementor-element.elementor-element-27b94c7f,
    .elementor-4824 .elementor-element.elementor-element-495de5ff,
    .elementor-4824 .elementor-element.elementor-element-40b01ab5 {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    .elementor-4824 .elementor-element.elementor-element-746ec77f::after { display: none; }
    .elementor-4824 .elementor-element.elementor-element-746ec77f h1 {
        max-width: 10ch;
        overflow-wrap: normal;
        font-size: clamp(2rem,10vw,2.65rem);
        line-height: 1.02;
    }
    .elementor-4824 .elementor-element.elementor-element-746ec77f .elementor-heading-title {
        width: min(10ch,calc(100vw - 40px)) !important;
        max-width: 10ch !important;
        font-size: clamp(2rem,10vw,2.65rem) !important;
        line-height: 1.02 !important;
        white-space: normal !important;
        word-break: normal;
        overflow-wrap: break-word;
    }
    .elementor-4824 .elementor-element.elementor-element-40b01ab5,
    .elementor-4824 .elementor-element.elementor-element-40b01ab5 p {
        width: min(100%,calc(100vw - 100px)) !important;
        max-width: calc(100vw - 100px) !important;
        white-space: normal !important;
        overflow-wrap: break-word;
    }
    .elementor-4824 .elementor-element.elementor-element-40b01ab5 { display: none; }
    .elementor-4824 .elementor-element.elementor-element-746ec77f p { max-width: 100%; }
    .elementor-4824 .elementor-element.elementor-element-746ec77f img {
        width: 100% !important;
        height: 100% !important;
        max-width: none;
        aspect-ratio: auto;
        margin: 0;
    }
    .elementor-4824 .elementor-element.elementor-element-74c084f6 {
        position: relative;
        z-index: 2;
        --padding-top: 30px !important;
        --padding-bottom: 28px !important;
        --padding-left: 20px !important;
        --padding-right: 20px !important;
        width: 100% !important;
        height: 100%;
        justify-content: center;
        background: linear-gradient(90deg,var(--jp-paper) 0%,rgba(250,248,243,.97) 46%,rgba(250,248,243,.82) 66%,rgba(250,248,243,.1) 100%) !important;
    }
    .elementor-4824 .elementor-element.elementor-element-27b94c7f {
        position: absolute;
        z-index: 1;
        inset: 0;
        width: 100% !important;
        height: 100%;
        overflow: hidden;
    }
    .elementor-4824 .elementor-element.elementor-element-27b94c7f > .e-con-inner { height: 100%; }
    .elementor-4824 .elementor-element.elementor-element-746ec77f img { object-position: 68% center; }
    .elementor-4824 .elementor-element.elementor-element-33bcdebf { max-width: calc(100% - 28px); }
    .elementor-4824 .elementor-element.elementor-element-33bcdebf p {
        font-size: .64rem;
        line-height: 1.45;
        letter-spacing: .13em !important;
    }
    .elementor-4824 .elementor-element.elementor-element-78de18cc .elementor-button {
        min-height: 42px;
        padding: 10px 17px;
        font-size: .82rem;
    }
    .elementor-4824 .e-1e90ed57-4faa491 { flex-direction: column !important; }
    .elementor-4824 .e-523cbc2f-54e1fbe { width: 100% !important; order: 1; }
    .elementor-4824 .elementor-element.elementor-element-3f5a2030 { width: 100% !important; order: 2; }
    .ymc-container .filter-content .posts-grid,
    .ymc-extra-container .filter-content .posts-grid { display: block; }
    .ymc-container .filter-content .posts-grid .post-layout_standard,
    .ymc-extra-container .filter-content .posts-grid .post-layout_standard { margin-bottom: 42px; }
    .mspc-wrap { margin: 20px 0; padding: 32px 0; }
    .mspc-head { align-items: flex-end; gap: 14px; }
    .mspc-card { border-right: 1px solid var(--jp-line) !important; }
    .elementor-4870 .elementor-element.elementor-element-7023f961 { padding: 64px 20px; }
    .elementor-4870 .elementor-element.elementor-element-323c505a img { width: min(250px,72vw); }
}

/* Keep the hero compact through Elementor's tablet breakpoint as well. */
@media (min-width: 768px) and (max-width: 1024px) {
    .elementor-4824 .elementor-element.elementor-element-746ec77f {
        --display: block !important;
        display: block !important;
        position: relative;
        width: 100%;
        height: 400px;
        min-height: 0 !important;
        max-height: 400px;
        padding: 0 !important;
        overflow: hidden;
    }
    .elementor-4824 .elementor-element.elementor-element-74c084f6 {
        position: relative;
        z-index: 2;
        width: 100% !important;
        height: 100%;
        flex: none;
        --padding-top: 34px !important;
        --padding-bottom: 34px !important;
        --padding-left: clamp(34px,7vw,72px) !important;
        --padding-right: clamp(34px,7vw,72px) !important;
        justify-content: center;
        background: linear-gradient(90deg,var(--jp-paper) 0%,rgba(250,248,243,.97) 48%,rgba(250,248,243,.78) 68%,rgba(250,248,243,.06) 100%) !important;
    }
    .elementor-4824 .elementor-element.elementor-element-27b94c7f {
        position: absolute;
        z-index: 1;
        inset: 0;
        width: 100% !important;
        height: 100%;
        overflow: hidden;
    }
    .elementor-4824 .elementor-element.elementor-element-27b94c7f > .e-con-inner,
    .elementor-4824 .elementor-element.elementor-element-5a6e8483,
    .elementor-4824 .elementor-element.elementor-element-5a6e8483 .elementor-widget-container { height: 100%; }
    .elementor-4824 .elementor-element.elementor-element-746ec77f img {
        width: 100% !important;
        height: 100% !important;
        margin: 0;
        object-fit: cover;
        object-position: 70% center;
    }
    .elementor-4824 .elementor-element.elementor-element-746ec77f .elementor-heading-title {
        width: 11ch !important;
        max-width: 11ch !important;
        font-size: clamp(2.5rem,6.3vw,3.45rem) !important;
        line-height: 1.02 !important;
    }
    .elementor-4824 .elementor-element.elementor-element-40b01ab5 { display: none; }
    .elementor-4824 .elementor-element.elementor-element-746ec77f::after { display: none; }
}

/* Author archive: quiet editorial profile and article index. */
.author .elementor-4994 {
    color: var(--jp-body);
    background: var(--jp-paper);
}
.elementor-4994 .elementor-element.elementor-element-6cee1c13 {
    --padding-top: clamp(52px,7vw,88px) !important;
    --padding-bottom: clamp(48px,6vw,76px) !important;
    background: var(--jp-paper) !important;
    border-bottom: 1px solid var(--jp-line);
}
.elementor-4994 .elementor-element.elementor-element-43c43a97 > .e-con-inner,
.elementor-4994 .elementor-element.elementor-element-16b81701 > .e-con-inner,
.elementor-4994 .elementor-element.elementor-element-44d03a04 > .e-con-inner {
    width: min(100%,var(--jp-content));
    margin-inline: auto;
}
.elementor-4994 .elementor-element.elementor-element-43c43a97 {
    --gap: clamp(42px,7vw,100px) !important;
    --padding-left: 22px !important;
    --padding-right: 22px !important;
    align-items: center;
}
.elementor-4994 .elementor-element.elementor-element-5b2b260d {
    --padding-top: 0 !important;
    --padding-bottom: 0 !important;
    --padding-left: 0 !important;
    --padding-right: 0 !important;
}
.elementor-4994 :is(.elementor-element-75e34d21,.elementor-element-7490610e) .elementor-heading-title {
    color: var(--jp-red) !important;
    font-family: var(--jp-sans) !important;
    font-size: .75rem !important;
    font-weight: 700 !important;
    letter-spacing: .2em !important;
}
.elementor-4994 .elementor-element.elementor-element-75e34d21 .elementor-heading-title::before {
    display: inline-block;
    width: 34px;
    height: 1px;
    margin-right: 12px;
    vertical-align: middle;
    background: var(--jp-red);
    content: "";
}
.elementor-4994 .elementor-element.elementor-element-35de8855 .elementor-heading-title {
    color: var(--jp-ink) !important;
    font-family: var(--jp-serif) !important;
    font-size: clamp(2.5rem,5vw,4.5rem) !important;
    font-weight: 500 !important;
    line-height: 1.04 !important;
    letter-spacing: -.025em;
}
.elementor-4994 .elementor-element.elementor-element-54c25cd {
    max-width: 48ch;
    color: var(--jp-muted) !important;
    font-size: .96rem !important;
    line-height: 1.85 !important;
}
.elementor-4994 .elementor-element.elementor-element-20ea1ca7 {
    --padding-top: clamp(26px,3vw,38px) !important;
    --padding-bottom: clamp(26px,3vw,38px) !important;
    --padding-left: 0 !important;
    --padding-right: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid var(--jp-ink) !important;
    border-bottom: 1px solid var(--jp-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.elementor-4994 .elementor-author-box { align-items: center; gap: clamp(20px,3vw,34px); }
.elementor-4994 .elementor-author-box__avatar { flex: 0 0 clamp(92px,11vw,144px); }
.elementor-4994 .elementor-author-box__avatar img {
    width: clamp(92px,11vw,144px) !important;
    height: clamp(92px,11vw,144px) !important;
    object-fit: cover;
    border: 1px solid var(--jp-line);
    border-radius: 50%;
    filter: saturate(.78);
}
.elementor-4994 .elementor-author-box__name {
    margin: 0 !important;
    color: var(--jp-ink) !important;
    font-family: var(--jp-serif) !important;
    font-size: clamp(1.45rem,2.4vw,2.2rem) !important;
    font-weight: 500 !important;
    line-height: 1.25;
}
.elementor-4994 .elementor-author-box__bio { color: var(--jp-muted); line-height: 1.8; }
.elementor-4994 .elementor-element.elementor-element-497df757 { display: none; }
.elementor-4994 .elementor-element.elementor-element-169ce0c7 {
    --padding-top: clamp(48px,6vw,80px) !important;
    --padding-bottom: clamp(64px,8vw,110px) !important;
    background: var(--jp-paper);
}
.elementor-4994 .elementor-element.elementor-element-44d03a04 {
    --padding-left: 22px !important;
    --padding-right: 22px !important;
}
.elementor-4994 .elementor-element.elementor-element-73674c1e .elementor-heading-title {
    color: var(--jp-ink) !important;
    font-family: var(--jp-serif) !important;
    font-size: clamp(2rem,4vw,3.25rem) !important;
    font-weight: 500 !important;
}
.elementor-4994 .elementor-element.elementor-element-73674c1e .elementor-heading-title::after {
    display: block;
    width: 42px;
    height: 1px;
    margin-top: 14px;
    background: var(--jp-red);
    content: "";
}
.elementor-4994 .elementor-element.elementor-element-43d575b8 { color: var(--jp-muted) !important; }
.elementor-4994 .elementor-element.elementor-element-42fe323 .elementor-posts-container {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 0 !important;
    counter-reset: author-article;
}
.elementor-4994 .elementor-post {
    display: grid !important;
    grid-template-columns: minmax(220px,31%) minmax(0,1fr);
    gap: clamp(24px,4vw,52px);
    align-items: center;
    padding: clamp(24px,3vw,38px) 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--jp-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    counter-increment: author-article;
}
.elementor-4994 .elementor-post:first-child { padding-top: 8px !important; }
.elementor-4994 .elementor-post__thumbnail__link {
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden;
}
.elementor-4994 .elementor-element.elementor-element-42fe323 .elementor-post__thumbnail {
    height: clamp(150px,16vw,210px);
    padding-bottom: 0 !important;
}
.elementor-4994 .elementor-post__thumbnail img { filter: saturate(.82); transition: filter .3s ease; }
.elementor-4994 .elementor-post:hover .elementor-post__thumbnail img { filter: saturate(.98); transform: none; }
.elementor-4994 .elementor-post__text {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    padding-left: clamp(38px,5vw,68px);
}
.elementor-4994 .elementor-post__text::before {
    position: absolute;
    top: .15em;
    left: 0;
    color: var(--jp-red);
    font-family: var(--jp-serif);
    font-size: .82rem;
    letter-spacing: .08em;
    content: counter(author-article,decimal-leading-zero);
}
.elementor-4994 .elementor-post__title a {
    color: var(--jp-ink) !important;
    font-family: var(--jp-serif) !important;
    font-size: clamp(1.2rem,1.7vw,1.5rem);
    font-weight: 500;
    line-height: 1.45;
}
.elementor-4994 .elementor-post__meta-data {
    order: -1;
    margin-bottom: 9px !important;
    color: var(--jp-red) !important;
    font-size: .72rem;
    letter-spacing: .08em;
}
.elementor-4994 .elementor-post__meta-data .elementor-post-avatar { display: none; }
.elementor-4994 .elementor-post__excerpt { color: var(--jp-muted) !important; line-height: 1.75; }
.elementor-4994 .elementor-post__read-more {
    margin-top: 6px;
    color: var(--jp-ink) !important;
    font-size: .8rem;
    letter-spacing: .08em;
    text-decoration: none !important;
}
.elementor-4994 .elementor-post__read-more::after { margin-left: 8px; color: var(--jp-red); content: "→"; }
.elementor-4994 .elementor-pagination .page-numbers { color: var(--jp-muted); }
.elementor-4994 .elementor-pagination :is(.current,.page-numbers:hover) { color: var(--jp-red); }

@media (max-width: 767px) {
    .elementor-4994 .elementor-element.elementor-element-43c43a97 { --gap: 30px !important; }
    .elementor-4994 .elementor-element.elementor-element-20ea1ca7 { --padding-left: 0 !important; --padding-right: 0 !important; }
    .elementor-4994 .elementor-author-box { align-items: flex-start; }
    .elementor-4994 .elementor-author-box__avatar { flex-basis: 82px; }
    .elementor-4994 .elementor-author-box__avatar img { width: 82px !important; height: 82px !important; }
    .elementor-4994 .elementor-post {
        grid-template-columns: minmax(0,1fr);
        gap: 18px;
    }
    .elementor-4994 .elementor-element.elementor-element-42fe323 .elementor-post__thumbnail { height: min(56vw,240px); }
    .elementor-4994 .elementor-post__text { padding-left: 34px; }
    .elementor-4994 .elementor-post__excerpt { display: none; }
}

/* 404: quiet Japanese editorial wayfinding page. */
.medicine-404 {
    min-height: 72vh;
    padding: clamp(56px,7vw,96px) max(20px,calc((100vw - var(--jp-content))/2));
    color: var(--jp-body);
    background: var(--jp-paper);
}
.medicine-404__panel {
    position: relative;
    display: grid;
    min-height: clamp(520px,62vw,680px);
    grid-template-columns: minmax(250px,.8fr) minmax(0,1.2fr);
    align-items: center;
    gap: clamp(36px,7vw,100px);
    overflow: hidden;
    padding: clamp(42px,7vw,90px);
    background: var(--jp-white);
    border: 1px solid var(--jp-line);
}
.medicine-404__panel::before {
    position: absolute;
    top: clamp(34px,6vw,74px);
    left: clamp(34px,7vw,92px);
    width: clamp(160px,22vw,300px);
    aspect-ratio: 1;
    background: rgba(159,48,40,.1);
    border: 1px solid rgba(159,48,40,.26);
    border-radius: 50%;
    content: "";
}
.medicine-404__panel::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 70px;
    opacity: .16;
    background-image:
        radial-gradient(circle at 50% 100%,transparent 17px,var(--jp-red) 18px,var(--jp-red) 19px,transparent 20px),
        radial-gradient(circle at 0 100%,transparent 17px,var(--jp-red) 18px,var(--jp-red) 19px,transparent 20px);
    background-position: 0 0,38px 0;
    background-size: 76px 38px;
    content: "";
    pointer-events: none;
}
.medicine-404__ornament {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--jp-ink);
    font-family: var(--jp-serif);
    font-size: clamp(4.75rem,11vw,9.5rem);
    font-weight: 500;
    line-height: .85;
    letter-spacing: -.12em;
}
.medicine-404__ornament span:nth-child(2) { color: var(--jp-red); }
.medicine-404__content { position: relative; z-index: 2; max-width: 660px; }
.medicine-404__eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 22px;
    color: var(--jp-red);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
}
.medicine-404__eyebrow::before { width: 34px; height: 1px; background: currentColor; content: ""; }
.medicine-404 h1 {
    max-width: 12ch;
    margin: 0;
    color: var(--jp-ink);
    font-family: var(--jp-serif);
    font-size: clamp(2.35rem,4.7vw,4.4rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.03em;
}
.medicine-404__message { max-width: 56ch; margin: 26px 0 32px; color: var(--jp-muted); font-size: .95rem; line-height: 1.85; }
.medicine-404__search {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    max-width: 620px;
    min-height: 56px;
    background: #fff;
    border: 1px solid var(--jp-ink);
}
.medicine-404__search input {
    width: 100%;
    min-width: 0;
    padding: 0 18px;
    color: var(--jp-ink);
    background: transparent;
    border: 0;
    border-radius: 0;
    font-size: .95rem;
}
.medicine-404__search button {
    display: inline-flex;
    min-width: 118px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 20px;
    color: #fff;
    background: var(--jp-red);
    border: 0;
    border-left: 1px solid var(--jp-red-dark);
    border-radius: 0;
    font-size: .76rem;
    font-weight: 600;
    letter-spacing: .08em;
    cursor: pointer;
}
.medicine-404__search button:hover { background: var(--jp-red-dark); }
.medicine-404__search:focus-within { outline: 3px solid rgba(159,48,40,.22); outline-offset: 3px; }
.medicine-404__search :focus { outline: 0; }
.medicine-404__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 24px; }
.medicine-404__actions a { display: inline-flex; min-height: 46px; align-items: center; gap: 10px; font-size: .76rem; font-weight: 600; letter-spacing: .08em; text-decoration: none; }
.medicine-404__primary { padding: 12px 20px; color: #fff !important; background: var(--jp-ink); border: 1px solid var(--jp-ink); }
.medicine-404__primary:hover { background: var(--jp-red); border-color: var(--jp-red); }
.medicine-404__secondary { color: var(--jp-ink) !important; border-bottom: 1px solid var(--jp-red); }
.medicine-404__secondary:hover { color: var(--jp-red) !important; }
.medicine-404__vertical {
    position: absolute;
    z-index: 2;
    top: 40px;
    right: 24px;
    margin: 0;
    color: rgba(159,48,40,.62);
    font-family: var(--jp-serif);
    font-size: .75rem;
    letter-spacing: .32em;
    writing-mode: vertical-rl;
}

@media (max-width: 800px) {
    .medicine-404__panel { grid-template-columns: 1fr; gap: 20px; }
    .medicine-404__ornament { justify-content: flex-start; font-size: clamp(4rem,18vw,7rem); }
    .medicine-404__panel::before { top: 24px; left: 26px; width: 180px; }
}
@media (max-width: 520px) {
    .medicine-404 { padding: 30px 16px; }
    .medicine-404__panel { min-height: 0; padding: 38px 24px 84px; }
    .medicine-404__vertical { display: none; }
    .medicine-404__search { grid-template-columns: 1fr; gap: 9px; background: transparent; border: 0; }
    .medicine-404__search input { min-height: 54px; background: #fff; border: 1px solid var(--jp-ink); }
    .medicine-404__search button { min-height: 50px; border: 1px solid var(--jp-red-dark); }
}

/* Hero balance: one unified split panel with equal-height copy and photography. */
@media (min-width: 768px) {
    .elementor-4824 .elementor-element.elementor-element-746ec77f {
        display: grid !important;
        grid-template-columns: minmax(0,53%) minmax(0,47%);
        min-height: clamp(610px,46vw,760px);
        align-items: stretch !important;
        padding: 0 !important;
    }
    .elementor-4824 .elementor-element.elementor-element-746ec77f > .elementor-element {
        width: 100% !important;
        max-width: none !important;
        min-height: 100% !important;
    }
    .elementor-4824 .elementor-element.elementor-element-74c084f6 {
        display: flex !important;
        justify-content: center !important;
        padding: clamp(64px,6vw,96px) clamp(34px,5vw,84px) !important;
        border-right: 1px solid var(--jp-line);
    }
    .elementor-4824 .elementor-element.elementor-element-27b94c7f,
    .elementor-4824 .elementor-element.elementor-element-5a6e8483,
    .elementor-4824 .elementor-element.elementor-element-5a6e8483 .elementor-widget-container,
    .elementor-4824 .elementor-element.elementor-element-5a6e8483 a,
    .elementor-4824 .elementor-element.elementor-element-5a6e8483 picture {
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
    }
    .elementor-4824 .elementor-element.elementor-element-5a6e8483 {
        flex: 1 1 auto !important;
    }
    .elementor-4824 .elementor-element.elementor-element-5a6e8483 img {
        width: 100% !important;
        height: 100% !important;
        min-height: clamp(610px,46vw,760px);
        aspect-ratio: auto !important;
        object-fit: cover !important;
        object-position: 58% center !important;
    }
    .elementor-4824 .elementor-element.elementor-element-746ec77f h1,
    .elementor-4824 .elementor-element.elementor-element-746ec77f .elementor-heading-title {
        max-width: 12ch !important;
        font-size: clamp(3rem,4.65vw,4.75rem) !important;
        line-height: 1.06 !important;
    }
}

/* The former vertical ornament crossed the portrait and reduced readability. */
.elementor-4824 .elementor-element.elementor-element-746ec77f::after {
    content: none !important;
    display: none !important;
}

@media (max-width: 767px) {
    .elementor-4824 .elementor-element.elementor-element-746ec77f {
        display: flex !important;
        flex-direction: column !important;
    }
    .elementor-4824 .elementor-element.elementor-element-5a6e8483 img {
        height: clamp(300px,86vw,440px) !important;
        object-fit: cover !important;
        object-position: 62% center !important;
    }
}

@media (hover: none) {
    .ymc-container .filter-content .posts-grid img,
    .ymc-extra-container .filter-content .posts-grid img,
    .elementskit-post-image-card img,
    .mspc-image { transform: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *,*::before,*::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media (prefers-contrast: more) {
    :root { --jp-line: #77736c; --jp-muted: #4e4b46; }
    .elementor :where(input,select,textarea),.mshs-input-group { border-width: 2px; }
}

/* Equal-height editorial article cards generated by YMC Smart Filter. */
.ymc-container .filter-content .posts-grid,
.ymc-extra-container .filter-content .posts-grid {
    align-items: stretch !important;
    grid-auto-rows: auto;
    gap: clamp(22px,3vw,36px) !important;
}
.ymc-container .filter-content .posts-grid > .post-card,
.ymc-extra-container .filter-content .posts-grid > .post-card {
    align-self: stretch;
    min-width: 0;
    padding: 0 !important;
    border: 0 !important;
}
.ymc-container .filter-content .post-card__inner,
.ymc-extra-container .filter-content .post-card__inner {
    display: flex !important;
    height: 100%;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    background: var(--jp-white);
    border: 1px solid var(--jp-line);
    border-radius: 2px;
    box-shadow: 0 10px 28px rgba(38,35,30,.07);
    transition: border-color .28s ease,box-shadow .28s ease,transform .28s ease;
}
.ymc-container .filter-content .post-card__inner::before,
.ymc-container .filter-content .post-card__inner::after,
.ymc-extra-container .filter-content .post-card__inner::before,
.ymc-extra-container .filter-content .post-card__inner::after {
    content: none !important;
    display: none !important;
}
.ymc-container .filter-content .post-card__inner:hover,
.ymc-extra-container .filter-content .post-card__inner:hover {
    border-color: #aaa39a;
    box-shadow: 0 16px 34px rgba(38,35,30,.11);
    transform: translateY(-4px);
}
.ymc-container .filter-content .post-card__image,
.ymc-extra-container .filter-content .post-card__image {
    width: 100%;
    aspect-ratio: 16/9;
    flex: 0 0 auto;
    overflow: hidden;
    background: var(--jp-sand);
}
.ymc-container .filter-content .post-card__image > a,
.ymc-extra-container .filter-content .post-card__image > a {
    display: block;
    width: 100%;
    height: 100%;
}
.ymc-container .filter-content .post-card__image img,
.ymc-extra-container .filter-content .post-card__image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 16/9;
    object-fit: cover;
    object-position: center;
    margin: 0;
}
.ymc-container .filter-content .post-card__title,
.ymc-extra-container .filter-content .post-card__title {
    display: -webkit-box;
    min-height: calc(1.55em * 3);
    margin: 20px 20px 0 !important;
    overflow: hidden;
    color: var(--jp-ink);
    font-family: var(--jp-serif);
    font-size: clamp(1.05rem,1.55vw,1.3rem);
    font-weight: 600;
    line-height: 1.55 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.ymc-container .filter-content .post-card__title a,
.ymc-extra-container .filter-content .post-card__title a {
    color: inherit;
    font: inherit;
    text-decoration: none;
}
.ymc-container .filter-content .post-card__title a:hover,
.ymc-extra-container .filter-content .post-card__title a:hover { color: var(--jp-red); }
.ymc-container .filter-content .post-card__categories,
.ymc-extra-container .filter-content .post-card__categories,
.ymc-container .filter-content .post-card__tags,
.ymc-extra-container .filter-content .post-card__tags {
    min-height: 32px;
    margin: 14px 20px 0 !important;
}
.ymc-container .filter-content .post-card__tags .tag,
.ymc-extra-container .filter-content .post-card__tags .tag,
.ymc-container .filter-content .post-card__categories .post-taxonomy,
.ymc-extra-container .filter-content .post-card__categories .post-taxonomy {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: 3px 9px;
    color: var(--jp-red);
    background: transparent;
    border: 1px solid #d7c9c5;
    font-size: .72rem;
    line-height: 1.3;
    letter-spacing: .06em;
    text-decoration: none;
}
.ymc-container .filter-content .post-card__meta,
.ymc-extra-container .filter-content .post-card__meta {
    display: flex;
    min-height: 32px;
    align-items: center;
    gap: 12px;
    margin: 12px 20px 0 !important;
    color: var(--jp-muted);
    font-size: .82rem;
    line-height: 1.45;
}
.ymc-container .filter-content .post-card__excerpt,
.ymc-extra-container .filter-content .post-card__excerpt {
    display: -webkit-box;
    margin: 12px 20px 0 !important;
    overflow: hidden;
    color: var(--jp-muted);
    font-size: .9rem;
    line-height: 1.7;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.ymc-container .filter-content .post-card__read-more,
.ymc-extra-container .filter-content .post-card__read-more {
    display: inline-flex;
    width: fit-content;
    min-height: 44px;
    align-items: center;
    gap: 10px;
    margin: auto 20px 18px !important;
    padding-top: 16px;
    color: var(--jp-ink) !important;
    border-bottom: 1px solid var(--jp-red);
    font-size: .8rem !important;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .08em;
    text-decoration: none;
}
.ymc-container .filter-content .post-card__read-more::after,
.ymc-extra-container .filter-content .post-card__read-more::after {
    content: "→";
    transition: transform .2s ease;
}
.ymc-container .filter-content .post-card__read-more:hover,
.ymc-extra-container .filter-content .post-card__read-more:hover { color: var(--jp-red) !important; }
.ymc-container .filter-content .post-card__read-more:hover::after,
.ymc-extra-container .filter-content .post-card__read-more:hover::after { transform: translateX(4px); }

@media (max-width: 767px) {
    .ymc-container .filter-content .post-card__title,
    .ymc-extra-container .filter-content .post-card__title { min-height: 0; font-size: 1.1rem; }
}

/* Product cards: match the site's restrained Japanese editorial card language. */
.mspc-wrap .mspc-track {
    gap: 22px !important;
    padding: 4px 4px 18px !important;
    scrollbar-color: var(--jp-muted) transparent !important;
}
.mspc-wrap .mspc-card {
    display: flex !important;
    height: auto !important;
    align-self: stretch !important;
    overflow: hidden !important;
    background: var(--jp-white) !important;
    border: 1px solid var(--jp-line) !important;
    border-radius: 2px !important;
    box-shadow: 0 10px 28px rgba(38,35,30,.07) !important;
    transition: border-color .28s ease,box-shadow .28s ease,transform .28s ease !important;
}
.mspc-wrap .mspc-card:hover {
    border-color: #aaa39a !important;
    box-shadow: 0 16px 34px rgba(38,35,30,.11) !important;
    transform: translateY(-4px);
}
.mspc-wrap .mspc-image-box {
    height: auto !important;
    aspect-ratio: 4/3;
    background: var(--jp-sand) !important;
    border-bottom: 1px solid var(--jp-line) !important;
}
.mspc-wrap .mspc-image {
    padding: clamp(18px,2vw,28px) !important;
    object-fit: contain !important;
}
.mspc-wrap .mspc-body {
    display: flex !important;
    flex: 1 1 auto !important;
    padding: 20px !important;
}
.mspc-wrap .mspc-name {
    min-height: calc(1.45em * 2) !important;
    margin: 0 !important;
    color: var(--jp-ink) !important;
    font-family: var(--jp-serif) !important;
    font-size: clamp(1rem,1.4vw,1.18rem) !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
}
.mspc-wrap .mspc-english {
    margin-top: 10px !important;
    color: var(--jp-muted) !important;
    font-size: .75rem !important;
    line-height: 1.5 !important;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.mspc-wrap .mspc-price {
    margin-top: 14px !important;
    color: var(--jp-red) !important;
    font-family: var(--jp-serif) !important;
    font-size: 1.45rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}
.mspc-wrap .mspc-pack {
    margin-top: 6px !important;
    color: var(--jp-muted) !important;
    font-size: .78rem !important;
}
.mspc-wrap .mspc-buy {
    display: inline-flex !important;
    width: 100% !important;
    min-height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: auto !important;
    padding: 13px 18px !important;
    color: var(--jp-white) !important;
    background: var(--jp-ink) !important;
    border: 1px solid var(--jp-ink) !important;
    border-radius: 0 !important;
    font-size: .82rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: .12em;
    text-decoration: none !important;
}
.mspc-wrap .mspc-buy:hover {
    color: var(--jp-white) !important;
    background: var(--jp-red) !important;
    border-color: var(--jp-red) !important;
}

@media (max-width: 767px) {
    .mspc-wrap .mspc-card {
        flex-basis: min(84%,310px) !important;
        width: min(84%,310px) !important;
        min-width: min(84%,310px) !important;
        max-width: min(84%,310px) !important;
    }
    .mspc-wrap .mspc-body { padding: 18px !important; }
}

/* Related posts: Japanese editorial continuation of the article page. */
.elementor-4944 .elementor-element.elementor-element-161931e6 {
    padding: clamp(72px,8vw,112px) max(22px,calc((100vw - var(--jp-content))/2)) !important;
    background: var(--jp-paper) !important;
    border-top: 1px solid var(--jp-line);
}
.elementor-4944 .elementor-element.elementor-element-530a635c {
    max-width: 760px;
    margin: 0 auto clamp(42px,5vw,64px) !important;
}
.elementor-4944 .elementor-element.elementor-element-530a635c .elementskit-section-title-wraper {
    text-align: center;
}
.elementor-4944 .elementor-element.elementor-element-530a635c .elementskit-section-title {
    margin: 0 0 18px !important;
    color: var(--jp-ink) !important;
    font-family: var(--jp-serif) !important;
    font-size: clamp(2rem,3.6vw,3.25rem) !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
    letter-spacing: -.02em;
}
.elementor-4944 .elementor-element.elementor-element-530a635c .elementskit-section-title-wraper p {
    max-width: 62ch;
    margin: 20px auto 0;
    color: var(--jp-muted) !important;
    font-size: .92rem;
    line-height: 1.8;
}
.elementor-4944 .elementor-element.elementor-element-530a635c :where(.elementskit-border-divider,.elementskit-border-divider::before) {
    height: 1px !important;
    background: var(--jp-red) !important;
    border: 0 !important;
}
.elementor-4944 .elementor-element.elementor-element-73ca4c3e .row {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr));
    align-items: stretch;
    gap: clamp(22px,2.6vw,34px);
    margin: 0 !important;
}
.elementor-4944 .elementor-element.elementor-element-73ca4c3e .row > [class*="col-"] {
    display: flex;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}
.elementor-4944 .elementor-element.elementor-element-73ca4c3e .elementskit-post-image-card {
    display: flex !important;
    width: 100%;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    background: var(--jp-white) !important;
    border: 1px solid var(--jp-line) !important;
    border-radius: 2px !important;
    box-shadow: 0 10px 28px rgba(38,35,30,.07) !important;
    transition: border-color .28s ease,box-shadow .28s ease,transform .28s ease;
}
.elementor-4944 .elementor-element.elementor-element-73ca4c3e .elementskit-post-image-card:hover {
    border-color: #aaa39a !important;
    box-shadow: 0 16px 34px rgba(38,35,30,.11) !important;
    transform: translateY(-4px);
}
.elementor-4944 .elementor-element.elementor-element-73ca4c3e .elementskit-entry-header {
    position: relative;
    flex: 0 0 auto;
}
.elementor-4944 .elementor-element.elementor-element-73ca4c3e .elementskit-entry-thumb {
    display: block;
    aspect-ratio: 16/10;
    padding: 0 !important;
    overflow: hidden;
    background: var(--jp-sand);
}
.elementor-4944 .elementor-element.elementor-element-73ca4c3e .elementskit-entry-thumb img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    transition: transform .45s ease,filter .3s ease;
}
.elementor-4944 .elementor-element.elementor-element-73ca4c3e .elementskit-post-image-card:hover .elementskit-entry-thumb img {
    filter: saturate(.92);
    transform: scale(1.035);
}
.elementor-4944 .elementor-element.elementor-element-73ca4c3e .elementskit-meta-lists.elementskit-style-tag {
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
}
.elementor-4944 .elementor-element.elementor-element-73ca4c3e .elementskit-single-meta {
    min-width: 58px;
    padding: 8px 10px !important;
    color: var(--jp-white) !important;
    background: var(--jp-red) !important;
    background-image: none !important;
    border-radius: 0 !important;
    font-size: .68rem;
    line-height: 1.1;
    text-align: center;
}
.elementor-4944 .elementor-element.elementor-element-73ca4c3e .elementskit-single-meta strong {
    display: block;
    font-family: var(--jp-serif);
    font-size: 1.25rem;
    font-weight: 600;
}
.elementor-4944 .elementor-element.elementor-element-73ca4c3e .elementskit-single-meta::before { display: none !important; }
.elementor-4944 .elementor-element.elementor-element-73ca4c3e .elementskit-post-body {
    display: flex !important;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 24px !important;
    background: var(--jp-white) !important;
}
.elementor-4944 .elementor-element.elementor-element-73ca4c3e .post-meta-list {
    min-height: 44px;
    margin: 0 0 16px !important;
    color: var(--jp-muted) !important;
    font-size: .72rem !important;
    line-height: 1.55;
}
.elementor-4944 .elementor-element.elementor-element-73ca4c3e .post-meta-list :where(a,span,i,svg) {
    color: var(--jp-muted) !important;
    fill: var(--jp-muted) !important;
}
.elementor-4944 .elementor-element.elementor-element-73ca4c3e .entry-title {
    display: -webkit-box;
    min-height: calc(1.55em * 3);
    margin: 0 !important;
    overflow: hidden;
    font-family: var(--jp-serif) !important;
    font-size: clamp(1.05rem,1.4vw,1.24rem) !important;
    font-weight: 600 !important;
    line-height: 1.55 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.elementor-4944 .elementor-element.elementor-element-73ca4c3e .entry-title a {
    color: var(--jp-ink) !important;
    font: inherit !important;
    text-decoration: none;
}
.elementor-4944 .elementor-element.elementor-element-73ca4c3e .entry-title a:hover { color: var(--jp-red) !important; }

@media (max-width: 900px) {
    .elementor-4944 .elementor-element.elementor-element-73ca4c3e .row { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
    .elementor-4944 .elementor-element.elementor-element-161931e6 { padding: 64px 20px !important; }
    .elementor-4944 .elementor-element.elementor-element-73ca4c3e .row { grid-template-columns: 1fr; }
    .elementor-4944 .elementor-element.elementor-element-73ca4c3e .entry-title { min-height: 0; }
}

/* Footer: layered Japanese night-garden treatment with CSS-only ornaments. */
.elementor-4870 {
    position: relative;
    overflow: hidden;
    background: #20211f;
}
.elementor-4870::before {
    position: absolute;
    z-index: 0;
    top: -105px;
    right: clamp(28px,8vw,150px);
    width: clamp(190px,24vw,350px);
    aspect-ratio: 1;
    background: rgba(159,48,40,.22);
    border: 1px solid rgba(210,83,68,.35);
    border-radius: 50%;
    box-shadow: 0 0 0 26px rgba(159,48,40,.035),0 0 0 52px rgba(159,48,40,.025);
    content: "";
    pointer-events: none;
}
.elementor-4870::after {
    position: absolute;
    z-index: 0;
    right: 0;
    bottom: 82px;
    left: 0;
    height: 82px;
    opacity: .1;
    background-image:
        radial-gradient(circle at 50% 100%,transparent 18px,rgba(255,255,255,.72) 19px,rgba(255,255,255,.72) 20px,transparent 21px),
        radial-gradient(circle at 0 100%,transparent 18px,rgba(255,255,255,.72) 19px,rgba(255,255,255,.72) 20px,transparent 21px);
    background-position: 0 0,40px 0;
    background-size: 80px 40px;
    content: "";
    pointer-events: none;
}
.elementor-4870 > .elementor-element { position: relative; z-index: 1; }
.elementor-4870 .elementor-element.elementor-element-7023f961 {
    display: grid !important;
    grid-template-columns: minmax(240px,1.35fr) repeat(3,minmax(145px,1fr));
    align-items: start !important;
    gap: clamp(34px,4vw,70px);
    padding-top: clamp(78px,9vw,124px) !important;
    padding-bottom: clamp(70px,8vw,104px) !important;
    background-color: #20211f !important;
    background-image: linear-gradient(115deg,rgba(255,255,255,.025),transparent 42%) !important;
    border-top: 4px solid var(--jp-red);
}
.elementor-4870 .elementor-element.elementor-element-7023f961 > .e-con {
    width: 100% !important;
    min-width: 0;
    padding: 0 !important;
}
.elementor-4870 .elementor-element.elementor-element-37142d96 {
    padding-right: clamp(8px,3vw,42px) !important;
    border-right: 1px solid rgba(255,255,255,.13);
}
.elementor-4870 .elementor-element.elementor-element-323c505a img {
    width: min(300px,100%) !important;
    filter: brightness(0) invert(1);
    opacity: .94;
}
.elementor-4870 .elementor-heading-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px !important;
    color: #fff !important;
    font-family: var(--jp-serif) !important;
    font-size: .92rem !important;
    font-weight: 600 !important;
    letter-spacing: .14em;
}
.elementor-4870 .elementor-heading-title::before {
    width: 18px;
    height: 1px;
    flex: 0 0 18px;
    background: var(--jp-red);
    content: "";
}
.elementor-4870 .elementor-widget-text-editor { margin-bottom: 4px !important; }
.elementor-4870 .elementor-widget-text-editor,
.elementor-4870 .elementor-widget-text-editor p {
    color: #c9c7c1 !important;
    font-size: .82rem !important;
    line-height: 1.75 !important;
}
.elementor-4870 .elementor-widget-text-editor a {
    position: relative;
    display: inline-block;
    color: #ddd9d1 !important;
    text-decoration: none !important;
    transition: color .2s ease,transform .2s ease;
}
.elementor-4870 .elementor-widget-text-editor a::before {
    display: inline-block;
    width: 4px;
    height: 4px;
    margin: 0 9px 2px 0;
    background: rgba(200,55,45,.9);
    transform: rotate(45deg);
    content: "";
}
.elementor-4870 .elementor-widget-text-editor a:hover {
    color: #fff !important;
    transform: translateX(3px);
}
.elementor-4870 .elementor-social-icon {
    width: 42px !important;
    height: 42px !important;
    color: #e9e5dd !important;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 50% !important;
}
.elementor-4870 .elementor-social-icon:hover {
    color: #fff !important;
    background: var(--jp-red) !important;
    border-color: var(--jp-red);
}
.elementor-4870 .elementor-element.elementor-element-25954948 {
    min-height: 62px;
    padding: 12px max(22px,calc((100vw - var(--jp-content))/2)) !important;
    background: #191a18 !important;
    border-top: 1px solid rgba(255,255,255,.14) !important;
}
.elementor-4870 .elementor-element.elementor-element-4bed1341 {
    min-height: 50px;
    padding: 8px max(22px,calc((100vw - var(--jp-content))/2)) !important;
    background: #191a18 !important;
}
.elementor-4870 :where(.elementor-element-25954948,.elementor-element-4bed1341) .elementor-widget-text-editor,
.elementor-4870 :where(.elementor-element-25954948,.elementor-element-4bed1341) .elementor-widget-text-editor p {
    margin: 0;
    color: #aaa79f !important;
    font-size: .72rem !important;
    letter-spacing: .06em;
}

@media (max-width: 1024px) {
    .elementor-4870 .elementor-element.elementor-element-7023f961 {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
    .elementor-4870 .elementor-element.elementor-element-37142d96 {
        grid-column: 1 / -1;
        padding: 0 0 34px !important;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.13);
    }
}
@media (max-width: 767px) {
    .elementor-4870::before { top: -70px; right: -70px; width: 210px; }
    .elementor-4870::after { bottom: 100px; }
    .elementor-4870 .elementor-element.elementor-element-7023f961 {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0;
        padding: 64px 20px 72px !important;
    }
    .elementor-4870 .elementor-element.elementor-element-7023f961 > .e-con {
        padding: 28px 0 !important;
        border-top: 1px solid rgba(255,255,255,.12);
    }
    .elementor-4870 .elementor-element.elementor-element-37142d96 {
        padding-top: 0 !important;
        border-top: 0 !important;
        border-bottom: 0;
    }
    .elementor-4870 .elementor-element.elementor-element-323c505a img { width: min(240px,72vw) !important; }
}

/* Dedicated journal search page. */
.medicine-search { color: var(--jp-body); background: var(--jp-paper); }
.medicine-search__hero {
    padding: clamp(72px,9vw,128px) max(22px,calc((100vw - var(--jp-content))/2));
    background: var(--jp-white);
    border-bottom: 1px solid var(--jp-line);
}
.medicine-search__hero-inner { max-width: 920px; margin: 0 auto; text-align: center; }
.medicine-search__eyebrow,.medicine-search__kicker {
    margin: 0 0 18px;
    color: var(--jp-red);
    font-size: .72rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .2em;
    text-transform: uppercase;
}
.medicine-search__hero h1 {
    margin: 0;
    color: var(--jp-ink);
    font-family: var(--jp-serif);
    font-size: clamp(2.65rem,6vw,5.25rem);
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: -.03em;
}
.medicine-search__intro { max-width: 650px; margin: 24px auto 34px; color: var(--jp-muted); font-size: 1rem; line-height: 1.8; }
.medicine-search__form {
    display: grid;
    max-width: 720px;
    min-height: 58px;
    grid-template-columns: minmax(0,1fr) auto;
    margin: 0 auto;
    background: var(--jp-white);
    border: 1px solid var(--jp-ink);
}
.medicine-search__form input[type="search"] {
    width: 100%;
    min-width: 0;
    min-height: 58px;
    padding: 0 20px;
    color: var(--jp-ink);
    background: transparent;
    border: 0;
    border-radius: 0;
    font-size: 1rem;
}
.medicine-search__form button {
    display: inline-flex;
    min-width: 132px;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 22px;
    color: #fff;
    background: var(--jp-red);
    border: 0;
    border-left: 1px solid var(--jp-red-dark);
    border-radius: 0;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .1em;
    cursor: pointer;
}
.medicine-search__form button:hover { background: var(--jp-red-dark); }
.medicine-search__form:focus-within { outline: 3px solid rgba(159,48,40,.25); outline-offset: 3px; }
.medicine-search__form input:focus,.medicine-search__form button:focus { outline: 0; }
.medicine-search__results { width: min(var(--jp-content),calc(100% - 44px)); margin: 0 auto; padding: clamp(64px,8vw,112px) 0; }
.medicine-search__results-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: clamp(34px,4vw,52px);
    padding-bottom: 22px;
    border-bottom: 1px solid var(--jp-ink);
}
.medicine-search__results-head h2 {
    margin: 0;
    color: var(--jp-ink);
    font-family: var(--jp-serif);
    font-size: clamp(1.8rem,3vw,2.75rem);
    font-weight: 500;
    line-height: 1.2;
}
.medicine-search__count { margin: 0; color: var(--jp-muted); font-size: .78rem; letter-spacing: .08em; white-space: nowrap; }
.medicine-search__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: clamp(22px,3vw,36px); }
.medicine-search-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    background: var(--jp-white);
    border: 1px solid var(--jp-line);
    box-shadow: 0 10px 28px rgba(38,35,30,.07);
    transition: border-color .28s ease,box-shadow .28s ease,transform .28s ease;
}
.medicine-search-card:hover { border-color: #aaa39a; box-shadow: 0 16px 34px rgba(38,35,30,.11); transform: translateY(-4px); }
.medicine-search-card__image { display: block; aspect-ratio: 16/10; overflow: hidden; background: var(--jp-sand); }
.medicine-search-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.medicine-search-card:hover .medicine-search-card__image img { transform: scale(1.035); }
.medicine-search-card__placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: rgba(159,48,40,.35); font-family: var(--jp-serif); font-size: 3.5rem; }
.medicine-search-card__body { display: flex; flex: 1 1 auto; flex-direction: column; padding: 22px; }
.medicine-search-card__meta { display: flex; min-height: 22px; flex-wrap: wrap; gap: 7px; color: var(--jp-muted); font-size: .7rem; line-height: 1.5; letter-spacing: .04em; }
.medicine-search-card__meta a { color: var(--jp-red); text-decoration: none; }
.medicine-search-card h3 {
    display: -webkit-box;
    min-height: calc(1.5em * 3);
    margin: 15px 0 0;
    overflow: hidden;
    color: var(--jp-ink);
    font-family: var(--jp-serif);
    font-size: clamp(1.08rem,1.5vw,1.3rem);
    font-weight: 600;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.medicine-search-card h3 a { color: inherit; text-decoration: none; }
.medicine-search-card h3 a:hover { color: var(--jp-red); }
.medicine-search-card__body > p { display: -webkit-box; margin: 14px 0 0; overflow: hidden; color: var(--jp-muted); font-size: .86rem; line-height: 1.7; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.medicine-search-card__more { display: inline-flex; width: fit-content; min-height: 44px; align-items: center; gap: 10px; margin-top: auto; padding-top: 20px; color: var(--jp-ink); border-bottom: 1px solid var(--jp-red); font-size: .76rem; font-weight: 600; letter-spacing: .08em; text-decoration: none; }
.medicine-search-card__more:hover { color: var(--jp-red); }
.medicine-search__pagination { margin-top: clamp(44px,6vw,72px); }
.medicine-search__pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.medicine-search__pagination .page-numbers { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; padding: 8px 14px; color: var(--jp-ink); background: var(--jp-white); border: 1px solid var(--jp-line); text-decoration: none; }
.medicine-search__pagination .page-numbers:hover,.medicine-search__pagination .page-numbers.current { color: #fff; background: var(--jp-red); border-color: var(--jp-red); }
.medicine-search__empty { max-width: 680px; margin: 0 auto; padding: clamp(44px,7vw,80px); background: var(--jp-white); border: 1px solid var(--jp-line); text-align: center; }
.medicine-search__empty > span { color: rgba(159,48,40,.32); font-family: var(--jp-serif); font-size: 3rem; }
.medicine-search__empty h2 { margin: 18px 0 12px; color: var(--jp-ink); font-family: var(--jp-serif); font-weight: 500; }
.medicine-search__empty p { max-width: 52ch; margin: 0 auto; color: var(--jp-muted); line-height: 1.8; }

@media (max-width: 900px) { .medicine-search__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) {
    .medicine-search__hero { padding: 64px 20px; }
    .medicine-search__form { grid-template-columns: 1fr; border: 0; background: transparent; gap: 10px; }
    .medicine-search__form input[type="search"] { background: #fff; border: 1px solid var(--jp-ink); }
    .medicine-search__form button { width: 100%; border: 1px solid var(--jp-red-dark); }
    .medicine-search__results { width: calc(100% - 40px); padding: 64px 0; }
    .medicine-search__results-head { align-items: flex-start; flex-direction: column; gap: 10px; }
    .medicine-search__grid { grid-template-columns: 1fr; }
    .medicine-search-card h3 { min-height: 0; }
}

/* Final responsive hardening layer. Keep this last so Elementor and plugin CSS cannot reopen layout bugs. */
html { max-width: 100%; overflow-x: clip; }
body { width: 100%; max-width: 100%; overflow-x: clip; }
*,*::before,*::after { box-sizing: border-box; }
img,svg,video,iframe { max-width: 100%; }

/* Site-wide back-to-top control. */
.medicine-back-to-top {
    position: fixed;
    z-index: 999;
    right: clamp(16px,2.5vw,34px);
    bottom: clamp(16px,2.5vw,34px);
    display: grid;
    width: 48px;
    height: 48px;
    padding: 0;
    place-items: center;
    color: #fff;
    background: var(--jp-red,#9f3028);
    border: 1px solid var(--jp-red-dark,#7f241e);
    border-radius: 0;
    box-shadow: 0 8px 22px rgba(38,35,30,.18);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity .22s ease,transform .22s ease,background-color .22s ease;
}
.medicine-back-to-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.medicine-back-to-top:hover { background: var(--jp-red-dark,#7f241e); }
.medicine-back-to-top:focus-visible { outline: 3px solid rgba(159,48,40,.3); outline-offset: 4px; }
.medicine-back-to-top span {
    width: 11px;
    height: 11px;
    margin-top: 5px;
    border-top: 2px solid currentColor;
    border-left: 2px solid currentColor;
    transform: rotate(45deg);
}
@media (max-width: 767px) { .medicine-back-to-top { width: 44px; height: 44px; } }
@media (prefers-reduced-motion: reduce) { .medicine-back-to-top { transition: none; } }
.elementor :where(.e-con,.e-con-inner,.elementor-widget,.elementor-widget-container) { min-width: 0; }
.elementor :where(h1,h2,h3,h4,p,a,li) { overflow-wrap: break-word; }
.elementor :where(input,select,textarea,button) { max-width: 100%; }
.elementor-widget-theme-post-content :where(pre,table) { max-width: 100%; overflow-x: auto; }
.elementor-widget-theme-post-content iframe { width: 100%; }

/* The hero is always compact; later legacy hero rules above must not enlarge it. */
.elementor-4824 .elementor-element.elementor-element-746ec77f {
    width: 100% !important;
    height: 400px !important;
    min-height: 0 !important;
    max-height: 400px !important;
    padding: 0 !important;
    overflow: hidden !important;
}
.elementor-4824 .elementor-element.elementor-element-746ec77f > .elementor-element { min-height: 0 !important; }
.elementor-4824 .elementor-element.elementor-element-5a6e8483 img { min-height: 0 !important; }

@media (min-width: 1025px) {
    .elementor-4824 .elementor-element.elementor-element-746ec77f {
        display: grid !important;
        grid-template-columns: minmax(0,56%) minmax(0,44%) !important;
        align-items: stretch !important;
    }
    .elementor-4824 .elementor-element.elementor-element-74c084f6,
    .elementor-4824 .elementor-element.elementor-element-27b94c7f {
        position: relative;
        inset: auto;
        width: 100% !important;
        height: 400px !important;
        min-height: 0 !important;
        max-height: 400px !important;
        flex: none !important;
    }
    .elementor-4824 .elementor-element.elementor-element-74c084f6 {
        padding: 28px clamp(34px,5vw,96px) !important;
    }
    .elementor-4824 .elementor-element.elementor-element-27b94c7f > .e-con-inner,
    .elementor-4824 .elementor-element.elementor-element-5a6e8483,
    .elementor-4824 .elementor-element.elementor-element-5a6e8483 .elementor-widget-container { height: 100% !important; }
    .elementor-4824 .elementor-element.elementor-element-5a6e8483 img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: 58% center !important;
    }
    .elementor-4824 .elementor-element.elementor-element-746ec77f .elementor-heading-title {
        max-width: 16ch !important;
        font-size: clamp(2.35rem,3.45vw,3.7rem) !important;
        line-height: 1.03 !important;
    }
}

@media (max-width: 1024px) {
    .elementor-4816 .elementor-element.elementor-element-247ab495 {
        width: 100%;
        grid-template-columns: minmax(160px,230px) minmax(0,1fr) !important;
        padding: 14px 20px !important;
    }
    .elementor-4816 .elementor-element.elementor-element-64e7e270 img { width: min(220px,100%) !important; }
    .elementor-4816 .elementor-element.elementor-element-99b87b7 { width: 100% !important; }

    .elementor-4824 .elementor-element.elementor-element-746ec77f { display: block !important; position: relative; }
    .elementor-4824 .elementor-element.elementor-element-74c084f6 {
        position: relative !important;
        z-index: 2;
        width: 100% !important;
        height: 400px !important;
        min-height: 0 !important;
        padding: clamp(28px,5vw,44px) clamp(22px,7vw,72px) !important;
        justify-content: center !important;
        background: linear-gradient(90deg,var(--jp-paper) 0%,rgba(250,248,243,.97) 48%,rgba(250,248,243,.78) 68%,rgba(250,248,243,.06) 100%) !important;
    }
    .elementor-4824 .elementor-element.elementor-element-27b94c7f {
        position: absolute !important;
        z-index: 1;
        inset: 0 !important;
        width: 100% !important;
        height: 400px !important;
        min-height: 0 !important;
        overflow: hidden;
    }
    .elementor-4824 .elementor-element.elementor-element-27b94c7f > .e-con-inner,
    .elementor-4824 .elementor-element.elementor-element-5a6e8483,
    .elementor-4824 .elementor-element.elementor-element-5a6e8483 .elementor-widget-container { width: 100% !important; height: 100% !important; }
    .elementor-4824 .elementor-element.elementor-element-5a6e8483 img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: 70% center !important;
    }
    .elementor-4824 .elementor-element.elementor-element-746ec77f .elementor-heading-title {
        width: min(12ch,65vw) !important;
        max-width: min(12ch,65vw) !important;
        font-size: clamp(2.3rem,6vw,3.5rem) !important;
        line-height: 1.02 !important;
    }
    .elementor-4824 .elementor-element.elementor-element-40b01ab5 { display: none !important; }

    .ymc-container .filter-content .posts-grid,
    .ymc-extra-container .filter-content .posts-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .elementor-4944 .elementor-element.elementor-element-73ca4c3e .row { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .elementor-4870 .elementor-element.elementor-element-7023f961 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width: 767px) {
    .elementor-4816 .elementor-element.elementor-element-247ab495 {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) auto !important;
        gap: 10px !important;
        padding: 12px 16px !important;
    }
    .elementor-4816 .elementor-element.elementor-element-64e7e270 { grid-column: 1; grid-row: 1; }
    .elementor-4816 .elementor-element.elementor-element-64e7e270 img { width: min(190px,58vw) !important; }
    .elementor-4816 .elementor-element.elementor-element-99b87b7 { grid-column: 1 / -1; grid-row: 2; }
    .elementor-4816 .mshs-input-group { min-height: 46px; }
    .elementor-4816 .mshs-input { min-width: 0; height: 46px; padding-inline: 13px; font-size: 14px; }
    .elementor-4816 .mshs-button { width: 50px; height: 46px; flex-basis: 50px; }

    .elementor-4824 .elementor-element.elementor-element-746ec77f,
    .elementor-4824 .elementor-element.elementor-element-74c084f6,
    .elementor-4824 .elementor-element.elementor-element-27b94c7f { height: 380px !important; max-height: 380px !important; }
    .elementor-4824 .elementor-element.elementor-element-74c084f6 {
        padding: 26px 18px !important;
        background: linear-gradient(90deg,var(--jp-paper) 0%,rgba(250,248,243,.97) 56%,rgba(250,248,243,.72) 78%,rgba(250,248,243,.08) 100%) !important;
    }
    .elementor-4824 .elementor-element.elementor-element-746ec77f .elementor-heading-title {
        width: min(10ch,76vw) !important;
        max-width: min(10ch,76vw) !important;
        font-size: clamp(1.95rem,9.5vw,2.55rem) !important;
        line-height: 1.03 !important;
    }
    .elementor-4824 .elementor-element.elementor-element-33bcdebf p { font-size: .62rem !important; letter-spacing: .1em !important; }
    .elementor-4824 .elementor-element.elementor-element-78de18cc .elementor-button { min-height: 42px; padding: 10px 16px; font-size: .78rem; }

    .ymc-container .filter-content .posts-grid,
    .ymc-extra-container .filter-content .posts-grid { display: grid !important; grid-template-columns: minmax(0,1fr) !important; }
    .elementor-4944 .elementor-element.elementor-element-73ca4c3e .row { grid-template-columns: minmax(0,1fr) !important; }
    .elementor-4870 .elementor-element.elementor-element-7023f961 { grid-template-columns: minmax(0,1fr) !important; padding: 54px 18px 62px !important; }
    .elementor-4870 .elementor-element.elementor-element-25954948,
    .elementor-4870 .elementor-element.elementor-element-4bed1341 { padding-inline: 18px !important; text-align: center; }

    .elementor-4944 .elementor-widget-theme-post-content { font-size: 1rem; line-height: 1.9; }
    .elementor-4944 .elementor-widget-theme-post-content :where(h1,h2,h3) { overflow-wrap: anywhere; }
    .elementor-4944 .elementor-widget-theme-post-content :where(ul,ol) { padding-left: 1.35em; }
    .elementor-4944 .elementor-widget-theme-post-content blockquote { padding: 1.1em 1.2em; }
    .elementor-4944 .elementor-element.elementor-element-161931e6 { padding: 54px 18px !important; }

    .medicine-search__hero { padding: 52px 18px; }
    .medicine-search__hero h1 { font-size: clamp(2.2rem,12vw,3.4rem); }
    .medicine-search__results { width: calc(100% - 36px); padding: 52px 0; }
    .medicine-search__count { white-space: normal; }
    .medicine-search__empty { padding: 38px 22px; }
    .medicine-404 { padding: 26px 16px; }
    .medicine-404__panel { padding-inline: 22px; }
}

@media (max-width: 380px) {
    .elementor-4816 .elementor-element.elementor-element-247ab495 { padding-inline: 12px !important; }
    .elementor-4816 .elementor-element.elementor-element-64e7e270 img { width: min(165px,55vw) !important; }
    .elementor-4824 .elementor-element.elementor-element-746ec77f,
    .elementor-4824 .elementor-element.elementor-element-74c084f6,
    .elementor-4824 .elementor-element.elementor-element-27b94c7f { height: 360px !important; max-height: 360px !important; }
    .elementor-4824 .elementor-element.elementor-element-746ec77f .elementor-heading-title { font-size: clamp(1.8rem,9vw,2.15rem) !important; }
    .medicine-search__hero,.medicine-search__results { padding-inline: 16px; }
}

@media (hover: none),(pointer: coarse) {
    .post-card__inner:hover,
    .mspc-wrap .mspc-card:hover,
    .elementor-4944 .elementskit-post-image-card:hover,
    .medicine-search-card:hover { transform: none !important; }
    .post-card__inner:hover img,
    .mspc-wrap .mspc-card:hover img,
    .elementor-4944 .elementskit-post-image-card:hover img,
    .medicine-search-card:hover img { transform: none !important; }
}

/* Single-post template 4944: authoritative responsive article/sidebar layout. */
.single-post .elementor-4944 .e-0c72c1c-23c29d0 {
    display: flex !important;
    width: min(100%,var(--jp-content)) !important;
    max-width: var(--jp-content) !important;
    margin-inline: auto !important;
     padding: clamp(20px, 6vw, 20px) 22px !important;   
    gap: clamp(30px,5vw,30px) !important;
    align-items: flex-start !important;
}
.single-post .elementor-4944 .e-52a3a70-418bbd9 {
    width: calc(70% - 36px) !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: 1 1 0 !important;
}
.single-post .elementor-4944 .elementor-element.elementor-element-2da8f89 {
    position: sticky;
    top: 24px;
    width: min(30%,340px) !important;
    max-width: 340px !important;
    min-width: 250px !important;
    flex: 0 0 min(30%,340px) !important;
}
.single-post .elementor-4944 .elementor-element.elementor-element-81acdcf,
.single-post .elementor-4944 .elementor-element.elementor-element-81acdcf .elementor-widget-container { width: 100%; }
.single-post .elementor-4944 .elementor-element.elementor-element-81acdcf img {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-height: 520px;
    aspect-ratio: 16/9;
    object-fit: cover;
    object-position: center;
}
.single-post .elementor-4944 .elementor-element.elementor-element-7188d58 .elementor-heading-title {
    max-width: 100%;
    margin-inline: 0;
    color: var(--jp-ink) !important;
    font-family: var(--jp-serif) !important;
    font-size: clamp(2.35rem,3.6vw,4.6rem) !important;
    font-weight: 500 !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em;
    overflow-wrap: break-word;
}
.single-post .elementor-4944 .elementor-element.elementor-element-ce54c37 {
    width: 100%;
    max-width: 100%;
    margin-block: 26px 34px;
}
.single-post .elementor-4944 .elementor-element.elementor-element-ce54c37 .elementor-toc__body { overflow-x: hidden; }
.single-post .elementor-4944 .elementor-widget-theme-post-content { width: 100%; max-width: 100%; }
.single-post .elementor-4944 .elementor-widget-theme-post-content :where(img,figure,video,iframe) { max-width: 100%; height: auto; }
.single-post .elementor-4944 .elementor-widget-theme-post-content figure { margin-inline: 0; }
.single-post .elementor-4944 .elementor-widget-theme-post-content :where(.wp-block-columns,.wp-block-group) { max-width: 100%; }
.single-post .elementor-4944 .elementor-widget-theme-post-content :where(table,pre) {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}
.single-post .elementor-4944 .elementor-widget-theme-post-content pre { white-space: pre; }
.single-post .elementor-4944 .elementor-widget-theme-post-content :where(a,code) { overflow-wrap: anywhere; }
.single-post .elementor-4944 .elementor-widget-theme-post-content .alignwide,
.single-post .elementor-4944 .elementor-widget-theme-post-content .alignfull {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
}
.single-post .elementor-4944 .elementor-element.elementor-element-2da8f89 > .e-con {
    width: 100% !important;
    max-width: 100% !important;
}

@media (max-width: 1024px) {
    .single-post .elementor-4944 .e-0c72c1c-23c29d0 {
        flex-direction: column !important;
        padding: 44px 22px 64px !important;
        gap: 50px !important;
    }
    .single-post .elementor-4944 .e-52a3a70-418bbd9,
    .single-post .elementor-4944 .elementor-element.elementor-element-2da8f89 {
        position: static;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
    }
    .single-post .elementor-4944 .elementor-element.elementor-element-2da8f89 {
        display: grid !important;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 22px !important;
        align-items: start;
    }
    .single-post .elementor-4944 .elementor-element.elementor-element-b674cac { grid-column: 1 / -1; }
    .single-post .elementor-4944 .elementor-element.elementor-element-7188d58 .elementor-heading-title {
        max-width: 20ch;
        font-size: clamp(2.4rem,6.5vw,4rem) !important;
    }
}

@media (max-width: 767px) {
    .single-post .elementor-4944 .e-0c72c1c-23c29d0 {
        width: 100% !important;
        padding: 28px 16px 52px !important;
        gap: 40px !important;
    }
    .single-post .elementor-4944 .elementor-element.elementor-element-81acdcf img {
        max-height: none;
        aspect-ratio: 16/10;
    }
    .single-post .elementor-4944 .elementor-element.elementor-element-7188d58 { margin-block: 22px 18px !important; }
    .single-post .elementor-4944 .elementor-element.elementor-element-7188d58 .elementor-heading-title {
        max-width: 100%;
        font-size: clamp(2rem,10vw,2.85rem) !important;
        line-height: 1.12 !important;
        overflow-wrap: anywhere;
    }
    .single-post .elementor-4944 .elementor-element.elementor-element-ce54c37 { margin-block: 20px 28px; }
    .single-post .elementor-4944 .elementor-widget-theme-post-content {
        font-size: 1rem !important;
        line-height: 1.9 !important;
    }
    .single-post .elementor-4944 .elementor-widget-theme-post-content :where(h2,h3) {
        margin-top: 2.1em;
        overflow-wrap: anywhere;
    }
    .single-post .elementor-4944 .elementor-widget-theme-post-content h2 {
        padding-block: .6em;
        font-size: clamp(1.45rem,7vw,2rem);
        line-height: 1.35;
    }
    .single-post .elementor-4944 .elementor-widget-theme-post-content h3 { font-size: clamp(1.2rem,5.5vw,1.55rem); }
    .single-post .elementor-4944 .elementor-widget-theme-post-content :where(ul,ol) { padding-inline-start: 1.3em; }
    .single-post .elementor-4944 .elementor-widget-theme-post-content blockquote { margin-inline: 0; padding: 1em 1.1em; }
    .single-post .elementor-4944 .elementor-element.elementor-element-2da8f89 {
        grid-template-columns: minmax(0,1fr);
        gap: 0 !important;
    }
    .single-post .elementor-4944 .elementor-element.elementor-element-2da8f89 > .e-con { padding-block: 22px !important; }
    .single-post .elementor-4944 .elementor-element.elementor-element-161931e6 { padding: 52px 16px !important; }
    .single-post .elementor-4944 .elementor-element.elementor-element-73ca4c3e .elementskit-post-body { padding: 20px !important; }
}

@media (max-width: 380px) {
    .single-post .elementor-4944 .e-0c72c1c-23c29d0 { padding-inline: 13px !important; }
    .single-post .elementor-4944 .elementor-element.elementor-element-7188d58 .elementor-heading-title { font-size: 1.85rem !important; }
    .single-post .elementor-4944 .elementor-widget-theme-post-content { font-size: .96rem !important; }
}

/* Compact site-wide spacing rhythm. */
:root {
    --jp-space-section: clamp(42px,5.5vw,72px);
    --jp-space-block: clamp(18px,2.5vw,30px);
    --jp-space-item: clamp(10px,1.5vw,16px);
}
.elementor { --kit-widget-spacing: 14px; }
.elementor .elementor-widget:not(:last-child) { margin-block-end: 14px; }
.elementor .e-con { --row-gap: var(--jp-space-item); --column-gap: var(--jp-space-item); }
.elementor .elementor-widget-text-editor :where(p,ul,ol):last-child { margin-bottom: 0; }
.elementor .elementor-widget-heading .elementor-heading-title { margin-block: 0; }

.ymc-container .filter-content .posts-grid,
.ymc-extra-container .filter-content .posts-grid { gap: clamp(18px,2.5vw,36px) !important; }
.mspc-wrap { padding-block: clamp(20px,3vw,36px); }

.single-post .elementor-4944 .e-0c72c1c-23c29d0 {
    gap: clamp(20px,3vw,26px) !important;
    padding-block: 16px !important;
}
.single-post .elementor-4944 .elementor-element.elementor-element-7188d58 { margin-block: 20px 14px !important; }
.single-post .elementor-4944 .elementor-element.elementor-element-ce54c37 { margin-block: 16px 22px; }
.single-post .elementor-4944 .elementor-widget-theme-post-content :where(p,ul,ol,table,blockquote) { margin-bottom: 1.35em; }
.single-post .elementor-4944 .elementor-widget-theme-post-content :where(h2,h3) { margin-top: 2em; margin-bottom: .75em; }

.elementor-4870 .elementor-element.elementor-element-7023f961 { padding-block: var(--jp-space-section) !important; }
.elementor-4870 .elementor-element.elementor-element-d15ca1a1 { padding-block: 20px !important; }
.elementor-4870 .elementor-element.elementor-element-25954948 { min-height: 50px; padding-block: 8px !important; }
.elementor-4870 .elementor-element.elementor-element-4bed1341 { min-height: 42px; padding-block: 6px !important; }

.medicine-search__hero { padding-block: var(--jp-space-section); }
.medicine-search__results { padding-block: var(--jp-space-section); }
.medicine-search__results-head { margin-bottom: var(--jp-space-block); padding-bottom: 16px; }
.medicine-search__pagination { margin-top: var(--jp-space-block); }

@media (max-width: 1024px) {
    .single-post .elementor-4944 .e-0c72c1c-23c29d0 { padding-block: 30px 46px !important; gap: 34px !important; }
    .elementor-4870 .elementor-element.elementor-element-7023f961 { padding-block: 44px !important; }
}
@media (max-width: 767px) {
    .elementor { --kit-widget-spacing: 12px; }
    .elementor .elementor-widget:not(:last-child) { margin-block-end: 12px; }
    .single-post .elementor-4944 .e-0c72c1c-23c29d0 { padding-block: 22px 40px !important; gap: 30px !important; }
    .single-post .elementor-4944 .elementor-widget-theme-post-content :where(h2,h3) { margin-top: 1.7em; }
    .elementor-4870 .elementor-element.elementor-element-7023f961 { padding-block: 36px !important; }
    .medicine-search__hero,.medicine-search__results { padding-block: 40px; }
}

/* Compact Featured Products carousel. */
.mspc-wrap {
    margin-block: 16px !important;
    padding-block: 14px !important;
}
.mspc-wrap .mspc-head { margin-bottom: 10px; }
.mspc-wrap .mspc-head h2 { font-size: clamp(1.45rem,2vw,1.85rem); }
.mspc-wrap .mspc-controls button {
    width: 38px !important;
    height: 38px !important;
    font-size: 17px !important;
}
.mspc-wrap .mspc-track {
    gap: 14px !important;
    padding: 3px 3px 10px !important;
}
.mspc-wrap .mspc-card {
    flex-basis: calc((100% - 42px)/4) !important;
    width: calc((100% - 42px)/4) !important;
    min-width: calc((100% - 42px)/4) !important;
    max-width: calc((100% - 42px)/4) !important;
}
.mspc-wrap .mspc-image-box {
    height: 180px !important;
    aspect-ratio: auto;
}
.mspc-wrap .mspc-image { padding: 14px !important; }
.mspc-wrap .mspc-body { padding: 14px !important; }
.mspc-wrap .mspc-name {
    min-height: 1.45em !important;
    font-size: 1rem !important;
}
.mspc-wrap .mspc-english { margin-top: 5px !important; font-size: .68rem !important; }
.mspc-wrap .mspc-price { margin-top: 8px !important; font-size: 1.2rem !important; }
.mspc-wrap .mspc-pack { margin-top: 3px !important; font-size: .7rem !important; }
.mspc-wrap .mspc-buy {
    min-height: 40px !important;
    margin-top: 10px !important;
    padding: 9px 14px !important;
    font-size: .76rem !important;
}
@media (max-width: 1024px) {
    .mspc-wrap .mspc-card {
        flex-basis: calc((100% - 28px)/3) !important;
        width: calc((100% - 28px)/3) !important;
        min-width: calc((100% - 28px)/3) !important;
        max-width: calc((100% - 28px)/3) !important;
    }
    .mspc-wrap .mspc-image-box { height: 170px !important; }
}
@media (max-width: 700px) {
    .mspc-wrap .mspc-card {
        flex-basis: calc((100% - 14px)/2) !important;
        width: calc((100% - 14px)/2) !important;
        min-width: calc((100% - 14px)/2) !important;
        max-width: calc((100% - 14px)/2) !important;
    }
    .mspc-wrap .mspc-image-box { height: 155px !important; }
}
@media (max-width: 480px) {
    .mspc-wrap .mspc-card {
        flex-basis: min(82%,280px) !important;
        width: min(82%,280px) !important;
        min-width: min(82%,280px) !important;
        max-width: min(82%,280px) !important;
    }
    .mspc-wrap .mspc-image-box { height: 165px !important; }
}

/* Final spacing audit: reduce remaining oversized layout outliers. */
.elementor-4816 .elementor-element.elementor-element-247ab495 {
    --padding-top: 14px;
    --padding-bottom: 14px;
    gap: clamp(12px,1.8vw,26px);
}

.elementor-4824 .elementor-element.elementor-element-746ec77f,
.elementor-4824 .elementor-element.elementor-element-74c084f6,
.elementor-4824 .elementor-element.elementor-element-27b94c7f {
    height: 340px !important;
    max-height: 340px !important;
}
.elementor-4824 .elementor-element.elementor-element-74c084f6 {
    padding-block: 22px !important;
}

.elementor-4994 .elementor-element.elementor-element-6cee1c13 {
    --padding-top: clamp(36px,4.5vw,56px) !important;
    --padding-bottom: clamp(32px,4vw,50px) !important;
}
.elementor-4994 .elementor-element.elementor-element-43c43a97 {
    --gap: clamp(24px,4vw,48px) !important;
}
.elementor-4994 .elementor-element.elementor-element-20ea1ca7 {
    --padding-top: clamp(18px,2vw,26px) !important;
    --padding-bottom: clamp(18px,2vw,26px) !important;
}
.elementor-4994 .elementor-element.elementor-element-169ce0c7 {
    --padding-top: clamp(34px,4vw,52px) !important;
    --padding-bottom: clamp(42px,5vw,68px) !important;
}

.elementor-4944 .elementor-element.elementor-element-161931e6 {
    padding-block: clamp(40px,5vw,64px) !important;
}
.elementor-4944 .elementor-element.elementor-element-530a635c {
    margin-bottom: clamp(24px,3vw,38px) !important;
}

.medicine-404 {
    min-height: 0;
    padding-block: clamp(36px,4.5vw,58px);
}
.medicine-404__panel {
    min-height: clamp(400px,48vw,520px);
    gap: clamp(24px,4vw,52px);
    padding: clamp(30px,4.5vw,56px);
}

@media (max-width: 1024px) {
    .elementor-4824 .elementor-element.elementor-element-746ec77f,
    .elementor-4824 .elementor-element.elementor-element-74c084f6,
    .elementor-4824 .elementor-element.elementor-element-27b94c7f {
        height: 320px !important;
        max-height: 320px !important;
    }
}
@media (max-width: 767px) {
    .elementor-4816 .elementor-element.elementor-element-247ab495 { padding-block: 10px !important; }
    .elementor-4824 .elementor-element.elementor-element-746ec77f,
    .elementor-4824 .elementor-element.elementor-element-74c084f6,
    .elementor-4824 .elementor-element.elementor-element-27b94c7f {
        height: 300px !important;
        max-height: 300px !important;
    }
    .elementor-4994 .elementor-element.elementor-element-6cee1c13 {
        --padding-top: 30px !important;
        --padding-bottom: 30px !important;
    }
    .elementor-4994 .elementor-element.elementor-element-169ce0c7 {
        --padding-top: 30px !important;
        --padding-bottom: 42px !important;
    }
    .elementor-4944 .elementor-element.elementor-element-161931e6 { padding-block: 36px !important; }
    .medicine-404 { padding-block: 28px; }
    .medicine-404__panel { min-height: 0; gap: 24px; padding: 30px 20px 46px; }
}

/* Extra-compact single-post layout. */
.single-post .elementor-4944 .e-0c72c1c-23c29d0 {
    padding-block: 8px 24px !important;
    gap: 18px !important;
}
.single-post .elementor-4944 .e-52a3a70-418bbd9 { gap: 10px !important; }
.single-post .elementor-4944 .elementor-element.elementor-element-81acdcf { margin-bottom: 0 !important; }
.single-post .elementor-4944 .elementor-element.elementor-element-81acdcf img { max-height: 420px; }
.single-post .elementor-4944 .elementor-element.elementor-element-7188d58 {
    margin-block: 12px 8px !important;
}
.single-post .elementor-4944 .elementor-element.elementor-element-ce54c37 {
    margin-block: 10px 14px !important;
}
.single-post .elementor-4944 .elementor-toc__header { padding-block: 10px !important; }
.single-post .elementor-4944 .elementor-toc__body { padding-block: 8px 12px !important; }
.single-post .elementor-4944 .elementor-widget-theme-post-content :where(p,ul,ol,table,blockquote) {
    margin-bottom: 1em;
}
.single-post .elementor-4944 .elementor-widget-theme-post-content :where(h2,h3) {
    margin-top: 1.45em;
    margin-bottom: .55em;
}
.single-post .elementor-4944 .elementor-element.elementor-element-2da8f89 { gap: 10px !important; }
.single-post .elementor-4944 .elementor-element.elementor-element-2da8f89 > .e-con {
    padding-block: 12px !important;
}
.single-post .elementor-4944 .elementor-element.elementor-element-2da8f89 :where(.elementor-widget-icon-list,.elementor-widget-posts) {
    padding-block: 12px;
}
.single-post .elementor-4944 .elementor-element.elementor-element-161931e6 {
    padding-block: 28px !important;
}
.single-post .elementor-4944 .elementor-element.elementor-element-530a635c {
    margin-bottom: 20px !important;
}
.single-post .elementor-4944 .elementor-element.elementor-element-73ca4c3e .row { gap: 16px !important; }
.single-post .elementor-4944 .elementor-element.elementor-element-73ca4c3e .elementskit-post-body {
    padding: 14px !important;
}
@media (max-width: 1024px) {
    .single-post .elementor-4944 .e-0c72c1c-23c29d0 {
        padding-block: 16px 28px !important;
        gap: 22px !important;
    }
    .single-post .elementor-4944 .elementor-element.elementor-element-2da8f89 { gap: 12px !important; }
}
@media (max-width: 767px) {
    .single-post .elementor-4944 .e-0c72c1c-23c29d0 {
        padding: 12px 14px 24px !important;
        gap: 18px !important;
    }
    .single-post .elementor-4944 .elementor-element.elementor-element-7188d58 { margin-block: 10px 6px !important; }
    .single-post .elementor-4944 .elementor-element.elementor-element-ce54c37 { margin-block: 8px 12px !important; }
    .single-post .elementor-4944 .elementor-widget-theme-post-content :where(h2,h3) { margin-top: 1.35em; }
    .single-post .elementor-4944 .elementor-element.elementor-element-2da8f89 > .e-con { padding-block: 10px !important; }
    .single-post .elementor-4944 .elementor-element.elementor-element-161931e6 { padding-block: 24px !important; }
}

/* Compact category-filter cards. */
.ymc-container .filter-content .posts-grid,
.ymc-extra-container .filter-content .posts-grid { gap: 16px !important; }
.ymc-container .filter-content .post-card__title,
.ymc-extra-container .filter-content .post-card__title {
    min-height: calc(1.45em * 2);
    margin: 14px 14px 0 !important;
    font-size: clamp(1rem,1.35vw,1.15rem);
    line-height: 1.45 !important;
    -webkit-line-clamp: 2;
}
.ymc-container .filter-content .post-card__categories,
.ymc-extra-container .filter-content .post-card__categories,
.ymc-container .filter-content .post-card__tags,
.ymc-extra-container .filter-content .post-card__tags {
    min-height: 26px;
    margin: 9px 14px 0 !important;
}
.ymc-container .filter-content .post-card__meta,
.ymc-extra-container .filter-content .post-card__meta {
    min-height: 24px;
    gap: 8px;
    margin: 8px 14px 0 !important;
    font-size: .76rem;
}
.ymc-container .filter-content .post-card__excerpt,
.ymc-extra-container .filter-content .post-card__excerpt {
    margin: 8px 14px 0 !important;
    font-size: .82rem;
    line-height: 1.55;
    -webkit-line-clamp: 2;
}
.ymc-container .filter-content .post-card__read-more,
.ymc-extra-container .filter-content .post-card__read-more {
    min-height: 32px;
    gap: 7px;
    margin: 8px 14px 14px !important;
    padding-top: 6px;
    font-size: .75rem !important;
}
@media (max-width: 767px) {
    .ymc-container .filter-content .posts-grid,
    .ymc-extra-container .filter-content .posts-grid { gap: 14px !important; }
    .ymc-container .filter-content .post-card__title,
    .ymc-extra-container .filter-content .post-card__title { min-height: 0; margin: 12px 12px 0 !important; }
    .ymc-container .filter-content .post-card__categories,
    .ymc-extra-container .filter-content .post-card__categories,
    .ymc-container .filter-content .post-card__tags,
    .ymc-extra-container .filter-content .post-card__tags,
    .ymc-container .filter-content .post-card__meta,
    .ymc-extra-container .filter-content .post-card__meta { margin-inline: 12px !important; }
    .ymc-container .filter-content .post-card__read-more,
    .ymc-extra-container .filter-content .post-card__read-more { margin: 7px 12px 12px !important; }
}
