/*
Theme Name: IroDori
Description: 彩 | IroDori 用テーマ (EC + ブログ / WooCommerce対応)
Version: 1.0
Text Domain: irodori
*/
:root{--ink:#3b3236;--pink:#d9608a;--pink-soft:#f9e3ea;--sage:#dfeae3;--lav:#e6e4f4;--gold:#b08d57;--bg:#fffaf8;--line:#eadfd8}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans JP",sans-serif;line-height:1.9;font-size:16px}
img{max-width:100%;height:auto}
a{color:var(--pink);text-decoration:none}
a:hover{opacity:.8}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:"Shippori Mincho",serif;font-weight:600;line-height:1.5}
.eyebrow{display:block;letter-spacing:.3em;font-size:13px;color:var(--gold);margin-bottom:6px}
section{padding:64px 0}
.sec-title{text-align:center;margin:0 0 36px;font-size:26px}
/* header */
.site-header{background:rgba(255,250,248,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.header-inner{max-width:1040px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink);font-family:"Shippori Mincho",serif;font-size:20px}
.logo img{width:44px;height:44px;object-fit:cover;border-radius:50%}
.main-nav{display:flex;gap:22px;align-items:center;font-size:14px}
.main-nav a{color:var(--ink)}
.main-nav a.cart-link{background:var(--pink);color:#fff;padding:6px 16px;border-radius:20px}
.nav-toggle{display:none;background:none;border:0;font-size:26px;color:var(--ink)}
/* hero */
.fv{position:relative;overflow:hidden;padding:72px 0 64px;background:linear-gradient(135deg,#fffaf8 0%,#fbe7ee 62%,#eeeaf8 100%)}
.fv-inner{position:relative;z-index:2;max-width:640px;margin:0 auto;padding:0 20px;text-align:center}
.fv-logo{width:112px;height:112px;object-fit:cover;border-radius:50%;box-shadow:0 4px 18px rgba(176,141,87,.25)}
.fv h1{font-size:clamp(26px,5vw,42px);margin:18px 0 12px;letter-spacing:.04em}
.fv h1 em{font-style:normal;color:var(--pink)}
.fv-lead{margin:0 0 26px;font-size:16px}
.fv-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.fv-chips{list-style:none;padding:0;margin:28px 0 0;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.fv-chips li{font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif;font-weight:700;font-size:17px;line-height:1.4;color:#5b3347}
.fv-staff{position:absolute;top:20px;right:max(20px,6%);z-index:2;text-align:center;width:150px}
.fv-staff img{display:block;width:124px;height:auto;margin:0 auto 4px;-webkit-mask-image:radial-gradient(ellipse 62% 66% at 50% 46%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 62% 66% at 50% 46%,#000 62%,transparent 100%)}
.fv-staff span{display:block;font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif;font-weight:700;font-size:17px;line-height:1.4;color:#5b3347}
.fv-deco-l{position:absolute;left:0;top:0;height:100%;width:110px;object-fit:cover;z-index:1;-webkit-mask-image:linear-gradient(to right,#000 35%,transparent);mask-image:linear-gradient(to right,#000 35%,transparent)}
.fv-deco-r{position:absolute;right:0;bottom:0;width:240px;height:auto;z-index:1;-webkit-mask-image:radial-gradient(ellipse at 100% 100%,#000 40%,transparent 75%);mask-image:radial-gradient(ellipse at 100% 100%,#000 40%,transparent 75%)}
/* service cards */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 14px;text-align:center;font-size:14px}
.card img{display:block;width:96px;height:96px;margin:0 auto 12px;border-radius:50%;object-fit:cover}
.card b{display:block;font-family:"Shippori Mincho",serif;font-size:17px;margin-bottom:6px}
/* categories */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cat-grid a{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px 12px;text-align:center;color:var(--ink);font-family:"Shippori Mincho",serif;font-size:16px}
.center-btn{text-align:center;margin-top:32px}
.btn{display:inline-block;background:var(--pink);color:#fff;padding:12px 34px;border-radius:30px;border:0;font-size:15px;cursor:pointer}
.btn.line{background:#fff;color:var(--pink);border:1px solid var(--pink)}
/* blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.post-card{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;color:var(--ink)}
.post-card .thumb{aspect-ratio:3/2;background:var(--pink-soft);border-radius:8px;overflow:hidden;margin-bottom:10px}
.post-card .thumb img{width:100%;height:100%;object-fit:cover}
.post-card .date{font-size:12px;color:var(--gold)}
.post-card h3{font-size:16px;margin:4px 0}
.post-card p{font-size:13px;margin:0}
.empty-note{text-align:center;color:#8a7f83}
/* contact */
.contact-block{background:var(--pink-soft);text-align:center}
.contact-block .info{max-width:560px;margin:24px auto 0;text-align:left;font-size:14px}
/* content pages */
.page-body{max-width:760px;margin:0 auto;padding:48px 20px}
.page-body h1{font-size:28px;text-align:center}
.legal-table{width:100%;border-collapse:collapse;font-size:14px}
.legal-table th,.legal-table td{border:1px solid var(--line);padding:12px;vertical-align:top;text-align:left}
.legal-table th{background:var(--pink-soft);width:30%}
/* woocommerce basics */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0;list-style:none}
.woocommerce ul.products li.product{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin:0!important;width:auto!important;float:none!important}
.woocommerce a.button,.woocommerce button.button,.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--pink);color:#fff;border-radius:30px}
.woocommerce .price{color:var(--ink)}
/* footer */
.site-footer{background:var(--ink);color:#f3e9e4;padding:40px 0 24px;font-size:13px;text-align:center}
.site-footer a{color:#f3e9e4;margin:0 10px}
.site-footer .kobutsu{margin:18px 0;line-height:1.8}
.site-footer .copy{opacity:.7}
@media(max-width:760px){
.fv{padding:48px 0 48px}.fv-deco-l{width:56px}.fv-deco-r{width:130px;opacity:.8}.fv-staff{top:14px;right:10px;width:96px}.fv-staff img{width:76px}.fv-staff span{font-size:12px}.fv{padding-top:96px}
.cards,.cat-grid,.woocommerce ul.products{grid-template-columns:1fr 1fr}
.blog-grid{grid-template-columns:1fr}
.nav-toggle{display:block}
.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);flex-direction:column;padding:16px;border-bottom:1px solid var(--line)}
.main-nav.open{display:flex}
.legal-table th,.legal-table td{display:block;width:100%}
}
/* inquiry mode / state badges */
.woocommerce ul.products li.product,.woocommerce div.product div.images{position:relative}
.state-badge{position:absolute;top:10px;left:10px;z-index:5;padding:4px 14px;border-radius:20px;color:#fff;font-size:12px;letter-spacing:.1em}
.state-badge.sold{background:#6b5f64}
.state-badge.reserved{background:var(--gold)}
.inquiry-box{background:var(--pink-soft);border-radius:12px;padding:18px;margin-top:20px;font-size:14px}
.inquiry-btns{display:flex;flex-direction:column;gap:10px}
.inquiry-btns .btn{text-align:center}

/* instagram + contact form */
.ig-embed{max-width:540px;margin:0 auto}
.ig-embed iframe{width:100%;height:560px;border:1px solid #eadfe0;border-radius:8px;background:#fff}
.btn.tel-btn{font-size:18px;letter-spacing:.05em}
.contact-form{max-width:560px;margin:28px auto 0;text-align:left;font-size:14px}
.contact-form label{display:block;margin-bottom:14px;font-weight:500}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid #d9c9cb;border-radius:6px;font:inherit;background:#fff;box-sizing:border-box}
.contact-form .hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.form-note{font-size:12px;margin:-6px 0 14px}
.form-msg{max-width:560px;margin:20px auto 0;padding:12px;border-radius:6px;font-size:14px}
.form-msg.ok{background:#e8f3e8;color:#2e6b2e}
.form-msg.ng{background:#fbe6e6;color:#a33}
.foot-tel{margin:10px 0 0}
.site-footer .foot-tel a{color:inherit}

.ig-card{max-width:540px;margin:0 auto;background:#fff;border:1px solid #eadfe0;border-radius:8px;padding:16px}
.ig-head{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-size:14px;margin-bottom:12px}
.ig-head img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.ig-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ig-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:4px;display:block}

.ig-live{max-width:640px;margin:0 auto}

/* Instagram feed: tight grid + brand-pink follow button */
.ig-live #sbi_images{padding:0 !important;margin:0 !important}
.ig-live #sbi_images .sbi_item{padding:1px !important}
.ig-live #sbi_load .sbi_follow_btn a,.ig-live .sbi_follow_btn a{background:var(--pink) !important;color:#fff !important;border-radius:30px !important;padding:12px 28px !important;box-shadow:none !important}
.ig-live .sbi_follow_btn a:hover{background:var(--pink) !important;opacity:.85}
.ig-live .sbi_follow_btn a:focus{box-shadow:none !important}
.ig-live{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px}
