/*
Theme Name: 庭韵古建
Theme URI: https://www.huiyuangujian.com
Description: 湖南庭韵古建工程有限公司企业网站主题 —— 苏式古韵 · 铝代木 · 风雨长廊 · 屋檐翘角。棕色木质基调，适配 WordPress 7.0。
Version: 1.1.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Author: 湖南庭韵古建工程有限公司
Author URI: https://www.huiyuangujian.com
License: GPL-2.0-or-later
Text Domain: huiyuan
Tags: brown, chinese, architecture, corporate, responsive, custom-post-type
*/

:root{
  --brown-900:#2e1c0e;
  --brown-800:#3d2614;
  --brown-700:#4a2f19;
  --brown-600:#5c3a20;
  --brown-500:#6e4b2a;   /* primary */
  --brown-400:#8a5e38;
  --brown-300:#a87a4d;
  --tan:#c79a6b;
  --gold:#cf9b54;        /* accent */
  --cream:#f7f1e6;       /* page bg */
  --paper:#fdfaf3;       /* card bg */
  --ink:#2b2018;         /* text */
  --muted:#7a6a55;
  --tile:#2b2b2b;        /* roof dark */
  --line:#e3d6c0;
  --red:#b23a2e;         /* seal red accent */
  --shadow:0 10px 30px rgba(46,28,14,.12);
  --shadow-sm:0 4px 14px rgba(46,28,14,.10);
  --maxw:1200px;
  --serif:"Noto Serif SC","Songti SC","SimSun",STSong,serif;
  --kai:"Ma Shan Zheng","KaiTi","STKaiti",var(--serif);
  --sans:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.75;font-size:16px;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--brown-600);text-decoration:none;transition:color .2s;}
a:hover{color:var(--gold);}
h1,h2,h3,h4,h5{font-family:var(--serif);font-weight:700;line-height:1.3;color:var(--brown-800);margin:0 0 .6em;}
p{margin:0 0 1em;}
ul,ol{margin:0 0 1em;padding-left:1.4em;}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px;}

/* ---------- buttons ---------- */
.btn{display:inline-block;padding:12px 28px;border-radius:4px;font-family:var(--serif);font-weight:700;letter-spacing:1px;border:1px solid transparent;cursor:pointer;transition:.2s;}
.btn-primary{background:var(--brown-500);color:#fff;box-shadow:var(--shadow-sm);}
.btn-primary:hover{background:var(--brown-600);color:#fff;transform:translateY(-2px);}
.btn-ghost{background:transparent;border-color:var(--brown-500);color:var(--brown-600);}
.btn-ghost:hover{background:var(--brown-500);color:#fff;}
.btn-gold{background:var(--gold);color:var(--brown-900);}
.btn-gold:hover{filter:brightness(1.05);color:var(--brown-900);}

/* ---------- top bar ---------- */
.topbar{background:var(--brown-900);color:#e9dcc6;font-size:13px;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding-top:8px;padding-bottom:8px;}
.topbar a{color:#e9dcc6;}
.topbar a:hover{color:var(--gold);}
.topbar .tb-left span{margin-right:18px;white-space:nowrap;}
.topbar .tb-left i{color:var(--gold);font-style:normal;margin-right:6px;}

/* ---------- 马头墙 top decoration ---------- */
.maotou{display:block;width:100%;height:30px;background:var(--brown-800);}
.maotou img{width:100%;height:30px;display:block;object-fit:cover;object-position:top;}

/* ---------- header / nav ---------- */
.site-header{background:var(--paper);position:sticky;top:0;z-index:99;box-shadow:0 2px 10px rgba(46,28,14,.08);}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;max-width:var(--maxw);margin:0 auto;}
.brand{display:flex;align-items:center;gap:14px;}
.brand img{width:56px;height:56px;border-radius:10px;box-shadow:var(--shadow-sm);}
.brand .b-name{font-family:var(--kai);font-size:26px;color:var(--brown-800);line-height:1.1;}
.brand .b-sub{font-size:12px;color:var(--muted);letter-spacing:2px;}
.nav-wrap{display:flex;align-items:center;}
.main-nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0;}
.main-nav a{display:block;padding:10px 16px;font-family:var(--serif);font-size:16px;color:var(--brown-700);border-radius:4px;position:relative;}
.main-nav a:hover,.main-nav li.current-menu-item>a{color:#fff;background:var(--brown-500);}
.main-nav li.current-menu-item>a::after{content:"";position:absolute;left:50%;bottom:4px;transform:translateX(-50%);width:18px;height:2px;background:var(--gold);}
.nav-toggle{display:none;background:none;border:1px solid var(--brown-500);border-radius:4px;padding:8px 10px;cursor:pointer;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--brown-700);margin:4px 0;}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--brown-700);color:#f7f1e6;overflow:hidden;}
.hero .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28;}
.hero .container{position:relative;z-index:2;padding:90px 20px 70px;text-align:center;}
.hero .seal{display:inline-block;font-family:var(--kai);font-size:14px;color:var(--gold);border:1px solid var(--gold);border-radius:4px;padding:4px 14px;letter-spacing:3px;margin-bottom:22px;}
.hero h1{color:#fff;font-size:clamp(30px,5vw,52px);margin-bottom:18px;letter-spacing:2px;}
.hero p{font-size:18px;color:#e9dcc6;max-width:720px;margin:0 auto 30px;}
.hero .hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
/* 自定义大广告背景图时，铺满并加暗色遮罩保证文字可读 */
.hero.has-hero-img .hero-bg{opacity:1;}
.hero.has-hero-img::before{content:"";position:absolute;inset:0;background:rgba(46,28,14,.5);z-index:1;}

/* ---------- section ---------- */
.section{padding:70px 0;background:var(--paper);}
.section.alt{background:var(--cream);}
.section-head{text-align:center;max-width:760px;margin:0 auto 46px;}
.section-head .eyebrow{font-family:var(--kai);color:var(--gold);letter-spacing:4px;font-size:15px;display:block;margin-bottom:8px;}
.section-head h2{font-size:clamp(26px,3.4vw,36px);position:relative;display:inline-block;padding-bottom:14px;}
.section-head h2::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:60px;height:3px;background:var(--gold);border-radius:2px;}
.section-head p{color:var(--muted);margin-top:14px;}

/* ---------- feature cards ---------- */
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.feat-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:30px 24px;text-align:center;box-shadow:var(--shadow-sm);transition:.25s;position:relative;overflow:hidden;}
.feat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gold);transform:scaleX(0);transition:.25s;transform-origin:left;}
.feat-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.feat-card:hover::before{transform:scaleX(1);}
.feat-card .ic{width:64px;height:64px;margin:0 auto 18px;}
.feat-card h3{font-size:20px;margin-bottom:10px;}
.feat-card p{color:var(--muted);font-size:14px;margin:0;}

