/* ============================================================
   ALL CUSTOM - Inner pages UI (homepage/header/footer untouched)
   Loaded via wp_enqueue_style on NON-home pages only.
   ============================================================ */

/* -------- Base tokens -------- */
:root{
  --ac-bg: #ffffff;
  --ac-text: #1a1a1a;
  --ac-muted: rgba(26,26,26,.68);
  --ac-line: rgba(0,0,0,.10);
  --ac-shadow: 0 14px 34px rgba(0,0,0,.08);
  --ac-radius: 18px;
  --ac-gap: 16px;
  --ac-mask: rgba(0,0,0,.52); /* 与二级页黑色图层同色系 */
}

/* -------- Scope: non-home pages only (hard guard) -------- */
body.page-home .ac-hero,
body.page-home .ac-section,
body.page-home .ac-waterfall,
body.page-home .ac-lightbox{ display: none !important; } /* home never uses these */

/* -------- Layout wrappers -------- */
body:not(.page-home) .main-content-container .wrap{
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(18px, 4vw, 46px);
  padding-top: clamp(26px, 4vw, 46px);
  padding-bottom: clamp(60px, 6vw, 96px);
}



/* Cooperation page width fix (match frontend zip) */
body.page-cooperation .main-content-container .wrap{
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* -------- Frontend-zip pages should be full-width (match /static/css/style.css layout) -------- */
body.page-about .main-content-container .wrap,
/* projects/cooperation page uses page-projects.php; body class is usually page-template-page-projects(-php), not page-projects */
body.page-projects .main-content-container .wrap,
body.page-template-page-projects .main-content-container .wrap,
body.page-template-page-projects-php .main-content-container .wrap,
body.page-products .main-content-container .wrap,
body.page-cases .main-content-container .wrap,
body.page-news .main-content-container .wrap,
body.page-contact .main-content-container .wrap,
body.page-store .main-content-container .wrap{
  max-width: none;
  padding: 0;
}

/* -------- Inner hero (left preview + right title) -------- */
.ac-hero{
  display: grid;
  grid-template-columns: minmax(280px, 520px) 1fr;
  gap: clamp(18px, 3vw, 34px);
  align-items: center;
}

/* Single case: featured image (when template doesn't render the 2-col hero) */
.ac-case-feature{
  margin-top: 18px;
  border-radius: var(--ac-radius);
  overflow: hidden;
  box-shadow: var(--ac-shadow);
}
.ac-case-feature img{
  width: 100%;
  display: block;
  max-height: 560px;
  object-fit: cover;
}
.ac-hero-left{
  border-radius: var(--ac-radius);
  overflow: hidden;
  box-shadow: var(--ac-shadow);
}
.ac-hero-left img{ width:100%; height:100%; display:block; object-fit:cover; aspect-ratio: 4/3; }
.ac-hero-right h1{
  font-size: clamp(26px, 3vw, 40px);
  margin: 0 0 10px 0;
  letter-spacing: .3px;
}
.ac-hero-titlelink{ color: inherit; text-decoration: none; }
.ac-hero-desc{
  color: var(--ac-muted);
  line-height: 1.85;
  max-width: 920px;
}
.ac-hero-links{ display:flex; flex-wrap:wrap; gap: 12px; margin-top: 16px; }
.ac-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  color: var(--ac-text);
  text-decoration:none;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.ac-btn:hover{ transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0,0,0,.10); border-color: rgba(0,0,0,.18); }
.ac-btn-ghost{ background: transparent; }

/* -------- Section system (non-card editorial layout) -------- */
.ac-section{ margin-top: clamp(26px, 4vw, 54px); }
.ac-section-hd{ margin-bottom: 14px; position: relative; z-index: 2; }
.ac-h2{ font-size: clamp(18px, 2vw, 26px); margin:0; }
.ac-subtitle{
  margin: 8px 0 0;
  color: var(--ac-muted);
  line-height: 1.75;
  max-width: 980px;
  /* Prevent any inherited strike-through + mask any decorative lines behind text */
  text-decoration: none !important;
  text-decoration-line: none !important;
  display: inline-block;
  background: #fff;
  padding: 0 10px;
  position: relative;
  z-index: 3;
}
.ac-section-bd{ border-top: 1px solid var(--ac-line); padding-top: 16px; }

