/* =============================================
   Sakai Kitchen — Theme Overrides
   Complements the extracted Studio design CSS
   ============================================= */

/*
 * About main page H3 "ABOUT" uses EB Garamond (Latin). Japanese H3s on about/hamono & about/chusen
 * must use the site Japanese display font or they fall back to system UI and look wrong.
 */
h3.sk-about-subpage-title[data-s-689b9ba3-efb9-4cfa-9afc-95857c6931ac] {
    color: #333333;
    font-family: var(--s-font-eb9ebd83);
    font-size: 48px;
    font-weight: 400;
    height: auto;
    line-height: 1.6;
    margin: 0px 0px 0px 0px;
    text-align: left;
    width: auto;
    max-width: 100%;
    justify-content: flex-start;
}

@media screen and (max-width: 540px) {
    h3.sk-about-subpage-title[data-s-689b9ba3-efb9-4cfa-9afc-95857c6931ac] {
        font-size: 40px;
    }
	
	.sk-contents-card-excerpt {
		font-size: 16px !important;
	}
}

/* Ensure Studio canvas fills viewport */
html, body {
    margin: 0;
    padding: 0;
    min-height: 100vh;
}

/* Remove WP admin bar spacing conflict */
body.admin-bar .fixed {
    top: 32px !important;
}

@media screen and (max-width: 782px) {
    body.admin-bar .fixed {
        top: 46px !important;
    }
}

/* ACF wysiwyg content inherits design typography */
.sd.text p,
.sd.text br {
    font: inherit;
    color: inherit;
    letter-spacing: inherit;
    line-height: inherit;
}

/* Lazy-loaded images fade in */
.sd img {
    transition: opacity 0.3s ease;
}

/* Ensure images within .sd fill their container (except logos with explicit data-s widths) */
.sd img.sd:not([data-s-d911b630-776f-48a5-95e0-2fe9014348e7]):not([data-s-f5d9f7ff-b8b0-414e-b965-1a4802ee524f]):not([data-s-138fffac-f601-4486-8197-cd9d9c21313d]):not([data-s-9c71742d-3c07-4544-91e3-137904dd3cf8]):not([data-s-0ed1602f-05fe-4a9f-91f8-1bcba4eab249]):not([data-s-f1855c36-8ed4-4d2b-8af7-596802e4fa36]) {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Mobile header logo: do not stretch to full container */
.sk-mobile-topbar img[data-s-36c76e78-db1c-46e8-b3c8-3fed4b8d935a] {
    width: auto !important;
    height: 40px !important;
    max-width: 160px;
    object-fit: contain !important;
}

/* Footer partner logos — visible separator lines */
.sd[data-s-8185d7ea-d807-471d-902d-38654dee0e6b] {
    border-top-color: #f5f5f5ff !important;
    border-bottom-color: #f5f5f5ff !important;
}

/* TOP page (mobile): reduce vertical gaps between sections */
@media screen and (max-width: 540px) {
    /* Leaflet / About / Product / Story / Contents / Movie / News section containers */
    .sd[data-s-e3d1628a-1d85-4f42-93a7-b1f4ec756dda],
    .sd[data-s-e0da2726-b12a-4567-a948-2487add386e2],
    .sd[data-s-43bc6f98-ee17-46fe-9824-7ec8f4fa950b],
    .sd[data-s-3d0b7eb0-fb17-47cd-81f2-c1db4ca2ce00],
    .sd[data-s-f95c9866-9241-421d-9b1b-e57235a8b492],
    .sd[data-s-416eb558-a231-4e89-9b1a-641569ca0e3e],
    .sd[data-s-737c6ab0-c530-42cf-882a-1438598cdc55] {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }

    /* Inner 960px wrappers in each section (where Studio usually sets 80px top/bottom) */
    .sd[data-s-1e6a6522-a53e-4aaf-96da-a668793ef426],
    .sd[data-s-d4c7872c-3a82-4297-8144-347ef82a4b2a],
    .sd[data-s-ac3fa0f1-8e38-452c-9440-b9ffb1da64df],
    .sd[data-s-e093c95f-6db9-438f-9bb8-bb54cf1e0660],
    .sd[data-s-32d59e5e-26e4-4ae5-b77d-270be9da4fcc],
    .sd[data-s-a0b3747e-c382-466d-a148-67a96fcd7049],
    .sd[data-s-e3eca6e8-9ce4-4949-b345-1dbdf8f9228f] {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
}

/* Footer under part — change background to white */

.sd[data-s-8185d7ea-d807-471d-902d-38654dee0e6b] {
	background: #ffffff;
}

.sd[data-s-db0bca0b-dc36-4004-8959-2c9399ffa37c] {
	background: #ffffff;
}

.sd[data-s-8b409f70-fa93-478f-9e6e-00dd99f6132a] {
	background: #ffffff;
}

/* Footer partner logo images — constrain to proper size */
.sd[data-s-4c8aac38-4149-40f0-8fe8-37c967258ac8] img.sd {
    display: block;
    width: auto;
    height: auto;
    max-width: 128px;
    max-height: 48px;
    object-fit: contain;
}

/* Archive listings — もっと見る (products, stories, contents, movies) */
.sk-load-more-wrap,
.sk-product-load-more-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 960px;
    margin: 40px auto 0;
    padding: 0 20px;
}

.sk-load-more,
.sk-product-load-more {
    background: #f5f5f5ff;
    border-radius: 20px;
    box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2);
    color: #333;
    flex: none;
    font-family: var(--s-font-d09cd289);
    font-size: 15px;
    font-weight: 400;
    height: 40px;
    justify-content: center;
    letter-spacing: 0em;
    line-height: 1.4;
    margin: 4px;
    opacity: 1;
    padding: 0px;
    text-align: center;
    width: 282px;
    max-width: calc(100% - 8px);
}

button {
	cursor: pointer;
	transition: .4s cubic-bezier(.4, .4, 0, 1);
}

.sk-load-more:hover:not(:disabled),
.sk-product-load-more:hover:not(:disabled) {
    background: #000000;
	color: #ffffff;
}

.sk-load-more:disabled,
.sk-product-load-more:disabled {
    cursor: wait;
    opacity: 0.6;
}

/* Story listing — card text: company line spacing, no divider lines under text */
.sd[data-s-d451b68d-2978-45e9-82a0-fd82ef391c9f] p[data-s-2d3412a7-ab2d-4ae5-9e5e-8c1484d2dffe] {
    margin: 12px 0 0 0 !important;
    border: none !important;
}

.sd[data-s-d451b68d-2978-45e9-82a0-fd82ef391c9f] .sd[data-s-24682489-0f7d-4434-8cab-0b406e8e936d] .text {
    border: none !important;
}

/* Contents listing — card body text: max 3 lines with ellipsis */
.sk-contents-card-excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    word-break: break-word;
}

/* Product - Senkou only: avoid center gap when only a few items exist */
.sk-product-grid--senkou {
    justify-content: flex-start !important;
	gap: 20px;
}


