@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
 */

/*
 * Open Car Life — Night Cellar skin
 * The site-wide palette deliberately follows the original /yoidore/ atmosphere:
 * a near-black room, brass-gold navigation, and warm cream reading surfaces.
 */
:root {
  --oc-night: #1a1a1a;
  --oc-night-deep: #101010;
  --oc-panel: #24201c;
  --oc-paper: #f6f0e5;
  --oc-paper-soft: #ece2d1;
  --oc-ink: #2f2922;
  --oc-muted: #bdb3a3;
  --oc-gold: #d8ad63;
  --oc-gold-bright: #f1d08a;
  --oc-line: rgba(212, 175, 55, .28);
  --oc-red: #a84b3e;
}

html { background: var(--oc-night); }
body {
  background:
    radial-gradient(circle at 50% -15%, rgba(212, 175, 55, .12), transparent 34rem),
    linear-gradient(180deg, #20201e 0, var(--oc-night) 34rem);
  color: #f3ede2;
  font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
body::before {
  position: fixed;
  z-index: -1;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: .34;
  background-image: radial-gradient(rgba(255,255,255,.16) .55px, transparent .55px);
  background-size: 5px 5px;
}

/* Header / global navigation */
#header,
#fix_header,
.l-header,
.l-header__inner,
.l-header__logo,
.l-header__nav,
.p-spMenu,
.c-gnav,
.c-gnav .menu-item > a {
  background-color: var(--oc-night);
  color: var(--oc-gold);
}
#header,
#fix_header,
.l-header {
  border-bottom: 1px solid var(--oc-line);
  box-shadow: 0 9px 28px rgba(0, 0, 0, .38);
}
.l-header__logo a,
.l-header__logo .logo_text,
.c-gnav a,
.p-spMenu a,
.c-iconBtn,
.c-iconBtn__icon { color: var(--oc-gold) !important; }
.c-gnav .menu-item > a {
  letter-spacing: .08em;
  font-weight: 600;
}
.c-gnav .menu-item > a:hover,
.c-gnav .current-menu-item > a,
.p-spMenu a:hover {
  color: var(--oc-gold-bright) !important;
  background: rgba(212, 175, 55, .09);
}

/* Main canvas and headings */
#content,
.l-content,
.l-mainContent,
.post_content,
.post_content > *,
.l-sidebar,
.l-sidebar > * { color: inherit; }
.l-mainContent { color: #eee6d8; }
.post_content h1,
.post_content h2,
.post_content h3,
.post_content h4,
.c-pageTitle,
.p-articleTitle,
.c-widget__title,
.p-postList__title { color: var(--oc-gold); }
.post_content h2 {
  padding: .45em 0 .45em .85em;
  border-left: 3px solid var(--oc-gold);
  border-bottom: 1px solid var(--oc-line);
  background: linear-gradient(90deg, rgba(212,175,55,.11), transparent 72%);
}
.post_content h3 { border-bottom: 1px solid var(--oc-line); }
.post_content a,
.p-breadcrumb a,
.p-postList__link,
.c-widget a { color: var(--oc-gold-bright); }
.post_content a:hover,
.p-breadcrumb a:hover,
.p-postList__link:hover,
.c-widget a:hover { color: #fff2b7; }

/* Lists, cards, widgets, and archives */
.p-postList__item,
.p-postList__link,
.p-archiveList__item,
.c-widget,
.wp-block-group,
.is-style-bg_stripe,
.is-style-bg_grid,
.swell-block-fullWide__inner,
.wp-block-search__inside-wrapper {
  border-color: var(--oc-line) !important;
}
.p-postList__item,
.p-archiveList__item,
.c-widget,
.wp-block-group:not(.has-background) {
  background: rgba(32, 30, 27, .76);
  box-shadow: 0 8px 22px rgba(0,0,0,.14);
}
.p-postList__item:hover,
.p-archiveList__item:hover {
  background: rgba(57, 48, 32, .82);
}
.p-postList__meta,
.p-postList__excerpt,
.p-articleMetas,
.c-widget__content,
.p-breadcrumb { color: var(--oc-muted); }

/* Keep articles in the same dark palette as the rest of the site. */
.single-post .post_content {
  padding: clamp(24px, 4vw, 48px);
  color: #f3ede2;
  background: #24201c;
  border: 1px solid var(--oc-line);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .26);
}
.single-post .post_content h1,
.single-post .post_content h2,
.single-post .post_content h3,
.single-post .post_content h4 { color: var(--oc-gold-bright); }
.single-post .post_content h2::before { border: 0; }
.single-post .post_content a { color: var(--oc-gold-bright); text-decoration-thickness: 1px; }
.single-post .post_content blockquote {
  color: #f3ede2;
  background: #302920;
  border-left-color: var(--oc-gold);
}
.single-post .post_content hr { border-color: var(--oc-line); }

/* Controls and forms */
input[type="search"], input[type="text"], input[type="email"], textarea,
.wp-block-search__input {
  color: #f5ecdf !important;
  background: rgba(14, 14, 14, .75) !important;
  border-color: var(--oc-line) !important;
}
input::placeholder, textarea::placeholder { color: #a99f92; }
button, input[type="submit"], .c-btn, .wp-block-button__link,
.wp-block-search__button {
  color: #1c1608 !important;
  background: var(--oc-gold) !important;
  border-color: var(--oc-gold) !important;
  font-weight: 700;
}
button:hover, input[type="submit"]:hover, .c-btn:hover,
.wp-block-button__link:hover, .wp-block-search__button:hover {
  background: var(--oc-gold-bright) !important;
  border-color: var(--oc-gold-bright) !important;
}

/* Footer and small screens */
#footer, .l-footer, .l-footer__inner {
  color: #b9ad9b;
  background: var(--oc-night-deep);
  border-top: 1px solid var(--oc-line);
}
#footer a, .l-footer a { color: var(--oc-gold); }

/* Homepage: remove the remaining light-theme islands. */
.l-header__bar.pc_ {
  color: var(--oc-muted) !important;
  background: #161310 !important;
  border-bottom: 1px solid rgba(212,175,55,.18);
}
.home .post_content {
  padding: 42px 0 68px;
  color: #f3ede2;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.home .post_content section > div[style*="display:grid"] > div,
.home .post_content section > div[style*="display:grid"] > a {
  color: #f3ede2 !important;
  background: linear-gradient(145deg, #2e2924, #1f1b18) !important;
  border-color: #4b3b2d !important;
  border-radius: 18px !important;
  box-shadow: 0 9px 24px rgba(0,0,0,.2);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.home .post_content section > div[style*="display:grid"] > a:hover {
  transform: translateY(-3px);
  border-color: var(--oc-gold) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.38);
}
.home .post_content section > div[style*="display:grid"] > * span[style*="color:#666"] { color: var(--oc-muted) !important; }
.home .post_content section > div[style*="display:grid"] > * small[style*="color:#a5833e"] { color: var(--oc-gold) !important; }
#footer, .l-footer, .l-footer__inner { background: var(--oc-night-deep) !important; }
@media (max-width: 959px) {
  .p-spMenu, .p-spMenu__inner { background: var(--oc-night) !important; }
  .single-post .post_content { padding: 22px 18px; }
  .home .post_content { padding: 28px 0 48px; }
}

/* -------------------------------------------------------------------------
 * Front page: a single menu at the counter, rather than a grid of cards.
 * Prefix every selector so the SWELL header, footer and other pages remain
 * untouched.
 * ---------------------------------------------------------------------- */
.home .l-mainContent:has(.oc-home) { width: 100%; margin: 0; }
.home .post_content:has(.oc-home) { padding: 0; }
/* SWELL prints its configured main visual before the front-page template.
 * The new hero below replaces it only on the home page. */
/* SWELL attaches WordPress body classes to #body_wrap, not to <body>. */
#body_wrap.home #main_visual { display: none !important; }
#body_wrap.home #content.l-content { display: block !important; width: 100%; max-width: none; margin: 0; padding: 0; }
#body_wrap.home #content.l-content > .oc-home { width: 100%; max-width: none; }
#body_wrap.home #content.l-content > .l-sidebar { display: none !important; }
.oc-home { --oc-home-ink: #10151a; --oc-home-night: #172129; --oc-home-paper: #f3edde; --oc-home-amber: #d69a37; --oc-home-amber-light: #f1c56f; --oc-home-wine: #713846; --oc-home-petrol: #3d706b; --oc-home-text: #25231f; --oc-home-muted: #756f65; --oc-home-line: rgba(37,35,31,.16); color: var(--oc-home-text); background: var(--oc-home-paper); font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", system-ui, sans-serif; line-height: 1.75; }
.oc-home *, .oc-home *::before, .oc-home *::after { box-sizing: border-box; }
.oc-home__wrap { width: min(calc(100% - 40px), 1160px); margin-inline: auto; }
.oc-home__reading { max-width: 700px; margin-left: max(20px, calc((100% - 1160px) / 2)); }
.oc-home__sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.oc-home__eyebrow { margin: 0 0 10px; color: var(--oc-home-amber); font-size: .74rem; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.oc-home h2, .oc-home h3 { font-family: Georgia, "Yu Mincho", serif; }
.oc-home h2 { margin: 0; color: currentColor; font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 500; line-height: 1.35; }
.oc-home__hero { position: relative; aspect-ratio: 1600 / 396; overflow: hidden; background: var(--oc-home-ink); }
.oc-home__hero-photo { display: block; width: 100%; height: auto; aspect-ratio: 1600 / 396; opacity: .96; }
.oc-home__hero-veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,15,19,.88) 0%, rgba(10,15,19,.68) 42%, rgba(10,15,19,.18) 76%, rgba(10,15,19,.35) 100%); pointer-events: none; }
.oc-home__hero-content { position: absolute; z-index: 1; inset: 0; display: flex; flex-direction: column; justify-content: center; color: #fff; }
.oc-home__hero-title { margin: 0 0 8px; color: #fff; font-family: Georgia, "Yu Mincho", serif; font-size: clamp(2rem, 3.1vw, 3rem); font-weight: 500; line-height: 1.15; letter-spacing: .04em; text-shadow: 0 2px 18px rgba(0,0,0,.5); }
.oc-home__hero-content .oc-home__eyebrow { color: var(--oc-home-amber-light); }
.oc-home__hero-copy { max-width: 560px; margin: 0; color: rgba(255,255,255,.88); font-size: clamp(.88rem, 1.35vw, 1rem); }
.oc-home__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.oc-home__button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 0 22px; border: 1px solid var(--oc-home-amber); border-radius: 2px; color: var(--oc-home-ink) !important; background: var(--oc-home-amber); font-weight: 800; font-size: .88rem; text-decoration: none; }
.oc-home__button--secondary { color: #fff !important; background: transparent; border-color: rgba(255,255,255,.42); }
.oc-home__note { padding: 54px 0 46px; background: var(--oc-home-paper); }
.oc-home__note p { margin: 0 0 16px; color: var(--oc-home-text); font-size: 1.05rem; }
.oc-home__quote-mark { display: block; margin-bottom: 6px; color: var(--oc-home-wine); font: 2.2rem/1 Georgia, serif; }
.oc-home__note .oc-home__sign { margin-top: 22px; color: var(--oc-home-muted); font-size: .84rem; letter-spacing: .06em; }
.oc-home__menu { padding: 32px 0 48px; background: var(--oc-home-paper); }
.oc-home__section-head { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 26px; }
.oc-home__section-head > p { max-width: 420px; margin: 0; color: var(--oc-home-muted); font-size: .92rem; }
.oc-home__menu-list { border-top: 1px solid var(--oc-home-line); }
.oc-home__menu-row { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 22px; padding: 16px 4px; border-bottom: 1px solid var(--oc-home-line); color: var(--oc-home-text) !important; text-decoration: none; transition: background .18s ease; }
.oc-home__menu-row:hover { background: rgba(214,154,55,.08); }
.oc-home__number { align-self: start; color: var(--oc-home-amber); font: 1rem Georgia, serif; }
.oc-home__menu-row--bottle .oc-home__number { color: var(--oc-home-wine); }.oc-home__menu-row--road .oc-home__number { color: var(--oc-home-petrol); }
.oc-home__menu-entry { display: grid; grid-template-columns: max-content minmax(0,1fr); column-gap: 10px; align-items: baseline; }
.oc-home__menu-name { font: 500 clamp(1.35rem,2.6vw,1.85rem)/1.3 Georgia, "Yu Mincho", serif; }
.oc-home__tag { justify-self: start; width: max-content; padding: 2px 8px; border: 1px solid var(--oc-home-line); border-radius: 999px; color: var(--oc-home-muted); font-size: .68rem; letter-spacing: .06em; }
.oc-home__description { grid-column: 1 / -1; margin-top: 8px; color: var(--oc-home-muted); font-size: .92rem; }
.oc-home__go { color: var(--oc-home-muted); font-size: .82rem; white-space: nowrap; }.oc-home__menu-row:hover .oc-home__go { color: var(--oc-home-amber); }
.oc-home__specials { padding: 88px 0; color: #fff; background: var(--oc-home-night); }
.oc-home__specials .oc-home__section-head > p { color: rgba(255,255,255,.56); }.oc-home__specials .oc-home__eyebrow { color: var(--oc-home-amber-light); }
.oc-home__special-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.14); }
.oc-home__special { display: flex; flex-direction: column; min-height: 240px; padding: 26px; color: #fff !important; background: var(--oc-home-night); text-decoration: none; }
.oc-home__special time { color: var(--oc-home-amber-light); font-size: .72rem; letter-spacing: .1em; }.oc-home__special h3 { margin: 30px 0 10px; color: #fff; font-size: 1.28rem; font-weight: 500; line-height: 1.45; }.oc-home__special p { margin: 0; color: rgba(255,255,255,.6); font-size: .86rem; }.oc-home__special > span { margin-top: auto; padding-top: 14px; color: rgba(255,255,255,.5); font-size: .78rem; }
.oc-home__shelf { padding: 78px 0 90px; background: var(--oc-home-paper); }.oc-home__shelf-item { display: flex; align-items: center; gap: 16px; padding: 22px 6px; border-top: 1px solid var(--oc-home-line); border-bottom: 1px solid var(--oc-home-line); color: var(--oc-home-text) !important; text-decoration: none; }.oc-home__shelf-mark { flex: none; display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--oc-home-line); border-radius: 50%; color: var(--oc-home-amber); }.oc-home__shelf-item strong { display: block; font: 500 1.05rem Georgia, "Yu Mincho", serif; }.oc-home__shelf-item small { display: block; color: var(--oc-home-muted); font-size: .82rem; }
@media (max-width: 900px) {
  .oc-home__wrap { width: min(calc(100% - 28px),1160px); }
  .oc-home__reading { margin-inline: auto; }
  .oc-home__hero { aspect-ratio: auto; overflow: hidden; }
  .oc-home__hero-photo { width: 100%; height: auto; aspect-ratio: 1600 / 396; }
  .oc-home__hero-veil { display: none; }
  .oc-home__hero-content { position: static; width: 100%; min-height: 0; padding: 16px 14px 18px; background: var(--oc-home-ink); }
  .oc-home__hero-title { font-size: clamp(1.55rem, 7vw, 1.85rem); }
  .oc-home__hero-content .oc-home__eyebrow { margin: 4px 0 2px; font-size: .62rem; }
  .oc-home__hero-copy { max-width: 31em; font-size: .78rem; line-height: 1.55; }
  .oc-home__actions { margin-top: 8px; }
  .oc-home__button { min-height: 34px; padding: 0 13px; font-size: .74rem; }
  .oc-home__button--secondary { display: none; }
  .oc-home__note { padding: 42px 0 34px; }
  .oc-home__menu { padding: 26px 0 42px; }
  .oc-home__section-head { display: block; margin-bottom: 16px; }
  .oc-home__section-head > p { margin-top: 8px; font-size: .84rem; }
  .oc-home__menu-row { grid-template-columns: 26px 1fr; row-gap: 2px; padding: 14px 2px; }
  .oc-home__menu-name { font-size: 1.28rem; }
  .oc-home__description { margin-top: 4px; font-size: .84rem; }
  .oc-home__go { display: none; }
  .oc-home__specials { padding: 60px 0; }
  .oc-home__special-list { grid-template-columns: 1fr; }
  .oc-home__shelf { padding: 56px 0 70px; }
}
@media (prefers-reduced-motion: reduce) { .oc-home__menu-row { transition: none; } }

/* Brew archive: articles without a featured image lead with their text. */
#body_wrap.post-type-archive-brew_article .p-postList__thumb.noimg_ {
  display: none;
}

/* Brew is a reading index: center the article list and omit the empty sidebar. */
#body_wrap.post-type-archive-brew_article #content.l-content {
  display: block;
  padding: 0 20px 56px;
}
#body_wrap.post-type-archive-brew_article #content #main_content {
  width: 100%;
  max-width: 1200px;
  margin: 40px auto 0;
}
#body_wrap.post-type-archive-brew_article #content .l-sidebar {
  display: none;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Subpages: reuse the former site's title image as a full-width hero. */
#body_wrap.archive:not(.home) #content.l-content,
#body_wrap.page:not(.home) #content.l-content {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
  column-gap: clamp(24px, 4vw, 52px);
  width: 100%;
  max-width: none;
  padding: 0 0 56px;
}
#body_wrap.archive:not(.home) #content.l-content::before,
#body_wrap.page:not(.home) #content.l-content::before {
  display: block;
  grid-column: 1 / -1;
  grid-row: 1;
  height: clamp(180px, 23vw, 320px);
  content: "";
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .56), rgba(0, 0, 0, .18)),
    url("https://opencar.life/yoidore/wp-content/uploads/2026/05/Gemini_Generated_Image_cr332hcr332hcr33-scaled.png") center 48% / cover no-repeat;
}
#body_wrap.archive:not(.home) #content #main_content,
#body_wrap.page:not(.home) #content #main_content {
  grid-column: 1;
  grid-row: 2;
  width: auto;
  margin: 40px 0 0 max(20px, calc((100vw - 1200px) / 2));
}
#body_wrap.archive:not(.home) #content .l-sidebar,
#body_wrap.page:not(.home) #content .l-sidebar {
  grid-column: 2;
  grid-row: 2;
  margin: 40px max(20px, calc((100vw - 1200px) / 2)) 0 0;
}
#body_wrap.archive:not(.home) #content #main_content .c-pageTitle,
#body_wrap.page:not(.home) #content #main_content .c-pageTitle {
  position: absolute;
  z-index: 1;
  top: clamp(78px, 10vw, 150px);
  left: max(20px, calc((100vw - 1200px) / 2));
  margin: 0;
  padding: 0;
  color: #fff !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .72);
  border: 0 !important;
  background: transparent !important;
}
#body_wrap.archive:not(.home) #content #main_content .c-pageTitle small,
#body_wrap.page:not(.home) #content #main_content .c-pageTitle small {
  color: #f1d08a;
}
@media (max-width: 959px) {
  #body_wrap.archive:not(.home) #content.l-content,
  #body_wrap.page:not(.home) #content.l-content { display: block; }
  #body_wrap.archive:not(.home) #content.l-content::before,
  #body_wrap.page:not(.home) #content.l-content::before { height: 190px; }
  #body_wrap.archive:not(.home) #content #main_content,
  #body_wrap.page:not(.home) #content #main_content { margin: 28px 20px 0; }
  #body_wrap.archive:not(.home) #content .l-sidebar,
  #body_wrap.page:not(.home) #content .l-sidebar { margin: 28px 20px 0; }
  #body_wrap.archive:not(.home) #content #main_content .c-pageTitle,
  #body_wrap.page:not(.home) #content #main_content .c-pageTitle { top: 82px; left: 20px; }
}

/* Bottle Notes archive: show article text without images or an empty hero. */
#body_wrap.category-bottle-notes #content.l-content {
  display: block;
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
  padding: 36px 24px 64px;
}
#body_wrap.category-bottle-notes #content.l-content::before {
  display: none;
}
#body_wrap.category-bottle-notes #content #main_content {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
#body_wrap.category-bottle-notes #content #main_content .c-pageTitle {
  position: static;
  margin: 0 0 28px;
  padding: 0 0 16px;
  text-shadow: none;
}
#body_wrap.category-bottle-notes #content .l-sidebar,
#body_wrap.category-bottle-notes .p-postList__thumb {
  display: none !important;
}
#body_wrap.category-bottle-notes .p-postList__body {
  width: 100%;
  padding: 20px;
}
@media (max-width: 599px) {
  #body_wrap.category-bottle-notes #content.l-content {
    padding: 24px 16px 48px;
  }
}