/* News detail: prev/next navigation */
.ac-post-nav{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;padding:8px 0}
.ac-post-nav-item{flex:1;min-width:0}
.ac-post-nav-item .label{font-size:13px;opacity:.6;margin-bottom:6px}
.ac-post-nav-item a{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width: 900px){
  .ac-post-nav{flex-direction:column;gap:12px}
  .ac-post-nav-item{width:100%;text-align:left !important}
}

/* Feature rows */
.ac-feature-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(16px, 3vw, 32px);
  align-items:start;
}
.ac-feature-box{
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius);
  padding: 18px;
  background: #fff;
}
.ac-feature-box h3{ margin:0 0 8px; font-size: 16px; }
.ac-feature-box p{ margin:0; color: var(--ac-muted); line-height:1.8; }
.ac-bullets{ margin: 10px 0 0; padding-left: 18px; color: var(--ac-muted); line-height:1.85; }
.ac-bullets li{ margin: 4px 0; }

/* Stats */
.ac-stats{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: var(--ac-gap);
}
.ac-stat{
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius);
  padding: 16px;
  background: #fff;
}
.ac-stat b{ display:block; font-size: 24px; letter-spacing:.3px; }
.ac-stat span{ display:block; margin-top: 6px; color: var(--ac-muted); }

/* Timeline */
.ac-timeline{ display:grid; gap: 12px; }
.ac-tl-item{
  display:grid;
  grid-template-columns: 120px 1fr;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius);
}
.ac-tl-item .k{ color: var(--ac-muted); font-weight: 600; }
.ac-tl-item .v{ color: var(--ac-text); line-height: 1.85; }

/* FAQ accordion */
.ac-faq{ border: 1px solid var(--ac-line); border-radius: var(--ac-radius); overflow:hidden; background:#fff; }
.ac-faq details{ border-top: 1px solid var(--ac-line); }
.ac-faq details:first-child{ border-top: none; }
.ac-faq summary{
  cursor:pointer;
  padding: 14px 16px;
  font-weight: 600;
  list-style: none;
}
.ac-faq summary::-webkit-details-marker{ display:none; }
.ac-faq .ac-faq-a{ padding: 0 16px 14px; color: var(--ac-muted); line-height:1.85; }

/* -------- Zoom interactions (一级/二级大图 hover 放大；小竖图除外通过 .ac-nozoom) -------- */
.ac-zoom{ overflow:hidden; border-radius: var(--ac-radius); }
.ac-zoom img{ transition: transform .35s ease; transform: scale(1); }
.ac-zoom:hover img{ transform: scale(1.03); }
.ac-nozoom:hover img{ transform: scale(1); }

/* -------- Filters (products/cases archive) -------- */
.ac-filters{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  margin-top: 22px;
}
.ac-filter{
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--ac-line);
  color: var(--ac-text);
  text-decoration:none;
  background:#fff;
}
.ac-filter.is-active{
  border-color: rgba(0,0,0,.22);
  box-shadow: 0 10px 22px rgba(0,0,0,.08);
}

/* -------- Waterfall (products/cases) -------- */
.ac-waterfall{
  column-count: 3;
  column-gap: var(--ac-gap);
  margin-top: 18px;
}
@media (max-width: 1100px){ .ac-waterfall{ column-count: 2; } }
@media (max-width: 680px){ .ac-hero{ grid-template-columns: 1fr; } .ac-waterfall{ column-count: 1; } }

.ac-card{
  break-inside: avoid;
  margin: 0 0 var(--ac-gap);
  border-radius: var(--ac-radius);
  overflow:hidden;
  background:#fff;
  box-shadow: var(--ac-shadow);
  border: 1px solid rgba(0,0,0,.06);
}
.ac-card a{ text-decoration:none; color: inherit; }
.ac-img{ position:relative; overflow:hidden; }
.ac-img img{ width:100%; display:block; transition: transform .35s ease; }
.ac-mask{
  position:absolute; inset:0;
  background: var(--ac-mask);
  transition: opacity .28s ease;
  pointer-events:none;
}
.ac-card:hover .ac-img img{ transform: scale(1.03); }
.ac-card:hover .ac-mask{ opacity: 0; } /* hover 去遮罩 */

.ac-meta{ padding: 14px 14px 16px; }
.ac-title{ margin:0; font-weight:700; font-size: 15px; line-height: 1.35; }
.ac-sub{ margin-top: 8px; color: var(--ac-muted); line-height:1.8; }
.ac-actions{ margin-top: 12px; display:flex; gap: 10px; flex-wrap:wrap; }