/* ---------- product / case grid ---------- */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.post-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm);transition:.25s;display:flex;flex-direction:column;}
.post-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.post-card .thumb{aspect-ratio:4/3;background:var(--brown-700);position:relative;overflow:hidden;}
.post-card .thumb svg{position:absolute;inset:0;width:100%;height:100%;}
.post-card .body{padding:22px 22px 26px;flex:1;display:flex;flex-direction:column;}
.post-card .cat{font-size:12px;color:var(--gold);letter-spacing:1px;margin-bottom:8px;}
.post-card h3{font-size:20px;margin-bottom:10px;}
.post-card h3 a{color:var(--brown-800);}
.post-card p{color:var(--muted);font-size:14px;margin:0 0 16px;flex:1;}
.post-card .more{font-family:var(--serif);color:var(--brown-600);font-weight:700;font-size:14px;}
.post-card .more::after{content:" ›";}

/* ---------- about split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.split .media{background:var(--brown-800);border-radius:12px;padding:30px;box-shadow:var(--shadow);}
.split .media img{width:100%;border-radius:8px;}
.split ul.check{list-style:none;padding:0;margin:18px 0 0;}
.split ul.check li{padding-left:30px;position:relative;margin-bottom:12px;}
.split ul.check li::before{content:"❖";position:absolute;left:0;color:var(--gold);}

/* ---------- timeline (历程) ---------- */
.timeline{position:relative;max-width:880px;margin:0 auto;padding-left:30px;}
.timeline::before{content:"";position:absolute;left:8px;top:0;bottom:0;width:3px;background:var(--brown-400);}
.tl-item{position:relative;margin-bottom:36px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:22px 26px;box-shadow:var(--shadow-sm);}
.tl-item::before{content:"";position:absolute;left:-30px;top:26px;width:16px;height:16px;border-radius:50%;background:var(--gold);border:3px solid var(--paper);box-shadow:0 0 0 3px var(--brown-400);}
.tl-item .year{font-family:var(--kai);font-size:24px;color:var(--brown-600);margin-bottom:6px;}
.tl-item h3{margin:0 0 8px;font-size:20px;}
.tl-item p{color:var(--muted);margin:0;}

/* ---------- honors grid ---------- */
.honor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.honor-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:30px 22px;text-align:center;box-shadow:var(--shadow-sm);transition:.25s;}
.honor-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.honor-card .medal{width:70px;height:70px;margin:0 auto 16px;}
.honor-card h3{font-size:17px;margin-bottom:6px;}
.honor-card span{font-size:12px;color:var(--muted);}

