/* Phase 3 portal components. Shared theme styles remain in style.css. */
.bakemoria-home { padding-block:1rem 2rem; }
.bakemoria-home-columns { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:1.25rem; }
.bakemoria-home-content, .bakemoria-home-sidebar { min-width:0; }
.bakemoria-home-sidebar { display:flex; flex-direction:column; gap:1.25rem; }
.bakemoria-home h1, .bakemoria-home h2, .bakemoria-home h3 { margin-top:0; line-height:1.45; }
.bakemoria-home h2 { font-size:clamp(1.3rem,2vw,1.8rem); margin-bottom:.5rem; }
.bakemoria-home-section, .bakemoria-region { background:#fffdfb; border:1px solid #f4e4db; border-radius:14px; padding:1.1rem; margin-bottom:1.2rem; }
.bakemoria-home-sidebar .bakemoria-home-section { margin-bottom:0; }
.bakemoria-section-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem; }
.bakemoria-section-heading > a, .bakemoria-region > a { font-size:.875rem; color:var(--wp--preset--color--bakemoria-accent); }
.bakemoria-caption { font-size:.875rem; margin:.4rem 0 1rem; }
.bakemoria-hero { margin-bottom:1.25rem; }
.bakemoria-hero-visual { position:relative; min-height:300px; isolation:isolate; overflow:hidden; border-radius:12px; background:#fff5e5; }
.bakemoria-hero-image { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; z-index:-1; }
.bakemoria-hero-copy { padding:2rem; max-width:70%; text-shadow:0 1px 5px #fff; }
.bakemoria-hero h1 { font-family:Georgia,'Yu Mincho',serif; font-size:clamp(1.7rem,3vw,2.8rem); }
.bakemoria-hero-copy p { font-weight:600; }
.bakemoria-search-form { display:flex; flex-wrap:wrap; gap:.8rem; align-items:end; padding:1rem; background:#fff; border-radius:12px; border:1px solid #e9d9cc; }
.bakemoria-search-form label { display:flex; flex-direction:column; gap:.3rem; min-width:0; flex:1 1 160px; }
.bakemoria-search-form .bakemoria-keyword { flex:1 1 100%; }
.bakemoria-hero .bakemoria-keyword { flex-basis:200px; }
.bakemoria-search-form input, .bakemoria-search-form select { font:inherit; min-width:0; width:100%; padding:.75rem; border:1px solid #bba696; border-radius:6px; background:white; color:inherit; }
.bakemoria-button { display:inline-flex; justify-content:center; align-items:center; padding:.8rem 1.4rem; min-height:44px; background:var(--wp--preset--color--bakemoria-accent); color:white; border:0; border-radius:8px; font:inherit; font-weight:700; cursor:pointer; text-decoration:none; }
.bakemoria-area-links { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; padding:.8rem 0; font-size:.875rem; }
.bakemoria-area-links a { background:#f9eae6; border:1px solid #efd5cc; padding:.55rem .75rem; border-radius:24px; text-decoration:none; }
.bakemoria-tabs { display:flex; flex-wrap:wrap; gap:2px; background:#f5eeea; padding:3px; border-radius:24px; }
.bakemoria-tabs a { font-size:.85rem; padding:.65rem .9rem; text-decoration:none; border-radius:24px; min-height:44px; }
.bakemoria-tabs [aria-selected=true] { background:var(--wp--preset--color--bakemoria-accent); color:white; font-weight:700; }
.bakemoria-ranking-panel[hidden] { display:none; }
.bakemoria-ranking-layout { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:.75rem; }
.bakemoria-rank-first, .bakemoria-rank-middle, .bakemoria-rank-list { min-width:0; }
.bakemoria-rank-middle, .bakemoria-rank-list { display:grid; gap:.5rem; }
.bakemoria-ranking-empty { display:flex; flex-direction:column; justify-content:center; align-items:center; border:1px dashed #d9bda5; background:#fff8ec; border-radius:10px; padding:.75rem; height:100%; min-height:48px; }
.bakemoria-ranking-empty span { font-size:1.1rem; font-weight:700; color:#835923; }
.bakemoria-ranking-empty p { font-size:.875rem; margin:.35rem 0; }
.bakemoria-rank-first .bakemoria-ranking-empty { min-height:330px; }
.bakemoria-rank-list .bakemoria-ranking-empty { flex-direction:row; justify-content:space-between; gap:.4rem; padding:.3rem .65rem; }
.bakemoria-shop-card { min-width:0; position:relative; border-radius:10px; background:white; overflow:hidden; border:1px solid #f0e6df; }
.bakemoria-shop-card a { text-decoration:none; display:block; }
.bakemoria-shop-card h3 { font-size:1rem; margin:.65rem .7rem; }
.bakemoria-shop-card p { font-size:.85rem; margin:.5rem .7rem; }
.bakemoria-shop-card img, .bakemoria-photo-empty { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; }
.bakemoria-photo-empty { display:flex; align-items:center; justify-content:center; background:#f5eee5; color:#6b5d50; font-size:.8rem; }
.bakemoria-rank-number { position:absolute; top:.5rem; left:.5rem; background:#906325; color:white; padding:.35rem .65rem; border-radius:50%; font-weight:700; }
.bakemoria-rank-list .bakemoria-shop-card a { display:grid; grid-template-columns:48px 1fr; align-items:center; }
.bakemoria-rank-list .bakemoria-shop-card h3 { font-size:.8rem; margin:.25rem; }
.bakemoria-rank-list .bakemoria-shop-card p { display:none; }
.bakemoria-rank-list .bakemoria-rank-number { font-size:.65rem; top:0; left:0; padding:.1rem .2rem; border-radius:2px; }
.bakemoria-genre-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.65rem; }
.bakemoria-genre-card { min-width:0; display:flex; flex-direction:column; position:relative; text-decoration:none; background:white; border-radius:8px; overflow:hidden; }
.bakemoria-genre-card img, .bakemoria-genre-card .bakemoria-photo-empty { width:100%; aspect-ratio:1; object-fit:cover; }
.bakemoria-genre-card strong { text-align:center; font-size:.9rem; padding:.65rem .25rem; }
.bakemoria-genres { background:#f5f8ef; }
.bakemoria-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:1rem; }
.bakemoria-review-track { display:flex; gap:1rem; overflow-x:auto; scroll-snap-type:x proximity; padding-block:.3rem; }
.bakemoria-review-card { flex:0 0 min(85%,260px); scroll-snap-align:start; padding:1rem; background:white; border:1px solid #eee0d8; border-radius:8px; }
.bakemoria-news-list { display:grid; gap:.6rem; }
.bakemoria-news { background:white; border:1px solid #eee0d8; border-radius:8px; }
.bakemoria-news summary { cursor:pointer; display:flex; align-items:center; gap:.8rem; padding:.75rem; min-height:60px; list-style:none; }
.bakemoria-news summary::-webkit-details-marker { display:none; }
.bakemoria-news summary img { width:80px; height:65px; object-fit:cover; border-radius:6px; flex-shrink:0; }
.bakemoria-news summary > span:first-of-type { flex:1; }
.bakemoria-news time { display:block; font-size:.8rem; margin-bottom:.3rem; }
.bakemoria-news strong { display:block; }
.bakemoria-news-toggle { font-size:1.4rem; }
.bakemoria-news[open] .bakemoria-news-toggle { transform:rotate(45deg); }
.bakemoria-news-body { padding:0 1rem 1rem; }
.bakemoria-feature-card { margin-block:1rem; }
.bakemoria-feature-card img { width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:8px; }
.bakemoria-feature-card h3 { font-size:1rem; margin:.5rem 0; }
.bakemoria-feature-card time { font-size:.8rem; }
.bakemoria-region { background:#edf5f1; }
.bakemoria-region img { width:100%; border-radius:8px; }
.bakemoria-listing { background:#f4eadb; padding:1.5rem; border-radius:12px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
.bakemoria-listing .bakemoria-button { background:var(--wp--preset--color--bakemoria-support); }
.bakemoria-ad-container { container-type:inline-size; text-align:center; }
.bakemoria-ad { margin-inline:auto; }
.bakemoria-ad > span { display:block; font-size:.7rem; }
.bakemoria-ad img { display:block; max-width:none; object-fit:contain; }
.bakemoria-ad-wide { width:728px; }
.bakemoria-ad-wide img { width:728px; height:90px; }
.bakemoria-ad-square { width:300px; }
.bakemoria-ad-square img { width:300px; height:250px; }
.bakemoria-ad-responsive { display:none; width:min(100%,300px); }
.bakemoria-ad-responsive img { width:100%; height:auto; aspect-ratio:6/5; }
@container (max-width:727px) { .bakemoria-ad-wide { display:none; } .bakemoria-ad-wide + .bakemoria-ad-responsive { display:block; } }
@container (max-width:299px) { .bakemoria-ad-square { display:none; } .bakemoria-ad-square + .bakemoria-ad-responsive { display:block; } }
.bakemoria-pagination ul { display:flex; flex-wrap:wrap; gap:.5rem; list-style:none; padding:0; }
.bakemoria-pagination a, .bakemoria-pagination .current { display:block; padding:.65rem 1rem; border:1px solid #bba696; border-radius:6px; }
.bakemoria-pagination .current { background:#f9eae6; font-weight:700; }
@media (max-width:70rem) { .bakemoria-home-columns { grid-template-columns:minmax(0,1fr); } .bakemoria-home-sidebar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:40rem) {
 .bakemoria-home-sidebar { display:flex; }
 .bakemoria-hero-copy { max-width:90%; padding:1.2rem; background:linear-gradient(90deg,#fff9efee,#fff9ef88,transparent); }
 .bakemoria-hero-visual { min-height:280px; }
 .bakemoria-ranking-layout { grid-template-columns:1fr; }
 .bakemoria-rank-first .bakemoria-ranking-empty { min-height:180px; }
 .bakemoria-rank-middle { grid-template-columns:1fr 1fr; }
 .bakemoria-rank-list .bakemoria-shop-card a { grid-template-columns:70px 1fr; }
 .bakemoria-genre-grid { display:flex; overflow-x:auto; scroll-snap-type:x proximity; }
 .bakemoria-genre-card { flex:0 0 44%; scroll-snap-align:start; }
 .bakemoria-home-section { padding:.85rem; }
 .bakemoria-tabs { width:100%; }
 .bakemoria-tabs a { flex:1; text-align:center; padding:.65rem .25rem; }
 .bakemoria-search-form { padding:.8rem; }
 .bakemoria-ad-square { display:none; }
 .bakemoria-ad-square + .bakemoria-ad-responsive { display:block; }
}

