/*
Theme Name: Luck Base
Theme URI: https://luckbase.example.jp/
Author: Faucet
Description: 福岡県田川市の車の塗装・板金店「Luck Base（ラックベース）」公式サイトのオリジナルWordPressテーマ。デザイン・余白・配置・画像・レスポンシブを忠実に再現した多ページ構成のテーマです。
Version: 2.1.0
Requires at least: 5.8
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: luckbase
*/

/* ===== base ===== */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:#f7f2e9;color:#3d362b;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.8;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
button{font-family:inherit;}

/* ===== LBHeader ===== */
.lb-hamb{display:none;}
  .lb-navlink{position:relative;letter-spacing:.04em;transition:color .25s ease;}
  .lb-navlink::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1.5px;background:linear-gradient(90deg,#bf9b66,#e3c893);transform:scaleX(0);transform-origin:center;transition:transform .3s ease;}
  .lb-navlink:hover{color:#3d362b!important;}
  .lb-navlink:hover::after{transform:scaleX(1);}
  .lb-h-mail:hover{background:#fbf6ec;}
  .lb-h-line:hover{background:#5a9e5d;}
  .lb-nav-cta{transition:background .25s ease,box-shadow .25s ease,transform .25s ease;}
  .lb-nav-cta:hover{background:#4d6b84;box-shadow:0 6px 16px rgba(91,124,151,.32);transform:translateY(-1px);}
  @media(max-width:980px){
    .lb-gnav{display:none!important;}
    .lb-hamb{display:flex!important;}
    .lb-topinfo{display:none!important;}
  }
  @media(max-width:560px){ .lb-topbar{display:none!important;} }
  #lb-navpanel{overflow:hidden;max-height:0;transition:max-height .35s ease;}
  #lb-navpanel.open{max-height:520px;}

/* ===== LBFooter ===== */
.lb-spbar{display:none;}
  .lb-foot-link:hover{color:#fff!important;}
  .lb-rail-tel,.lb-rail-mail,.lb-rail-line{transition:background .25s ease,transform .25s ease;}
  .lb-rail-tel:hover{background:#4d6b84;transform:translateX(-4px);}
  .lb-rail-mail:hover{background:#bfa885;transform:translateX(-4px);}
  .lb-rail-line:hover{background:#5a9e5d;transform:translateX(-4px);}
  @media(max-width:980px){
    .lb-rail{display:none!important;}
    .lb-spbar{display:flex!important;}
    body{padding-bottom:66px;}
  }

/* ===== Luck Base TOP ===== */
*{box-sizing:border-box;}
  body{margin:0;background:#f7f2e9;color:#3d362b;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.8;}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}
  @keyframes lbfade{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
  .lb-hamb{display:none;}
  .lb-spbar{display:none;}
  .lb-hero-tall{display:none;}
  .lb-annot-list{display:none;}
  .lb-workcat{transition:all .25s ease;}
  .lb-workcat:hover{box-shadow:0 8px 22px rgba(120,95,55,.14);transform:translateY(-3px);}
  .lb-svc-cards > div{transition:box-shadow .3s ease,transform .3s ease,border-color .3s ease;}
  .lb-svc-cards > div:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(90,70,40,.13);border-color:#dcc39a!important;}
  .lb-news-card{transition:box-shadow .3s ease,transform .3s ease;}
  .lb-news-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(90,70,40,.13);}
  .lb-svc-head h2{position:relative;}
  .lb-lux-rule{display:inline-block;width:30px;height:1px;background:linear-gradient(90deg,#cba063,#e8cf97);vertical-align:middle;margin-right:12px;}
  .lb-gnav > a{position:relative;transition:color .25s ease;}
  .lb-gnav > a:not(:last-child)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1.5px;background:linear-gradient(90deg,#bf9b66,#e3c893);transform:scaleX(0);transform-origin:center;transition:transform .3s ease;}
  .lb-gnav > a:not(:last-child):hover::after{transform:scaleX(1);}
  .lb-gnav > a:last-child{transition:background .25s ease,box-shadow .25s ease,transform .25s ease;}
  .lb-gnav > a:last-child:hover{box-shadow:0 6px 16px rgba(91,124,151,.32);transform:translateY(-1px);}
  .lb-rail > a{transition:background .25s ease,transform .25s ease;}
  .lb-rail > a:hover{transform:translateX(-4px);}
  @media(max-width:960px){
    .lb-gnav{display:none!important;}
    .lb-hamb{display:flex!important;}
    .lb-rail{display:none!important;}
    .lb-spbar{display:flex!important;}
    .lb-topinfo{display:none!important;}
    .lb-bawrap{flex-direction:column!important;}
    body{padding-bottom:66px;}
  }
  @media(max-width:640px){
    .lb-topbar{display:none!important;}
    /* keep service & before-after in two columns on phones */
    .lb-svc-cards{grid-template-columns:1fr 1fr!important;gap:11px!important;}
    .lb-svc-cards > div{padding:20px 13px!important;}
    .lb-svc-cards h3{font-size:15px!important;}
    .lb-svc-cards p{text-wrap:pretty;}
    .lb-svc-all-grid span{font-size:11px!important;white-space:nowrap!important;}
    #beforeafter .lb-ba{grid-template-columns:1fr 1fr!important;gap:9px!important;}
    #beforeafter .lb-ba img{height:170px!important;}
    #lb-banners{grid-template-columns:1fr!important;}
    .lb-news-grid{grid-template-columns:1fr!important;}
    .lb-news-img{flex-basis:118px!important;min-height:112px!important;}
    .lb-annot{height:auto!important;}
    .lb-annot-callouts{display:none!important;}
    .lb-annot-img{height:230px!important;}
    .lb-annot-list{display:flex!important;}
    .lb-workcats{grid-template-columns:1fr 1fr!important;}
    .lb-svc-all-grid{grid-template-columns:1fr 1fr!important;gap:10px 12px!important;}
    .lb-svc-head p{display:none!important;}
    /* hero headline sized for phones */
    .lb-hero-h h1{font-size:30px!important;line-height:1.32!important;}
    .lb-hero-arrow{display:none!important;}
    .lb-hero-inner{padding:0 24px 48px!important;justify-content:flex-end!important;}
    .lb-hero-h .lb-eyebrow{font-size:11px!important;letter-spacing:.22em!important;margin-bottom:9px!important;}
    .lb-hero-bar{width:46px!important;height:3px!important;margin-bottom:12px!important;}
    .lb-hero-sub1{font-size:14.5px!important;margin-bottom:2px!important;}
    .lb-hero-sub2{font-size:11.5px!important;letter-spacing:.02em!important;margin-bottom:18px!important;}
    .lb-hero-btns{gap:10px!important;flex-wrap:nowrap!important;}
    .lb-hero-btn{flex:1 1 0!important;text-align:center!important;padding:13px 6px!important;font-size:13px!important;}
    .lb-hero-nav{display:none!important;}
    .lb-banner-dots{display:none!important;}
    /* hero: portrait images on phones */
    .lb-hero-h{height:76vh!important;min-height:520px!important;max-height:660px!important;}
    .lb-hero-wide{display:none!important;}
    .lb-hero-tall{display:block!important;}
    .lb-hero-ovl{background:linear-gradient(180deg,rgba(42,37,30,.50) 0%,rgba(42,37,30,.30) 44%,rgba(42,37,30,.34) 66%,rgba(42,37,30,.58) 100%)!important;}
    /* CTA phone number on a single line */
    #contact h2{font-size:21px!important;margin-bottom:8px!important;}
    #contact{padding:34px 16px!important;}
    .lb-cta-panel{padding:30px 18px!important;}
    .lb-cta-desc{font-size:13px!important;margin-bottom:15px!important;}
    .lb-cta-hours{margin-bottom:13px!important;}
    .lb-cta-divider{margin-bottom:15px!important;}
    .lb-cta-btns{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;}
    .lb-cta-btn{width:100%!important;flex-direction:column!important;gap:5px!important;padding:12px 6px!important;font-size:12px!important;box-sizing:border-box!important;}
    #contact a[href^="tel:"]{font-size:30px!important;white-space:nowrap!important;}
    #contact a[href^="tel:"]{letter-spacing:0!important;}
    .lb-insta-grid{grid-template-columns:repeat(3,1fr)!important;}
    .lb-flow-grid{display:grid!important;grid-template-columns:1fr 1fr!important;}
    .lb-flow-grid>div{max-width:none!important;}
  }
  /* forced mobile preview (class-driven, works at any viewport so comments anchor to real elements) */

/* ===== Service ===== */
*{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#f7f2e9;color:#3d362b;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.8;}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}
  .lb-cta-mail:hover{background:#f3f7fa!important;}
  .lb-cta-line:hover{background:#5a9e5d!important;}
  .lb-tab4 a:hover{filter:brightness(1.06);}
  .lb-feat{display:flex;gap:22px;align-items:center;}
  .lb-point{display:flex;gap:22px;align-items:center;}
  .lb-point.rev{flex-direction:row-reverse;}
  .lb-merits{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;}
  .lb-tab4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
  @media(max-width:820px){
    .lb-feat,.lb-point,.lb-point.rev{flex-direction:column!important;gap:14px;}
    .lb-feat img,.lb-point img{width:100%!important;height:200px!important;}
    .lb-tab4{grid-template-columns:1fr 1fr!important;}
    .lb-merits{grid-template-columns:1fr!important;}
    #zen{padding-top:18px!important;}
    .lb-cta-h2{font-size:clamp(17px,4.6vw,22px)!important;}
  }
  @media(max-width:640px){ .lb-pagehero{height:210px!important;} }

/* ===== AboutPaint ===== */
*{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#f7f2e9;color:#3d362b;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.8;}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}
  .lb-cta-mail:hover{background:#f3f7fa!important;}
  .lb-cta-line:hover{background:#5a9e5d!important;}
  .lb-btn-primary:hover{background:#4d6b84!important;}
  .lb-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  .lb-troubles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
  .lb-edu{display:flex;gap:30px;align-items:center;}
  .lb-edu.rev{flex-direction:row-reverse;}
  .lb-reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .lb-tl-row{display:flex;gap:20px;align-items:flex-start;}
  .lb-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:15px;color:#3d362b;}
  .lb-faq summary::-webkit-details-marker{display:none;}
  .lb-faq .lb-faq-ico{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:#e7eef2;color:#5b7c97;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;transition:transform .3s ease;}
  .lb-faq[open] .lb-faq-ico{transform:rotate(45deg);}
  .lb-faq[open] summary{border-bottom:1px solid #f0e8d8;}
  @media(max-width:860px){
    .lb-grid4{grid-template-columns:1fr 1fr!important;}
    .lb-troubles{grid-template-columns:1fr 1fr!important;}
    .lb-troubles h3{font-size:13.5px!important;}
    .lb-troubles p,.lb-grid4 p,.lb-faq summary,.lb-reasons p{text-wrap:pretty;}
    .lb-reasons{grid-template-columns:1fr!important;}
    .lb-edu,.lb-edu.rev{flex-direction:column!important;gap:16px;}
    .lb-edu img{width:100%!important;height:220px!important;}
  }
  @media(max-width:640px){ .lb-pagehero.lb-pagehero-auto{min-height:210px!important;height:auto!important;} .lb-pagehero.lb-pagehero-auto h1{font-size:20px!important;} .lb-pagehero.lb-pagehero-auto p{font-size:20px!important;} .lb-pagehero .lb-pagehero-bg{background-position:right 68% top 30%!important;} }

/* ===== Works ===== */
*{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#f7f2e9;color:#3d362b;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.8;}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}
  .lb-cta-mail:hover{background:#f3f7fa!important;}
  .lb-cta-line:hover{background:#5a9e5d!important;}
  .lb-tab{padding:9px 18px;border-radius:9px;cursor:pointer;font-size:13.5px;font-weight:600;font-family:'Noto Sans JP',sans-serif;border:1px solid #e6ddcd;background:#fdfaf3;color:#6b5a42;transition:all .25s ease;}
  .lb-tab.is-active{border-color:#5b7c97;background:#5b7c97;color:#fff;}
  .lb-work:hover{box-shadow:0 10px 26px rgba(120,95,55,.14);transform:translateY(-3px);transition:all .3s ease;}
  .lb-wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
  @media(max-width:860px){ .lb-wgrid{grid-template-columns:1fr 1fr!important;} .lb-wgrid h3{font-size:14px!important;} .lb-wgrid span{font-size:11px!important;text-wrap:pretty;} }
  @media(max-width:640px){ .lb-pagehero{height:210px!important;} }

/* ===== WorksDetail ===== */
*{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#f7f2e9;color:#3d362b;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.8;}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}
  .lb-cta-mail:hover{background:#f3f7fa!important;}
  .lb-cta-line:hover{background:#5a9e5d!important;}
  .lb-outline:hover{background:#5b7c97!important;color:#fff!important;}
  .lb-ba2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .lb-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
  .lb-flow{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;}
  @media(max-width:760px){ .lb-gal{grid-template-columns:1fr 1fr!important;} .lb-flow{grid-template-columns:1fr 1fr 1fr!important;} }

/* ===== Voice ===== */
*{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#f7f2e9;color:#3d362b;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.8;}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}
  .lb-cta-mail:hover{background:#f3f7fa!important;}
  .lb-cta-line:hover{background:#5a9e5d!important;}
  .lb-vgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  @media(max-width:760px){ .lb-vgrid{grid-template-columns:1fr!important;} }
  @media(max-width:640px){ .lb-pagehero{height:210px!important;} }

/* ===== Company ===== */
*{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#f7f2e9;color:#3d362b;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.8;}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}
  .lb-cta-mail:hover{background:#f3f7fa!important;}
  .lb-cta-line:hover{background:#5a9e5d!important;}
  .lb-greet{display:flex;gap:34px;align-items:center;}
  @media(max-width:780px){ .lb-greet{flex-direction:column!important;} .lb-greet img{width:100%!important;height:260px!important;} }
  @media(max-width:640px){ .lb-pagehero{height:210px!important;} }

/* ===== News ===== */
*{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#f7f2e9;color:#3d362b;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.8;}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}
  .lb-cta-mail:hover{background:#f3f7fa!important;}
  .lb-cta-line:hover{background:#5a9e5d!important;}
  .lb-tab{padding:8px 17px;border-radius:9px;cursor:pointer;font-size:13px;font-weight:600;font-family:'Noto Sans JP',sans-serif;border:1px solid #e6ddcd;background:#fdfaf3;color:#6b5a42;transition:all .25s ease;}
  .lb-tab.is-active{border-color:#5b7c97;background:#5b7c97;color:#fff;}
  .lb-newsrow:hover{background:#fbf6ec;}
  .lb-newsrow img{transition:transform .4s ease;}
  .lb-newsrow:hover img{transform:scale(1.04);}
  @media(max-width:620px){ .lb-nrow{flex-direction:column!important;align-items:stretch!important;} .lb-nrow .lb-nthumb{width:100%!important;height:170px!important;} }
  @media(max-width:640px){ .lb-pagehero{height:210px!important;} }

/* ===== Contact ===== */
*{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#f7f2e9;color:#3d362b;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.8;}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}
  .lb-field{width:100%;padding:13px 15px;border:1px solid #ddd2bf;border-radius:10px;background:#fff;font-family:'Noto Sans JP',sans-serif;font-size:14.5px;color:#3d362b;}
  .lb-field:focus{outline:none;border-color:#5b7c97;box-shadow:0 0 0 3px rgba(91,124,151,.14);}
  .lb-submit:hover{background:#4d6b84;}
  .lb-opt:hover{background:#f3f7fa;}
  .lb-line:hover{background:#5a9e5d;}
  .lb-twocol{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .lb-quick{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  @media(max-width:640px){ .lb-twocol{grid-template-columns:1fr!important;} .lb-quick{grid-template-columns:1fr!important;} }
  @media(max-width:640px){ .lb-pagehero{height:210px!important;} }

/* ===== WordPress post body (施工事例・ブログ) ===== */
.lb-post-body>*{margin:0 0 1.1em;}
.lb-post-body h2{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:22px;margin:1.6em 0 .6em;padding-left:12px;border-left:4px solid #5b7c97;color:#3d362b;}
.lb-post-body h3{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:18px;margin:1.4em 0 .5em;color:#3d362b;}
.lb-post-body p{color:#4a4236;}
.lb-post-body img{border-radius:4px;margin:1em 0;height:auto;}
.lb-post-body a{color:#5b7c97;text-decoration:underline;}
.lb-post-body ul,.lb-post-body ol{padding-left:1.4em;color:#4a4236;}
.lb-post-body li{margin:.35em 0;}
.lb-post-body blockquote{border-left:3px solid #cdb89a;background:#fdfaf3;margin:1.2em 0;padding:12px 18px;color:#6b5a42;border-radius:0 8px 8px 0;}
.lb-post-body figure{margin:1.2em 0;}
.lb-post-body figcaption{font-size:12.5px;color:#9a907e;text-align:center;margin-top:6px;}