/* -------- Lightbox preview -------- */
.ac-lightbox{
  position: fixed;
  inset: 0;
  display:none;
  z-index: 9999;
}
.ac-lightbox.is-open{ display:block; }
/* Backward/forward compatible selectors:
   - older markup used .ac-lb-*
   - current JS (static/js/allcustom.js) creates .ac-lightbox-*
*/
.ac-lightbox .ac-lb-bg,
.ac-lightbox .ac-lightbox-bg{
  position:absolute; inset:0;
  background-size: cover;
  background-position:center;
  filter: blur(18px);
  transform: scale(1.1);
}
.ac-lightbox .ac-lb-mask,
.ac-lightbox .ac-lightbox-mask{
  position:absolute; inset:0;
  background: var(--ac-mask);
}
.ac-lightbox .ac-lb-body,
.ac-lightbox .ac-lightbox-panel{
  position:relative;
  height:100%;
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content:center;
  padding: clamp(12px, 3vw, 36px);
  gap: 10px;
}
.ac-lightbox img,
.ac-lightbox .ac-lightbox-img{
  max-width: min(1100px, 92vw);
  max-height: 86vh;
  border-radius: var(--ac-radius);
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
}
.ac-lb-close,
.ac-lightbox .ac-lightbox-close{
  position:absolute;
  top: 18px;
  right: 18px;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(0,0,0,.20);
  color:#fff;
  font-size: 20px;
  cursor:pointer;
}

.ac-lightbox .ac-lightbox-title{
  color: rgba(255,255,255,.92);
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
  max-width: min(1100px, 92vw);
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
}

body.ac-noscroll{ overflow: hidden; }

/* -------- Utility -------- */
.ac-cta-bar{
  display:flex;
  justify-content: space-between;
  align-items:center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: var(--ac-radius);
  border: 1px solid var(--ac-line);
  background: #fff;
}
.ac-cta-bar p{ margin:0; color: var(--ac-muted); line-height:1.8; }


/* -------- News list (avoid image cards) -------- */
body.archive-news .ac-waterfall{ column-count: 1; }
.ac-newsrow{
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius);
  background:#fff;
  padding: 16px 18px;
  box-shadow: 0 12px 28px rgba(0,0,0,.06);
}
.ac-newsrow + .ac-newsrow{ margin-top: var(--ac-gap); }
.ac-newsrow-meta{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.ac-newsrow-date{ color: var(--ac-muted); font-weight:600; font-size: 13px; }
.ac-newsrow-tag{
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--ac-line);
  color: var(--ac-text);
}
.ac-newsrow-title{ margin: 10px 0 8px; font-size: 18px; line-height: 1.45; }
.ac-newsrow-title a{ color: inherit; text-decoration:none; }
.ac-newsrow-title a:hover{ text-decoration: underline; }
.ac-newsrow-excerpt{ margin:0; color: var(--ac-muted); line-height:1.85; }
.ac-newsrow-actions{ margin-top: 12px; display:flex; gap:10px; flex-wrap:wrap; }

/* =========================================================
   Footer contact form (MUST match original theme look)
   We only scope to footer so it won't affect lead form.
   ========================================================= */
footer .footer-contact-form .wpcf7{ width: 100%; }
footer .footer-contact-form form{ margin: 0; }
footer .footer-contact-form p{ margin: 0 0 5px; }