/* ---------- FAQ accordion ---------- */
.faq-list{max-width:860px;margin:0 auto;}
.faq-item{border:1px solid var(--line);border-radius:8px;background:var(--paper);margin-bottom:14px;overflow:hidden;}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:20px 24px;font-family:var(--serif);font-size:17px;font-weight:700;color:var(--brown-800);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;}
.faq-q .plus{color:var(--gold);font-size:22px;transition:.2s;flex-shrink:0;}
.faq-item.open .faq-q .plus{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-a .inner{padding:0 24px 22px;color:var(--muted);}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
.contact-info .ci{display:flex;gap:14px;margin-bottom:20px;}
.contact-info .ci .ic{width:42px;height:42px;flex-shrink:0;background:var(--brown-500);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:20px;}
.contact-info .ci h4{margin:0 0 2px;font-size:16px;}
.contact-info .ci p{margin:0;color:var(--muted);font-size:14px;}
.map-box{background:var(--brown-800);border-radius:12px;min-height:300px;display:flex;align-items:center;justify-content:center;color:var(--tan);text-align:center;padding:20px;overflow:hidden;}
.map-box>img,.map-box>iframe{width:100%;height:100%;min-height:300px;border:0;display:block;border-radius:12px;}
.map-box>div{width:100%;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:14px;color:var(--brown-700);margin-bottom:6px;font-family:var(--serif);}
.field input,.field textarea,.field select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:6px;font-family:var(--sans);font-size:15px;background:var(--paper);color:var(--ink);transition:.2s;}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--brown-400);box-shadow:0 0 0 3px rgba(207,155,84,.25);}
.field textarea{resize:vertical;min-height:120px;}

/* ---------- breadcrumb ---------- */
.breadcrumb{background:var(--cream);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);}
.breadcrumb .container{padding:14px 20px;}
.breadcrumb a{color:var(--brown-500);}

/* ---------- page hero (inner) ---------- */
.page-hero{background:var(--brown-700);color:#fff;text-align:center;padding:64px 20px;}
.page-hero h1{color:#fff;font-size:clamp(26px,4vw,40px);margin:0;letter-spacing:2px;}
.page-hero .sub{color:var(--tan);font-family:var(--kai);letter-spacing:3px;margin-top:10px;}

/* ---------- single post ---------- */
.single-wrap{max-width:860px;margin:0 auto;}
.single-wrap .thumb{aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:var(--brown-700);margin-bottom:28px;}
.single-wrap .meta{color:var(--muted);font-size:14px;margin-bottom:18px;}
.single-wrap .content{font-size:17px;line-height:1.9;}
.single-wrap .content img{border-radius:8px;margin:18px 0;}

/* ---------- widgets / sidebar ---------- */
.widget{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:22px;margin-bottom:22px;}
.widget h3{font-size:18px;margin:0 0 16px;padding-bottom:10px;border-bottom:2px solid var(--line);}
.widget ul{list-style:none;padding:0;margin:0;}
.widget ul li{padding:8px 0;border-bottom:1px dashed var(--line);}
.widget ul li:last-child{border-bottom:none;}

/* ---------- footer ---------- */
.site-footer{background:var(--brown-900);color:#cdbb9c;padding:56px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:36px;}
.footer-grid h4{color:#fff;font-family:var(--kai);font-size:18px;margin:0 0 18px;letter-spacing:2px;}
.footer-grid a{color:#cdbb9c;}
.footer-grid a:hover{color:var(--gold);}
.footer-grid ul{list-style:none;padding:0;margin:0;}
.footer-grid ul li{padding:6px 0;}
.footer-brand img{width:54px;height:54px;border-radius:10px;margin-bottom:14px;}
.footer-brand p{font-size:14px;color:#a8946f;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:40px;padding:22px 0;text-align:center;font-size:13px;color:#9c8a6b;}
.footer-bottom a{color:var(--gold);}
.footer-bottom .beian{display:inline-flex;align-items:center;gap:6px;margin:0 10px;}
.footer-bottom .beian svg{width:16px;height:16px;vertical-align:middle;}

/* ---------- pagination ---------- */
.pagination{text-align:center;margin-top:40px;}
.pagination a,.pagination span{padding:10px 16px;margin:0 4px;border:1px solid var(--line);border-radius:6px;display:inline-block;color:var(--brown-700);}
.pagination .current{background:var(--brown-500);color:#fff;border-color:var(--brown-500);}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .feat-grid,.honor-grid{grid-template-columns:repeat(2,1fr);}
  .card-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .split,.contact-grid{grid-template-columns:1fr;}
}
@media(max-width:720px){
  .nav-toggle{display:block;}
  .nav-wrap{position:absolute;top:100%;left:0;right:0;background:var(--paper);box-shadow:var(--shadow);display:none;}
  .nav-wrap.open{display:block;}
  .main-nav ul{flex-direction:column;gap:0;padding:10px;}
  .main-nav a{padding:12px 16px;}
  .card-grid,.feat-grid,.honor-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .hero .container{padding:60px 20px 50px;}
}
