/* Product and news detail pages. Shared list-page styles stay scoped elsewhere. */
.detail-breadcrumb{background:#f3f6f5;color:#647068;font-size:14px}
.detail-breadcrumb>.container{min-height:44px;display:flex;align-items:center;gap:16px}
.detail-breadcrumb a:hover{color:var(--green)}
.detail-breadcrumb span[aria-hidden]{font-size:20px;color:#81918a}
.detail-breadcrumb [aria-current]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Product detail */
.detail-brand-hero{height:300px;display:flex;align-items:center;background:#eef1ef center/cover no-repeat;background-image:var(--detail-hero-image,url('../images/product-detail-hero.jpg'));color:#0a5233}
.detail-brand-hero-inner{padding-block:28px}
.detail-brand-kicker{display:flex;align-items:center;gap:20px;color:#192a30;font-size:15px;font-weight:700;margin:0 0 9px;line-height:1.4}
.detail-brand-kicker span{border-left:5px solid var(--green);padding-left:14px}
.detail-brand-kicker em{font-style:normal;font-weight:500}
.detail-brand-hero h1{font-size:clamp(36px,4.3vw,58px);line-height:1.22;letter-spacing:.01em;margin:0 0 8px;color:#075337;font-weight:800;max-width:750px}
.detail-brand-label{font-size:17px;color:#34474c;margin:0 0 2px}
.detail-brand-description{font-size:21px;line-height:1.45;letter-spacing:.1em;color:#4b555d;margin:0}
.product-detail-content.container{width:min(calc(100% - 64px),1400px);padding-top:42px;padding-bottom:32px}
.product-detail-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,4vw,68px);align-items:start}
.product-detail-overview.is-single-image{max-width:1080px;margin-inline:auto;grid-template-columns:minmax(0,.82fr) minmax(0,1fr)}
.product-detail-media{min-width:0}
.product-detail-main-image{position:relative;aspect-ratio:1;background:#f6f8f6;overflow:hidden;box-sizing:border-box}
.product-detail-overview.is-single-image .product-detail-main-image{max-width:440px;margin-inline:auto}
.product-detail-main-image img{position:absolute;inset:16px;width:calc(100% - 32px);height:calc(100% - 32px);object-fit:contain;display:block}
.product-detail-summary{padding-top:2px;min-width:0}
.product-detail-summary h2{font-size:clamp(29px,3vw,42px);color:#095235;line-height:1.3;font-weight:800;margin:0 0 2px}
.product-detail-english{font-size:21px;color:#7d818c;margin:0 0 23px;line-height:1.4}
.product-detail-category{border-top:1px solid #d8e0db;padding-top:20px;display:flex;align-items:center;gap:15px;color:#0b5838;font-size:19px;font-weight:700}
.product-detail-category img{width:27px;height:27px;object-fit:contain;filter:invert(20%) sepia(43%) saturate(825%) hue-rotate(95deg)}
.product-detail-lede{font-size:18px;color:#47545b;line-height:1.7;margin:22px 0 0}
.product-detail-inquire{display:inline-flex;align-items:center;justify-content:center;gap:23px;min-width:183px;min-height:51px;padding:9px 24px;background:var(--green);color:#fff;font-size:17px;font-weight:700;margin-top:48px;border-radius:2px;transition:background .2s,transform .2s}
.product-detail-inquire:hover{background:var(--green-deep);transform:translateY(-2px)}
.product-detail-inquire span{font-size:23px;line-height:1;font-weight:400}
.product-detail-gallery{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:14px;margin-top:18px}
.product-detail-gallery.is-single{display:none}
.product-gallery-arrow{border:0;border-radius:50%;width:36px;height:36px;background:#f1f5f3;color:#21333f;font-size:33px;font-weight:300;line-height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0 0 5px;transition:background .2s,color .2s}
.product-gallery-arrow:hover{background:var(--green);color:#fff}
.product-detail-gallery.is-single .product-gallery-arrow{visibility:hidden}
.product-gallery-thumbs{display:flex;gap:12px;min-width:0;overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x mandatory;padding:1px 1px 5px}
.product-gallery-thumb{border:2px solid transparent;background:#f6f8f6;min-width:0;flex:0 0 calc((100% - 36px)/4);aspect-ratio:1;padding:0;cursor:pointer;scroll-snap-align:start;transition:border-color .2s}
.product-gallery-thumb:hover,.product-gallery-thumb.is-active{border-color:var(--green)}
.product-gallery-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.product-detail-introduction{margin:56px auto 0}
.product-detail-introduction h2{font-size:29px;line-height:1.3;color:#075337;border-left:5px solid var(--green);padding-left:14px;margin:0 0 18px}
.product-detail-richtext{font-size:18px;color:#4a565c;line-height:1.9}
.product-detail-richtext p{margin:0 0 8px}
.product-detail-richtext img{display:block;max-width:100%;height:auto;margin:24px auto}
.product-detail-richtext table{max-width:100%;margin:24px auto}
.product-detail-return{border-top:1px solid #dce4df;margin-top:25px;padding:17px 3px 0;color:var(--green);font-size:15px}
.product-detail-return a{display:inline-flex;align-items:center;gap:10px}
.product-detail-return a:hover span{text-decoration:underline}

/* News detail */
.news-detail-hero{height:260px;display:flex;align-items:center;background:#edf4ef center/cover no-repeat;background-image:var(--detail-hero-image,url('../images/news-detail-hero.jpg'));color:#075337}
.news-detail-hero-inner{padding-block:28px}
.news-detail-hero h1{font-size:clamp(45px,4.8vw,66px);line-height:1.2;margin:0 0 4px;font-weight:800;letter-spacing:.02em}
.news-detail-hero p{font-size:26px;letter-spacing:.1em;line-height:1.3;margin:0}
.news-detail-article{max-width:970px;padding-top:59px;padding-bottom:58px}
.news-detail-heading{text-align:center;border-bottom:1px solid #d9e0e4;padding-bottom:28px;margin-bottom:40px}
.news-detail-heading h2{font-size:clamp(30px,3.2vw,43px);line-height:1.35;color:#172838;margin:0 0 16px;font-weight:800}
.news-detail-heading p{color:#818a9b;font-size:16px;margin:0}
.news-detail-body{color:#4f5664;font-size:21px;line-height:1.9;letter-spacing:.015em}
.news-detail-body p{margin:0 0 31px}
.news-detail-body img{display:block;max-width:100%;height:auto;margin:28px auto}
.news-detail-body a{color:var(--green);text-decoration:underline}
.news-document-pages{display:grid;gap:24px;margin:30px 0}
.news-document-pages figure{margin:0;background:#f6f7f5;border:1px solid #e1e7e2}
.news-document-pages img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto}
.news-document-table-wrap{max-width:100%;overflow-x:auto;margin:22px 0 34px;border:1px solid #d9e2db}
.news-document-table{width:100%;min-width:760px;border-collapse:collapse;font-size:15px;line-height:1.6;letter-spacing:0}
.news-document-table th,.news-document-table td{border:1px solid #d9e2db;padding:10px 12px;vertical-align:top;text-align:left}
.news-document-table th{background:#edf4ef;color:#183b27;font-weight:700;white-space:nowrap}
.news-document-table td:first-child,.news-document-table td:nth-child(3),.news-document-table td:nth-child(4){white-space:nowrap}
.news-original-download{margin-top:35px;padding-top:25px;border-top:1px solid #d9e0e4}
.news-original-download a{display:inline-flex;align-items:center;gap:14px;background:var(--green);color:#fff;padding:13px 22px;font-size:16px;font-weight:700}
.news-original-download a:hover{background:#174a31}
.news-original-download a[href=""]{display:none}
.news-original-download:has(a[href=""]){display:none}

@media(max-width:900px){
  .detail-brand-hero{height:280px;background-position:57% center}
  .detail-brand-hero h1{font-size:43px;max-width:600px}
  .detail-brand-description{font-size:18px}
  .product-detail-content.container{width:min(calc(100% - 48px),1400px)}
  .product-detail-overview{gap:24px}
  .product-detail-summary h2{font-size:31px}
  .product-detail-english{font-size:17px;margin-bottom:17px}
  .product-detail-category{font-size:15px;padding-top:14px}
  .product-detail-lede{font-size:15px;margin-top:16px}
  .product-detail-inquire{margin-top:28px}
  .product-gallery-thumb{flex-basis:calc((100% - 24px)/3)}
  .news-detail-article{max-width:calc(100% - 70px)}
}
@media(max-width:640px){
  .detail-breadcrumb{font-size:12px}.detail-breadcrumb>.container{min-height:47px;gap:9px}
  .detail-brand-hero{height:255px;background-position:61% center}
  .detail-brand-hero-inner{padding-block:18px}
  .detail-brand-kicker{font-size:11px;gap:10px;margin-bottom:10px}
  .detail-brand-kicker span{border-left-width:3px;padding-left:8px}
  .detail-brand-hero h1{font-size:30px;max-width:340px;line-height:1.25;margin-bottom:9px}
  .detail-brand-label{font-size:13px}
  .detail-brand-description{font-size:13px;letter-spacing:.04em;max-width:300px}
  .product-detail-content.container{width:calc(100% - 36px);padding-top:20px;padding-bottom:24px}
  .product-detail-overview,.product-detail-overview.is-single-image{grid-template-columns:1fr;gap:17px}
  .product-detail-main-image img{inset:10px;width:calc(100% - 20px);height:calc(100% - 20px)}
  .product-detail-summary h2{font-size:29px}
  .product-detail-english{font-size:15px;margin-bottom:15px}
  .product-detail-category{font-size:15px;padding-top:13px;gap:10px}
  .product-detail-category img{width:21px;height:21px}
  .product-detail-lede{font-size:14px;margin-top:14px}
  .product-detail-inquire{min-height:44px;min-width:150px;font-size:14px;margin-top:23px}
  .product-detail-gallery{grid-template-columns:28px minmax(0,1fr) 28px;gap:5px;margin-top:22px}
  .product-gallery-arrow{width:27px;height:27px;font-size:25px;padding-bottom:4px}
  .product-gallery-thumbs{gap:8px}
  .product-gallery-thumb{flex:0 0 30%;aspect-ratio:1}
  .product-detail-introduction{margin-top:36px}
  .product-detail-introduction h2{font-size:23px;padding-left:10px;border-left-width:4px;margin-bottom:13px}
  .product-detail-richtext{font-size:14px;line-height:1.85}
  .product-detail-richtext p{margin-bottom:9px}
  .product-detail-return{font-size:13px;margin-top:21px}
  .news-detail-hero{height:220px;background-position:61% center}
  .news-detail-hero h1{font-size:38px}
  .news-detail-hero p{font-size:17px;letter-spacing:.08em}
  .news-detail-article{max-width:none;padding-top:34px;padding-bottom:35px}
  .news-detail-heading{padding-bottom:19px;margin-bottom:25px}
  .news-detail-heading h2{font-size:26px;margin-bottom:11px}
  .news-detail-heading p{font-size:12px}
  .news-detail-body{font-size:15px;line-height:1.9}
  .news-detail-body p{margin-bottom:21px}
  .news-document-pages{gap:14px}
  .news-document-table{font-size:13px}
  .news-original-download a{font-size:14px;padding:12px 17px}
}