footer .footer-contact-form input[type="text"],
footer .footer-contact-form input[type="tel"],
footer .footer-contact-form input[type="email"],
footer .footer-contact-form textarea,
footer .footer-contact-form select{
  width: 100%;
  border: 0;
  outline: none;
  background: #fff;
  color: #474444;
  font-size: 12px;
  padding: 0 10px;
  line-height: normal;
  box-shadow: none;
  border-radius: 0;
}
footer .footer-contact-form input[type="text"],
footer .footer-contact-form input[type="tel"],
footer .footer-contact-form input[type="email"],
footer .footer-contact-form select{
  height: 36px;
}
footer .footer-contact-form textarea{
  padding: 10px;
  min-height: 220px;
  resize: none;
}
footer .footer-contact-form ::placeholder{ color: #b2b1af; opacity: 1; }

footer .footer-contact-form input[type="submit"],
footer .footer-contact-form button[type="submit"],
footer .footer-contact-form .wpcf7-submit{
  width: 100%;
  height: 36px;
  border: 0;
  outline: none;
  background-color: #b2b1af;
  color: #fff;
  font-size: 14px;
  text-align: center;
  cursor: pointer;
  border-radius: 0;
}
footer .footer-contact-form input[type="submit"]:hover,
footer .footer-contact-form button[type="submit"]:hover,
footer .footer-contact-form .wpcf7-submit:hover{ opacity: .92; }

footer .footer-contact-form .wpcf7-not-valid-tip{ font-size: 12px; margin-top: 4px; }
footer .footer-contact-form .wpcf7-response-output{
  margin: 8px 0 0;
  font-size: 12px;
  border: 0;
  padding: 0;
  color: #474444;
}

/* =========================================================
   Lead form (optional optimization)
   ========================================================= */
body.page-lead .ac-form{ max-width: 720px; }
body.page-lead .ac-form .wpcf7 form{ margin-top: 18px; }
body.page-lead .ac-form p{ margin: 0 0 12px; }
body.page-lead .ac-form label{ display:block; font-size: 13px; margin-bottom: 6px; color: var(--ac-muted); }

body.page-lead .ac-form input[type="text"],
body.page-lead .ac-form input[type="tel"],
body.page-lead .ac-form input[type="email"],
body.page-lead .ac-form textarea,
body.page-lead .ac-form select{
  width: 100%;
  border: 1px solid var(--ac-line);
  background: #fff;
  color: var(--ac-text);
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 14px;
  outline: none;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}
body.page-lead .ac-form textarea{ min-height: 220px; resize: vertical; }
body.page-lead .ac-form input:focus,
body.page-lead .ac-form textarea:focus,
body.page-lead .ac-form select:focus{
  border-color: rgba(35,24,21,.55);
}

body.page-lead .ac-form input[type="submit"],
body.page-lead .ac-form button[type="submit"],
body.page-lead .ac-form .wpcf7-submit{
  width: auto;
  min-width: 180px;
  height: 44px;
  border: 0;
  border-radius: 12px;
  background: #231815;
  color: #fff;
  font-size: 15px;
  cursor: pointer;
  box-shadow: 0 14px 28px rgba(0,0,0,.18);
}
body.page-lead .ac-form input[type="submit"]:hover,
body.page-lead .ac-form button[type="submit"]:hover,
body.page-lead .ac-form .wpcf7-submit:hover{ opacity: .92; transform: translateY(-1px); }

body.page-lead .wpcf7-not-valid-tip{ font-size: 12px; margin-top: 6px; }
body.page-lead .wpcf7-response-output{ border: 0; padding: 0; margin: 12px 0 0; }

/* ===== Footer: 在线留言 表单高度统一（只影响页脚） ===== */
footer .footer-contact-form form{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

footer .footer-contact-form textarea{
  height: 240px !important;
  min-height: 240px !important;
  max-height: 240px !important;
  resize: none;
  box-sizing: border-box;
  overflow: auto;
}

footer .footer-contact-form input[type="submit"],
footer .footer-contact-form button,
footer .footer-contact-form .wpcf7-submit{
  height: 44px !important;
  line-height: 44px !important;
  box-sizing: border-box;
  width: 100%;
}

footer .footer-contact-form p{
  margin: 0 !important;
  padding: 0 !important;
}


/* ===== News center list row (fix oversized cards) ===== */
.ac-waterfall[data-post-type="post"]{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.ac-waterfall[data-post-type="post"] .ac-waterfall-item{
  width:100%;
}
.ac-news-row{
  display:flex;
  gap:16px;
  padding:14px;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  text-decoration:none;
  color:inherit;
}
.ac-news-thumb{
  flex:0 0 220px;
  height:140px;
  border-radius:14px;
  overflow:hidden;
}
.ac-news-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.ac-news-body{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.ac-news-tag{
  display:inline-block;
  width:fit-content;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  background:#f2f2f2;
  color:#333;
}
.ac-news-title{
  font-size:18px;
  font-weight:700;
  line-height:1.25;
  color:#111;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ac-news-excerpt{
  font-size:14px;
  line-height:1.6;
  color:#555;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.ac-news-meta{
  margin-top:auto;
  display:flex;
  gap:12px;
  align-items:center;
  font-size:12px;
  color:#777;
}
.ac-news-more{
  margin-left:auto;
  font-weight:600;
}
@media (max-width: 768px){
  .ac-news-row{ flex-direction:column; }
  .ac-news-thumb{ flex:0 0 auto; width:100%; height:180px; }
  .ac-news-title{ white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
}


/* ===== Product gallery (Woo-like) ===== */
body.single-products .ac-product-top{
  display:flex;
  gap:24px;
  align-items:flex-start;
}
body.single-products .ac-product-left{ flex:0 0 52%; min-width:320px; }
body.single-products .ac-product-right{ flex:1; min-width:280px; }
body.single-products .ac-product-right .ac-product-title{ margin-top:8px; }
body.single-products .ac-product-right .ac-product-head-actions{ margin-top:14px; display:flex; gap:12px; flex-wrap:wrap; }
body.single-products .ac-product-right .ac-product-intro{ margin-top:10px; font-size:14px; line-height:1.8; color:#555; }
body.single-products .ac-product-right .ac-product-points{ margin-top:14px; }

body.single-products .ac-product-gallery{
  margin-top:0;
  background:#fff;
  border-radius:22px;
  padding:18px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
}
body.single-products .ac-product-gallery-main{
  border-radius:18px;
  overflow:hidden;
}
body.single-products .ac-product-gallery-main img{
  width:100%;
  height:auto;
  display:block;
}
body.single-products .ac-product-gallery-thumbs{
  margin-top:12px;
  display:flex;
  gap:10px;
  overflow:auto;
  padding-bottom:4px;
}
body.single-products .ac-product-gallery-thumbs .ac-thumb{
  border:0;
  padding:0;
  background:transparent;
  border-radius:12px;
  overflow:hidden;
  width:92px;
  height:68px;
  flex:0 0 auto;
  opacity:.75;
  cursor:pointer;
}
body.single-products .ac-product-gallery-thumbs .ac-thumb.is-active{
  opacity:1;
  outline:2px solid rgba(0,0,0,.18);
}
body.single-products .ac-product-gallery-thumbs img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

@media (max-width: 900px){
  body.single-products .ac-product-top{ flex-direction:column; }
  body.single-products .ac-product-left,
  body.single-products .ac-product-right{ flex:1 1 auto; min-width:0; }
}
.ac-bullets{
  margin:12px 0 0;
  padding-left:18px;
  line-height:1.9;
}
.ac-bullets li{ margin:4px 0; }


/* ===== Contact page ===== */
.ac-contact-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  align-items:start; /* 防止卡片被拉伸到同高 */
  grid-template-areas:
    "info map"
    "faq  map";
}
.ac-contact-info{ grid-area: info; }
.ac-contact-map{ grid-area: map; }
.ac-contact-faq{ grid-area: faq; }
.ac-contact-card{
  background:#fff;
  border-radius:22px;
  padding:18px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
}
.ac-contact-card h3{
  margin:0 0 10px;
  font-size:18px;
}
.ac-contact-list{
  margin:0;
  padding-left:18px;
  line-height:2;
}
.ac-map-embed{
  border-radius:18px;
  overflow:hidden;
  background:#f6f6f6;
}
.ac-map-embed iframe{
  width:100%;
  height:320px;
  border:0;
  display:block;
}
@media (max-width: 900px){
  .ac-contact-grid{
    grid-template-columns: 1fr;
    grid-template-areas:
      "info"
      "map"
      "faq";
  }
  .ac-map-embed iframe{ height:300px; }
}

/* ===== News Center list rows ===== */
.archive-news .ac-waterfall{ display:block; }
.ac-card--flat{
  background:transparent;
  box-shadow:none;
  padding:0;
}
.ac-card--flat .ac-news-row{ margin:0; }
.ac-news-row{
  display:grid;
  grid-template-columns: 220px 1fr;
  gap:16px;
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  margin:14px 0;
  transition: transform .18s ease, box-shadow .18s ease;
}
.ac-news-row:hover{ transform: translateY(-2px); box-shadow:0 14px 40px rgba(0,0,0,.08); }
.ac-news-row-thumb{ display:block; position:relative; }
.ac-news-row-thumb img{ width:100%; height:160px; object-fit:cover; display:block; }
.ac-news-row-bd{ padding:16px 18px; }
.ac-news-row-meta{ font-size:12px; opacity:.7; margin-bottom:6px; }
.ac-news-row-title{ margin:0 0 8px; font-size:18px; line-height:1.4; }
.ac-news-row-title a{ color:inherit; text-decoration:none; }
.ac-news-row-excerpt{ margin:0 0 10px; opacity:.85; line-height:1.7; }
.ac-news-row-actions{ display:flex; gap:14px; }
.main-content-container .ac-link{ color:inherit; text-decoration:none; border-bottom:1px solid rgba(0,0,0,.15); padding-bottom:2px; }
@media(max-width:900px){
  .ac-news-row{ grid-template-columns: 1fr; }
  .ac-news-row-thumb img{ height:200px; }
}

/* ===== FAQ (Contact page) ===== */
.ac-faq{ background:transparent; border:0; padding:0; }
.ac-faq details{
  background:#fff;
  border-radius:18px;
  padding:12px 14px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  margin:10px 0;
  border:1px solid rgba(0,0,0,.06);
}
.ac-faq summary{
  cursor:pointer;
  font-weight:600;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.ac-faq summary::-webkit-details-marker{ display:none; }
.ac-faq summary:after{
  content:'+';
  width:28px;
  height:28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:1px solid rgba(0,0,0,.12);
  opacity:.7;
  flex:0 0 auto;
}
.ac-faq details[open] summary:after{ content:'–'; }
.ac-faq-bd{ margin-top:8px; opacity:.85; line-height:1.8; }

/* ===== Detail pages (no banner) ===== */
.single-post .ac-article-head,
.single-products .ac-product-head,
.single-cases .ac-case-head{ margin-top:18px; }
.ac-breadcrumbs{ font-size:12px; opacity:.75; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.ac-breadcrumbs .sep{ opacity:.6; }
.ac-breadcrumbs a{ color:inherit; text-decoration:none; }

/* spacing: breadcrumb vs hero image (single case) */
.single-cases .ac-breadcrumbs{ margin-bottom: 14px; }


.single-post .ac-article-title{ font-size:30px; margin:10px 0 6px; }
.single-post .ac-article-meta{ font-size:12px; opacity:.75; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.single-post .ac-article-meta .dot{ opacity:.6; }
.single-post .ac-article-actions{ margin-top:10px; display:flex; gap:16px; }

.ac-grid-2{ display:grid; grid-template-columns: 1fr 1fr; gap:16px; }
@media(max-width:900px){ .ac-grid-2{ grid-template-columns:1fr; } }

.ac-kv{ background:#fff; border-radius:18px; padding:14px 16px; box-shadow:0 10px 30px rgba(0,0,0,.06); }
.ac-kv-item{ display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid rgba(0,0,0,.06); }
.ac-kv-item:last-child{ border-bottom:0; }
.ac-kv-item span{ opacity:.7; }
.ac-kv-item b{ font-weight:600; }

.ac-product-head-row, .ac-case-head-row{ display:flex; justify-content:space-between; gap:18px; align-items:flex-start; flex-wrap:wrap; }
.ac-product-title, .ac-case-title{ margin:10px 0 6px; font-size:30px; }
.ac-product-meta, .ac-case-meta{ font-size:12px; opacity:.75; display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.ac-product-meta .dot, .ac-case-meta .dot{ opacity:.6; }
.ac-product-head-actions, .ac-case-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.ac-product-intro, .ac-case-summary{ margin-top:10px; opacity:.9; line-height:1.8; }

.ac-p{ margin:0; opacity:.88; line-height:1.85; }
.ac-spec-table{ background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 10px 30px rgba(0,0,0,.06); }
.ac-spec-table .row{ display:grid; grid-template-columns: 120px 1fr; gap:12px; padding:12px 14px; border-bottom:1px solid rgba(0,0,0,.06); }
.ac-spec-table .row:last-child{ border-bottom:0; }
.ac-spec-table .k{ opacity:.7; }

/* Contact page additions */
.ac-steps{ margin:0; padding-left:18px; line-height:1.9; }
.ac-faq details{ background:#fff; border-radius:16px; padding:12px 14px; box-shadow:0 10px 30px rgba(0,0,0,.06); margin:10px 0; }
.ac-faq summary{ cursor:pointer; font-weight:600; }
.ac-faq-bd{ margin-top:8px; opacity:.85; line-height:1.8; }


/* home: make banner images clickable */
.ac-imglink{display:block;}
.ac-imglink img{display:block;cursor:pointer;}
