@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700&family=Noto+Sans+JP:wght@400;500;700&display=swap');
/* ===== 博識フクロウ商店 Design System ===== */
:root{
--owl-primary:#2E5540;
--owl-accent:#A8761C;
--owl-ink:#24304C;
--owl-gold-light:#B98A2E;
--owl-base:#F7F2E7;
--owl-base2:#F0E8D6;
--owl-surface:#FFFFFF;
--owl-border:#E8DFC9;
--owl-text:#2B2B28;
--owl-sub:#6F6A5F;
--owl-shadow:0 2px 8px rgba(0,0,0,.07);
}
body{font-family:"Noto Sans JP",sans-serif;color:var(--owl-text);font-size:16px;line-height:1.85;background:var(--owl-base);}
h1,h2,h3,h4,h5,h6,.entry-title,.widget-title{font-family:"Zen Maru Gothic",sans-serif;font-weight:700;color:var(--owl-ink);}
.entry-title,h1.entry-title,.ast-single-post .entry-title{font-size:28px;line-height:1.55;}
.entry-content h2,h2{font-size:21px;line-height:1.5;}
.entry-content h3,h3,.widget-title{font-size:16px;line-height:1.6;}
.entry-content p{margin-bottom:1.4em;}
.entry-content h2{border-left:4px solid var(--owl-primary);padding-left:.6em;}
small,.wp-caption-text,.entry-meta,.posted-on,.owl-sub{color:var(--owl-sub);font-size:12px;line-height:1.8;}
a{color:var(--owl-primary);}
a:hover{color:var(--owl-ink);}
.entry-content img,.wp-block-image img{border-radius:8px;}
.wp-block-button__link,.ast-button,.button,button,input[type="submit"],.menu-toggle{border-radius:5px;}
.wp-block-button__link,.ast-button,.button,input[type="submit"]{background-color:var(--owl-primary);border:none;color:#fff;}
.wp-block-button__link:hover,.ast-button:hover,.button:hover{background-color:var(--owl-ink);color:#fff;}
.owl-buy a,a.owl-buy{display:block;width:100%;box-sizing:border-box;text-align:center;background:var(--owl-accent);color:#fff!important;padding:15px 20px;border-radius:5px;font-weight:700;font-family:"Zen Maru Gothic",sans-serif;text-decoration:none;box-shadow:var(--owl-shadow);}
.owl-buy a:hover,a.owl-buy:hover{background:var(--owl-gold-light);color:#fff!important;}
.owl-buy-note{font-size:12px;color:var(--owl-sub);text-align:center;margin:.4em 0 1.4em;}
.owl-pr{display:inline-block;border:1px solid var(--owl-accent);color:var(--owl-accent);font-size:11px;padding:1px 8px;border-radius:3px;font-weight:700;line-height:1.7;}
.owl-tag{display:inline-block;background:var(--owl-primary);color:#fff;font-size:12px;padding:2px 10px;border-radius:3px;text-decoration:none;}
.owl-pr-bar{background:var(--owl-base2);color:var(--owl-sub);font-size:12px;text-align:center;padding:8px 12px;border-radius:4px;margin-bottom:16px;}
.blog .ast-article-post,.archive .ast-article-post,.owl-card{background:var(--owl-surface);border:1px solid var(--owl-border);border-radius:6px;box-shadow:var(--owl-shadow);overflow:hidden;}
.owl-product{background:var(--owl-surface);border:1px solid var(--owl-border);border-radius:6px;padding:20px;box-shadow:var(--owl-shadow);margin:0 0 16px;}
.owl-product table{width:100%;border-collapse:collapse;}
.owl-product th{text-align:left;white-space:nowrap;padding:8px 12px 8px 0;vertical-align:top;font-family:"Zen Maru Gothic",sans-serif;color:var(--owl-ink);font-weight:700;}
.owl-product td{padding:8px 0;border-bottom:1px solid var(--owl-border);}
.owl-ranking{background:var(--owl-surface);border:1px solid var(--owl-border);border-radius:6px;padding:16px;box-shadow:var(--owl-shadow);}
.owl-ranking ol{list-style:none;margin:0;padding:0;counter-reset:owlrank;}
.owl-ranking li{counter-increment:owlrank;display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--owl-border);}
.owl-ranking li:last-child{border-bottom:none;}
.owl-ranking li::before{content:counter(owlrank);flex:0 0 auto;color:var(--owl-gold-light);font-family:"Zen Maru Gothic",sans-serif;font-weight:700;font-size:18px;line-height:1.4;}
.owl-band,blockquote,.ast-archive-description{background:var(--owl-base2);border-radius:6px;}
blockquote{border-left:4px solid var(--owl-primary);padding:12px 16px;}
.site-footer,.ast-small-footer,footer.site-footer{background:var(--owl-primary);color:#fff;}
.site-footer a,.ast-small-footer a{color:#fff;}
.site-footer .widget-title{color:#fff;}
.owl-memo{background:var(--owl-base2);border-radius:6px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start;margin:1.4em 0;}
.owl-memo img{width:56px;height:56px;border-radius:50%;flex:0 0 auto;}
@media(max-width:768px){
.entry-title,h1.entry-title{font-size:24px;}
body{font-size:15px;}
}
/* ===== ヘッダー配色 修正（基本資料 2a 準拠：白背景/緑タイトル/グレーナビ） ===== */
.ast-primary-header-bar,.main-header-bar,.site-header .ast-above-header-bar,.site-header .ast-below-header-bar{background-color:#FFFFFF!important;border-bottom:1px solid #E3DCCB!important;}
.site-header .site-title,.site-header .site-title a,.ast-site-identity .site-title,.ast-site-identity .site-title a{color:#2E5540!important;}
.site-header .site-description,.ast-site-identity .site-description{color:#8B8577!important;}
.main-header-bar .main-navigation ul li a,.main-header-bar .main-navigation ul li>a,.ast-header-navigation-arrow,.main-header-bar .main-navigation .menu-item>a{color:#4A4740!important;}
.main-header-bar .main-navigation ul li a:hover,.main-header-bar .main-navigation ul li.current-menu-item>a{color:#2E5540!important;}
/* ===== フッター配色 修正（Footer Builder行の背景がグレー既定値で緑を覆い隠す問題） ===== */
.site-footer .site-above-footer-wrap,.site-footer .site-below-footer-wrap,.site-footer .ast-builder-grid-row-container{background-color:var(--owl-primary)!important;}
.site-footer .site-below-footer-wrap{border-top:1px solid #3F6650!important;}
.site-footer p,.site-footer span,.site-footer .footer-widget-area{color:#DFE6DC;}
/* ===== ページ全体の背景色・フッター見出し色 修正 ===== */
html,body{background-color:var(--owl-base)!important;}
.site-footer h1,.site-footer h2,.site-footer h3,.site-footer h4,.site-footer h5,.site-footer h6{color:#fff!important;}
/* ===== ヘッダー文字サイズ 修正（基本資料 2a 実測値） ===== */
.site-header .site-title,.site-header .site-title a,.ast-site-identity .site-title,.ast-site-identity .site-title a{font-size:18px!important;font-weight:700!important;}
.site-header .site-description,.ast-site-identity .site-description{font-size:10px!important;letter-spacing:.08em!important;}
.main-header-bar .main-navigation ul li a,.main-header-bar .main-navigation ul li>a,.main-header-bar .main-navigation .menu-item>a{font-size:13px!important;}
/* ===== 検索アイコン 円形バッジ化 ===== */
.ast-header-search .search-submit,.ast-header-search .astra-search-icon{width:30px!important;height:30px!important;border:1px solid #D5CDB9!important;border-radius:50%!important;color:#8B8577!important;display:flex!important;align-items:center;justify-content:center;}
/* ===== PR帯 配色 修正（基本資料 2c 実測値） ===== */
.owl-pr-bar{background:#FFF8EF!important;color:#96652F!important;font-size:11.5px!important;}
/* ===== カテゴリアーカイブ見出し 微調整（基本資料 2d 実測値） ===== */
.page-title.ast-archive-title{font-size:25px!important;}
/* ===== 検索フォーム 入力欄とボタンの余白 修正 ===== */
.search-form{gap:10px;}
/* ===== 検索ボタン 再修正（Astraのwp-block-searchスタイルが密着の原因だった） ===== */
.search-submit,.wp-block-search__button,.search .search-submit{margin-top:12px!important;padding:12px 24px!important;border-radius:5px!important;background:var(--owl-primary)!important;border:none!important;font-size:14px!important;}
.search-form,form.search-form{display:flex!important;flex-wrap:wrap!important;gap:10px!important;}
.search-form .search-submit{margin-top:0!important;}
/* ===== 検索窓の幅 修正 ===== */
.search-form .search-field,.wp-block-search__input{flex:1 1 auto!important;min-width:0!important;width:auto!important;}
/* ===== 検索フォーム全体の幅 修正（コンテンツ幅いっぱいに広げる） ===== */
.search-form,form.search-form,.wp-block-search{width:100%!important;max-width:480px!important;}
.search-form,form.search-form,.wp-block-search{max-width:none!important;}
/* ===== 検索フォーム 実際のflexアイテムはlabel要素だった ===== */
.search-form>label,.search-form label{flex:1 1 auto!important;min-width:0!important;}
.search-form .search-field{width:100%!important;display:block!important;}