/* Attractive v14 — shared typography, navigation and storefront. Loaded last. */
.at-cf7-content { max-width:800px; margin:0 auto; padding:0 24px 88px; }
.at-cf7-content .contact-intro { margin:0 0 40px; text-align:center; }
.at-cf7-content .at-form-group { margin:0 0 28px; }
.at-cf7-content label { display:block; margin-bottom:10px; color:#292621; font:500 14px/1.8 'Noto Sans JP',sans-serif; }
.at-cf7-content .wpcf7-form-control-wrap { display:block; }
.at-cf7-content input[type=text],.at-cf7-content input[type=email],.at-cf7-content input[type=tel],.at-cf7-content textarea { width:100%; box-sizing:border-box; min-height:50px; padding:13px 16px; border:1px solid #d5cdbf; border-radius:4px; background:#faf9f7; color:#292621; font:400 16px/1.7 'Noto Sans JP',sans-serif; }
.at-cf7-content textarea { min-height:200px; resize:vertical; }
.at-cf7-content input:focus,.at-cf7-content textarea:focus { outline:2px solid #806326; outline-offset:2px; }
.at-cf7-content input.wpcf7-submit { min-width:240px; max-width:100%; min-height:52px; padding:14px 28px; background:#806326!important; color:#fff!important; border:0; border-radius:4px; font:500 14px/1.7 'Noto Sans JP',sans-serif; cursor:pointer; }
.at-cf7-content input.wpcf7-submit:hover { background:#5c471b!important; }
.at-cf7-content input.wpcf7-submit:disabled { opacity:.6; cursor:wait; }
.at-cf7-content .wpcf7-not-valid-tip { color:#a32626; font-size:13px; margin-top:8px; }
.at-cf7-content .wpcf7-response-output { margin:24px 0; padding:16px; font-size:14px; }
.at-cf7-privacy { text-align:center; font-size:13px; color:#625b51; margin-top:32px; }
.at-cf7-privacy a { text-decoration:underline; text-underline-offset:3px; }
.at-password-page { max-width:720px; margin:0 auto; }
.at-profile-page { max-width:960px; margin:0 auto; }
.at-password-page h1,.at-profile-page h1 { font:500 24px/1.7 'Noto Sans JP',sans-serif; margin:0 0 28px; }
.at-password-page > h1,.at-password-page > p { text-align:center; }
.at-password-page > p { margin-bottom:44px; }
.at-password-row,.at-profile-row { display:grid; grid-template-columns:220px minmax(0,1fr); align-items:center; gap:24px; padding:26px 0; border-bottom:1px solid #ebe5dd; }
.at-password-row:first-child,.at-profile-row:first-child { border-top:1px solid #ebe5dd; }
.at-password-row label,.at-profile-row label { margin:0; font-size:14px; color:#292621; }
.at-password-control { display:flex; border:1px solid #d9d1c5; border-radius:4px; background:#faf9f7; min-width:0; }
.at-password-control input { min-width:0; width:100%; height:48px; background:transparent; border:0; margin:0; padding:12px; font-size:16px; }
.at-password-control .at-password-toggle { flex:0 0 52px; padding:8px; background:transparent; color:#62502b; border:0; font-size:12px; }
.at-profile-form .at-profile-row input { width:100%; margin:0; min-height:48px; border:1px solid #d9d1c5; border-radius:4px; background:#faf9f7; padding:12px; font-size:16px; }
.at-password-control:focus-within { outline:2px solid #806326; outline-offset:2px; }
.at-password-help { font-size:13px; color:#625b51; margin:20px 0; }
.woocommerce .at-account-save { display:block; min-height:50px; min-width:240px; max-width:100%; margin:40px auto; padding:14px 24px; background:#333!important; color:white!important; border:0; border-radius:3px; font-size:14px; }
.woocommerce .at-account-save:hover { background:#69532b!important; }
.at-account-back { display:inline-block; margin-top:28px; font-size:14px; }
.at-profile-addresses { margin-top:56px; }
.at-profile-addresses h2 { font-size:21px; }
.at-profile-address { padding:28px 0; border-bottom:1px solid #ebe5dd; }
.at-profile-address h3 { font-size:16px; margin:0 0 14px; }
.at-profile-address address { font-style:normal; line-height:1.9; }
.at-profile-address a { display:inline-block; padding:12px 0; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:640px) {
 .at-password-row,.at-profile-row { grid-template-columns:1fr; gap:12px; padding:22px 0; }
 .at-password-page h1,.at-profile-page h1 { font-size:22px; }
 .woocommerce .at-account-save { width:100%; min-width:0; }
}
.at-account-wrap.at-account-wrap--home { display:flow-root; width:100%; max-width:1200px; box-sizing:border-box; padding:64px 40px 112px; margin:0 auto; }
.woocommerce-account .at-account-wrap .woocommerce-MyAccount-content { float:none!important; width:100%!important; max-width:none!important; margin:0!important; box-sizing:border-box; display:flow-root; }
.woocommerce-account .at-account-wrap .at-account-main { float:none!important; width:100%!important; min-width:0; margin:0; }
.at-account-wrap--home .at-account-main { padding:0; border:0; background:white; }
.at-member-home h1 { font:500 22px/1.6 'Noto Sans JP',sans-serif; color:#292621; margin:0 0 28px; }
.at-member-name { font:400 20px/1.8 'Noto Sans JP',sans-serif; color:#292621; margin:0 0 48px; }
.at-member-name > span { font-size:13px; margin-left:6px; }
.at-member-menu { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.at-member-menu > a { display:flex; align-items:center; justify-content:space-between; box-sizing:border-box; gap:20px; min-height:76px; padding:22px 24px; border:1px solid #ddd7ce; background:#fff; color:#292621; font:400 15px/1.7 'Noto Sans JP',sans-serif; text-decoration:none!important; }
.at-account-wrap--home .at-member-name { margin:0 0 48px; font-size:20px; line-height:1.8; }
.at-member-menu > a > span:last-child { color:#a48439; font-size:24px; line-height:1; }
.at-member-menu > a:hover { background:#faf7f1; border-color:#ab9057; }
.at-member-menu > a:focus-visible { outline:2px solid #806326; outline-offset:3px; }
.at-auth-grid .at-guest-entry { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px; border:1px solid #e1d8ca; background:#faf8f4; }
.at-guest-entry h2 { font-size:19px; line-height:1.7; margin:0 0 6px; }
.at-guest-entry p { font-size:14px; margin:0; color:#625b51; }
.at-guest-entry .at-btn { flex-shrink:0; min-height:48px; background:#806326; color:white!important; }
.at-guest-checkout-note { padding:20px 24px; border-left:3px solid #a48439; background:#faf8f4; margin:0 0 28px; color:#292621; }
.at-guest-checkout-note strong { font-size:16px; }
.at-guest-checkout-note p { font-size:14px; margin:6px 0 0; }
@media(max-width:900px) { .at-member-menu { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
 .at-account-wrap.at-account-wrap--home { padding:36px 20px 72px; }
 .at-member-menu { grid-template-columns:1fr; gap:12px; }
 .at-account-wrap--home .at-member-name { margin-bottom:32px; }
 .at-member-menu > a { min-height:58px; padding:15px 18px; }
 .at-auth-grid .at-guest-entry { flex-direction:column; align-items:stretch; gap:16px; padding:20px; }
}
.footer-new .footer-social-col { grid-column:1/-1; border-top:1px solid #363636; padding-top:28px; }
.footer-new .footer-social-col .footer-col-title { margin-bottom:8px; }
.footer-new .footer-social-note { margin:0 0 16px; }
.footer-new .footer-social-links { flex-direction:row; flex-wrap:wrap; gap:12px; }
.footer-new .footer-social-links a { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:44px; padding:10px 18px; border:1px solid #625b50; color:#eee9e1; border-radius:4px; text-decoration:none; font-size:13px; }
.footer-new .footer-social-links a:hover { color:#fff; background:#383127; border-color:#bca16a; }
.footer-new .footer-social-links a:focus-visible { outline:2px solid #d4ad50; outline-offset:4px; }
body { font-size:15px; line-height:1.85; color:#292621; }
button,input,select,textarea { font-family:'Noto Sans JP',sans-serif; }
.main-bar { display:flex; align-items:center; height:60px; padding:0 24px; gap:0; overflow-x:auto; justify-content:flex-start; background:#fff; border-top:1px solid #eee9e1; border-bottom:1px solid #e3dcd1; box-shadow:none; }
.main-bar .main-item { position:relative; flex:0 0 auto; display:flex; align-items:center; height:60px; padding:0 clamp(15px,1.6vw,26px); color:#292621; font:500 13px/1.6 'Noto Sans JP',sans-serif; letter-spacing:.05em; white-space:nowrap; }
.main-bar .main-item:first-child { margin-left:auto; }
.main-bar .main-item:last-child { margin-right:auto; }
.main-bar .main-item::before,.main-bar .main-item + .main-item::before,
.main-bar .main-item::after,.main-bar .main-item:hover::after,.main-bar .main-item:focus-visible::after { content:none; display:none; }
.main-bar .main-item > span { position:relative; display:block; font:inherit; letter-spacing:inherit; }
.main-bar .main-item > span::after { content:''; position:absolute; bottom:-8px; left:0; right:0; height:1px; background:#a48439; transform:scaleX(0); transform-origin:center; transition:transform .2s ease; }
.main-bar .main-item:hover > span::after,.main-bar .main-item:focus-visible > span::after { transform:scaleX(1); }
.main-bar .main-item:hover { color:#846721; }
.at-home-refined { background:#fff; }
.at-editorial-hero { max-width:1440px; margin:auto; display:grid; grid-template-columns:1fr 1fr; align-items:center; background:#f6f3ed; }
.at-editorial-copy { padding:clamp(32px,5vw,80px); }
.at-eyebrow { color:#8a6c2b; font:500 14px/1.5 'Cormorant Garamond',serif; letter-spacing:.17em; margin:0 0 12px; }
.at-editorial-copy h1 { font-family:'Noto Serif JP',serif; font-size:clamp(26px,3vw,42px); font-weight:500; line-height:1.8; letter-spacing:.09em; margin:0 0 20px; }
.at-editorial-copy > p:not(.at-eyebrow) { font-size:14px; color:#59544d; line-height:2; }
.at-shop-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:42px; padding:15px 24px; margin-top:24px; background:#292621; color:#fff; font-size:14px; }
.at-shop-cta:hover { color:#fff; background:#685333; }
.at-editorial-photo { display:block; padding:32px; background:#fff; color:#292621; }
.at-editorial-photo img { width:100%; height:clamp(280px,36vw,510px); object-fit:contain; }
.at-hero-caption { display:flex; justify-content:space-between; gap:16px; padding:16px 4px 0; font-size:13px; }
.at-home-section { max-width:1280px; margin:auto; padding:64px 32px; }
.at-section-top { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.at-section-top h2 { font-family:'Noto Serif JP',serif; font-size:24px; font-weight:500; margin:0; }
.at-section-top a { color:#625641; font-size:13px; white-space:nowrap; }
.at-curated-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.at-curated-grid .pcard { min-width:0; position:relative; }
.pcard .pcard-img { aspect-ratio:1/1!important; background:#fff; }
.pcard .pcard-img img { width:100%!important; height:100%!important; object-fit:contain!important; }
.pcard .pcard-name { color:#292621!important; font-size:14px!important; line-height:1.75!important; }
.pcard .pcard-price,.at-product-detail-price { font-family:'Noto Sans JP',sans-serif; font-variant-numeric:tabular-nums; color:#292621!important; }
.pcard .pcard-price { font-size:15px!important; margin-top:8px!important; }
.pcard .pcard-cat { font-size:11px!important; color:#776342!important; }
.at-category-refined { border-top:1px solid #eae5dd; border-bottom:1px solid #eae5dd; }
.at-category-tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:20px; }
.at-category-tiles a { color:#292621; display:flex; flex-direction:column; justify-content:flex-end; gap:12px; text-align:center; font-size:13px; }
.at-category-tiles img { width:100%; aspect-ratio:1; object-fit:contain; }
.at-category-tiles a:hover { color:#846721; }
.at-news-refined { max-width:1040px; }
.at-news-row { display:grid; grid-template-columns:110px 1fr 20px; align-items:center; gap:20px; border-bottom:1px solid #e5dfd5; padding:20px 0; color:#292621; font-size:14px; }
.at-news-row time { font-size:12px; color:#746c60; }
.at-product-detail .at-product-main-img img { object-fit:contain; background:#fff; }
.at-product-detail .at-product-main-img { background:#fff; }
.at-thumb { padding:0; border:1px solid #e2dcd2; background:#fff; }
.at-thumb img { object-fit:contain; }
.at-product-summary { font-size:15px; line-height:1.9; }
.at-product-description { border-top:1px solid #e5dfd5; padding-top:28px; margin-top:28px; font-size:14px; line-height:1.9; }
.at-product-description h2 { font-size:20px; margin-bottom:18px; }
.at-purchase-note { font-size:13px; line-height:1.85; margin:16px 0; color:#625a50; }
.at-purchase-note a { text-decoration:underline; text-underline-offset:3px; }
.footer-new-inner { grid-template-columns:1.3fr repeat(3,1fr); gap:32px; }
.footer-col-link,.footer-social-links { color:#d4cfc6; font-size:13px; }
.footer-brand-col p,.footer-social-note { color:#bfb8ac; font-size:12px; }
.footer-bottom { color:#bfb8ac; font-size:11px; }
.footer-col-title { font-size:12px; }
.contact-intro { color:#59544d; font-weight:400; font-size:14px; }
@media(max-width:900px) {
 .main-bar { display:none!important; }
 .mobile-drawer.open { max-height:calc(100dvh - 72px); overflow-y:auto; overscroll-behavior:contain; }
 .at-editorial-hero { grid-template-columns:1fr; }
 .at-editorial-copy { padding:32px 24px; }
 .at-editorial-copy h1 { font-size:28px; }
 .at-editorial-photo { padding:20px 24px; }
 .at-editorial-photo img { height:280px; }
 .at-home-section { padding:44px 20px; }
 .at-curated-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 14px; }
 .at-category-tiles { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 12px; }
 .footer-new-inner { grid-template-columns:1fr 1fr; }
 .at-news-row { grid-template-columns:1fr 20px; gap:6px 14px; }
 .at-news-row time { grid-column:1/-1; }
 .at-section-top h2 { font-size:22px; }
}
@media(prefers-reduced-motion:reduce) { .main-bar .main-item > span::after { transition:none; } }

/* v15: restored carousel and consistent shopping utilities. */
.head-icons { display:flex; align-items:center; gap:12px!important; }
.head-icons > a { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; min-width:76px; min-height:68px; padding:9px 10px; color:#292621; border-radius:8px; transition:background .2s,color .2s; }
.head-icons > a > svg { width:24px; height:24px; flex-shrink:0; }
.head-icons > a > span:not(.at-cart-count):not(.at-wish-count) { font:500 12px/1.5 'Noto Sans JP',sans-serif; letter-spacing:.02em; }
.head-icons > a:hover,.mobile-icons > a:hover { color:#806326; background:#f5f1e9; }
.head-icons .at-cart-count,.head-icons .at-wish-count { top:2px; right:16px; min-width:18px; height:18px; padding:0 4px; font:500 10px/18px sans-serif; background:#806326; color:white; border:1px solid white; }
.head-icons a:focus-visible,.mobile-icons a:focus-visible,.at-bnr button:focus-visible,.at-wish-section a:focus-visible,.at-cart-section a:focus-visible { outline:2px solid #806326; outline-offset:4px; }
.at-home-refined .at-hero-intro { display:block; text-align:center; background:#faf8f4; }
.at-hero-intro .at-editorial-copy { padding:32px 24px; }
.at-hero-intro h1 { font-size:26px; line-height:1.7; margin:0 0 12px; }
.at-hero-intro h1 br { display:none; }
.at-hero-intro .at-shop-cta { margin-top:10px; padding:10px 22px; }
.at-bnr-controls { display:flex; justify-content:center; align-items:center; gap:20px; padding:14px 20px 4px; }
.at-bnr-controls .at-bnr-dots { position:static; transform:none; margin:0; padding:0; }
.at-bnr.is-single .at-bnr-controls { display:none; }
.at-wish-section { max-width:1200px; margin:auto; padding:0 24px 64px; }
.at-wish-empty,.at-cart-empty { background:#faf8f4; border:1px solid #e7e0d5; border-radius:8px; padding:48px 24px; }
.at-wish-empty h2,.at-cart-empty h2 { font-size:22px; color:#292621; }
.at-wish-empty p,.at-cart-empty p { color:#625b51; font-size:14px; }
.at-wish-grid { gap:28px 20px; }
.at-wish-card { border:1px solid #e7e0d5; border-radius:6px; overflow:hidden; background:white; }
.at-wish-card-img img { object-fit:contain!important; background:white; }
.at-wish-card-body { padding:18px; }
.at-wish-card-name { color:#292621; font-size:15px; line-height:1.7; }
.at-wish-card-price { font:500 15px/1.8 'Noto Sans JP',sans-serif; color:#292621; margin:10px 0 16px; }
.at-wish-head,.at-wish-foot { gap:16px; flex-wrap:wrap; }
.at-wish-notice { color:#625b51; line-height:1.8; }
.at-auth-grid { max-width:1080px; margin:0 auto 40px; gap:32px; align-items:start; }
.at-auth-card { padding:36px; border:1px solid #e7e0d5; border-radius:8px; background:white; }
.at-auth-register { background:#faf8f4; }
.at-auth-card h2 { font-size:21px; line-height:1.7; color:#292621; }
.at-auth-lead,.at-auth-merits,.at-auth-options { font-size:14px; color:#625b51; line-height:1.9; }
.at-auth-card .input-text { min-height:48px; border:1px solid #cfc7b9!important; background:white!important; border-radius:4px; padding:12px; font-size:16px; }
.at-auth-card .input-text:focus { outline:2px solid #806326; outline-offset:2px; }
.at-auth-options { flex-wrap:wrap; gap:12px; }
.at-account-side { background:#faf8f4; border:1px solid #e7e0d5; border-radius:8px; }
.at-account-nav-item { min-height:48px; font-size:14px; }
.at-account-nav-item.is-active { background:#ede6da; color:#59431b; border-left:3px solid #806326; }
.at-account-main { min-width:0; font-size:15px; }
.at-account-main table { display:block; overflow-x:auto; max-width:100%; }
.at-cart-section { max-width:1240px; margin:auto; }
.at-cart-inner { gap:40px; }
.at-cart-row-name { color:#292621!important; font-size:15px; line-height:1.7; }
.at-cart-row-img img { object-fit:contain!important; background:white; }
.at-cart-totals,.at-empty-cart-summary { background:#faf8f4; border:1px solid #e1d8ca; border-radius:8px; padding:28px; }
.at-cart-totals .at-totals-total { font-size:19px; border-top:1px solid #d6cbbc; padding-top:20px; }
.at-cart-section .at-btn-solid,.at-wish-section .at-btn-solid,.woocommerce .at-auth-submit { background:#806326!important; color:#fff!important; border:1px solid #806326!important; min-height:48px; font-size:14px; border-radius:4px; }
.at-cart-section .at-btn-solid:hover,.at-wish-section .at-btn-solid:hover,.woocommerce .at-auth-submit:hover { background:#5c471b!important; color:white!important; }
.at-cart-row-links { display:flex; gap:12px; flex-wrap:wrap; }
.at-cart-row-links a,.at-cart-row-links button { min-height:36px; padding:6px 0; font-size:12px; }
@media(max-width:900px) {
 .mobile-bar { display:grid!important; grid-template-columns:44px 1fr; height:auto!important; padding:10px 16px 0!important; gap:6px 12px; }
 .mobile-logo { justify-self:center; margin-right:56px; }
 .mobile-icons { grid-column:1/-1; display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; gap:0!important; border-top:1px solid #ece6dc; }
 .mobile-icons > a,.mobile-icons > button { position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; min-height:60px; padding:6px 0; color:#292621; background:transparent; border:0; }
 .mobile-icons .at-mobile-label { display:block; font:500 10px/1.4 'Noto Sans JP',sans-serif; }
 .mobile-icons .at-cart-trigger::after { content:'カート'; font:500 10px/1.4 'Noto Sans JP',sans-serif; }
 .mobile-icons .mobile-search-btn::after { content:'検索'; font:500 10px/1.4 'Noto Sans JP',sans-serif; }
 .mobile-icons .at-cart-count,.mobile-icons .at-wish-count { top:2px; right:calc(50% - 25px); }
 .at-auth-grid { grid-template-columns:1fr; gap:20px; }
 .at-auth-card { padding:24px 20px; }
 .at-wish-section { padding:0 16px 40px; }
 .at-wish-card-body { padding:12px; }
 .at-wish-card-name { font-size:14px; }
 .at-wish-card-action .at-btn { padding:12px 6px; font-size:12px; letter-spacing:0; }
 .at-wish-foot > * { width:100%; }
 .at-cart-inner { grid-template-columns:1fr; gap:24px; }
 .at-cart-totals { position:static; padding:24px 20px; }
 .at-hero-intro h1 { font-size:22px; }
}

/* v24.3 特商法：管理者向けの未入力警告 */
.at-admin-warn { margin:0 0 20px; padding:12px 16px; background:#fbeee9; border:1px solid #e6b8ab; color:#8a3524; font-size:13px; line-height:1.8; border-radius:4px; }
.at-admin-warn a { color:#8a3524; text-decoration:underline; }
