/*
Theme Name: once ours
Theme URI: https://onceours.com/
Author: once ours
Description: once ours のためのカスタムテーマ。
Version: 1.3.2
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: once-ours
*/

/* Foundational layout only. Art direction is introduced in the later visual phase. */
.once-ours-page { max-width: 1200px; margin: 0 auto; padding: 24px 16px; }
.once-ours-object-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; }
.once-ours-object-card__link { color: inherit; text-decoration: none; }
.once-ours-object-card__image { aspect-ratio: 4 / 5; background: #e8e8e8; overflow: hidden; }
.once-ours-object-card__image img { width: 100%; height: 100%; object-fit: cover; }
.once-ours-object-card--single { width: min(100%, 360px); }
.once-ours-object-card--single .once-ours-object-card__image { aspect-ratio: 4 / 5; }
.once-ours-object-card--single .once-ours-object-card__image img { object-fit: contain; background: #e8e8e8; }
.once-ours-object-detail-block { box-sizing: border-box; max-width: 680px; padding: 16px; line-height: 1.6; }
.once-ours-object-detail-block__image { width: min(100%, 520px); max-height: 70vh; margin: 0 0 24px; background: #e8e8e8; overflow: hidden; }
.once-ours-object-detail-block__image img { display: block; width: 100%; height: auto; max-height: 70vh; object-fit: contain; }
.once-ours-object-detail-block__number { margin: 0 0 8px; }
.once-ours-object-detail-block h2 { margin: 0 0 24px; }
.once-ours-object-detail-block__metadata { display: grid; gap: 12px; margin: 0 0 24px; }
.once-ours-object-detail-block__metadata div { display: grid; grid-template-columns: 7em minmax(0, 1fr); gap: 12px; }
.once-ours-object-detail-block__metadata dt { font-weight: 700; }
.once-ours-object-detail-block__metadata dd { margin: 0; }
.once-ours-object-detail-block__description { margin: 0 0 24px; }
.once-ours-object-detail-block__description > :first-child { margin-top: 0; }
.once-ours-object-detail-block__description > :last-child { margin-bottom: 0; }
.once-ours-object-detail-block__value, .once-ours-object-detail-block__auction-end { margin: 0 0 12px; }
.once-ours-object-gallery-block { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px; }
.once-ours-object-gallery-block__item { margin: 0; background: #e8e8e8; }
.once-ours-object-gallery-block__item img { display: block; width: 100%; height: auto; }
.once-ours-object-card__status, .once-ours-object-card__number, .once-ours-object-card__dates, .once-ours-object-detail__number { margin: 8px 0; }
.once-ours-object-detail__metadata { margin: 32px 0; }
.once-ours-object-detail__metadata div { margin: 0 0 16px; }
.once-ours-object-detail__metadata dt { font-weight: 700; }
.once-ours-object-detail__metadata dd { margin: 4px 0 0; }
.once-ours-sort { margin: 24px 0; }
.once-ours-gallery { position: relative; margin: 0 0 32px; }
.once-ours-gallery__viewport { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.once-ours-gallery__viewport::-webkit-scrollbar { display: none; }
.once-ours-gallery__slide { flex: 0 0 100%; scroll-snap-align: start; margin: 0; aspect-ratio: 4 / 5; background: #e8e8e8; }
.once-ours-gallery__slide img { width: 100%; height: 100%; object-fit: contain; display: block; }
.once-ours-gallery__counter { margin: 8px 0; text-align: right; }
.once-ours-gallery__thumbnails { display: flex; gap: 8px; overflow-x: auto; }
.once-ours-gallery__thumbnails button { border: 0; padding: 0; background: none; flex: 0 0 64px; }
.once-ours-gallery__thumbnails img { display: block; width: 64px; height: 64px; object-fit: cover; }
.once-ours-gallery__arrow { display: none; }
.once-ours-object-detail__value, .once-ours-object-detail__records, .once-ours-object-detail__auction { margin-top: 40px; }
.once-ours-object-detail__value-amount { font-size: 1.5rem; }
.once-ours-value-form { margin-top: 16px; max-width: 420px; }
.once-ours-value-form label { display: block; margin-top: 12px; }
.once-ours-value-form input { box-sizing: border-box; display: block; width: 100%; margin-top: 4px; }
.once-ours-value-form button { margin-top: 16px; }
.once-ours-value-feedback { margin-top: 12px; }
.once-ours-value-feedback.is-error { color: #b00020; }
.once-ours-honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.once-ours-value-records { padding: 0; margin: 0; list-style: none; }
.once-ours-value-records li { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; border-bottom: 1px solid currentColor; }
.once-ours-leave { max-width: 680px; }
.once-ours-leave__form { margin-top: 32px; }
.once-ours-leave__form label, .once-ours-leave__form input, .once-ours-leave__form textarea { display: block; box-sizing: border-box; width: 100%; }
.once-ours-leave__form input, .once-ours-leave__form textarea { margin-top: 6px; }
.once-ours-leave__form small { display: block; margin-top: 6px; }
.once-ours-leave__message { padding: 12px; border: 1px solid currentColor; }
.once-ours-object-metadata, .once-ours-auction-information dl { display: grid; gap: 12px; margin: 24px 0; }
.once-ours-object-metadata div, .once-ours-auction-information dl div { display: grid; grid-template-columns: 7em minmax(0, 1fr); gap: 12px; border-bottom: 1px solid #d0d0d0; padding-bottom: 8px; }
.once-ours-object-metadata dt, .once-ours-auction-information dt { font-weight: 700; }
.once-ours-object-metadata dd, .once-ours-auction-information dd { margin: 0; }
.once-ours-auction-information h2 { margin-bottom: 16px; }
.once-ours-empty { color: #666; }
@media (min-width: 700px) { .once-ours-object-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; } }
@media (min-width: 700px) { .once-ours-gallery__arrow { display: block; position: absolute; top: 45%; z-index: 1; } .once-ours-gallery__arrow--previous { left: 8px; } .once-ours-gallery__arrow--next { right: 8px; } }
@media (min-width: 1100px) { .once-ours-object-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; } }

/* Night-only visual baseline. */
html { background: #111; color-scheme: dark; }
html body { background-color: #111 !important; color: #f4f4f4 !important; }
html a { color: #9ecbff; }
html input, html textarea, html select { background: #1f1f1f; color: #f4f4f4; border-color: #777; }
html .once-ours-object-card__image, html .once-ours-object-card--single .once-ours-object-card__image img,
html .once-ours-object-detail-block__image, html .once-ours-object-gallery-block__item, html .once-ours-gallery__slide { background: #242424; }
html .once-ours-object-metadata div, html .once-ours-auction-information dl div { border-color: #555; }
html .once-ours-empty { color: #b8b8b8; }

/* Keep the standard removed-content page readable at narrow widths. */
@media (max-width: 480px) {
	body.error404 #site-content,
	body.error404 .once-ours-page { box-sizing: border-box; width: 100%; max-width: 100%; }
	body.error404 .once-ours-page h1 { max-width: 100%; overflow-wrap: anywhere; word-break: break-word; }
}
