/* Page-scoped editorial layout; existing catalog and cart code is untouched. */
body[data-camping-editorial] { --cl-ink:#303b33; --cl-green:#3e5942; --cl-muted:#5c675e; }
[data-camping-editorial] .cl-main { color:var(--cl-ink); }
[data-camping-editorial] .cl-wrap { width:min(1120px,calc(100% - 64px)); margin:auto; }
[data-camping-editorial] .cl-main figure { margin:0; min-width:0; }
[data-camping-editorial] .cl-main figure img { display:block; width:100%; height:auto; object-fit:contain; }
[data-camping-editorial] .cl-main p { line-height:1.95; }
[data-camping-editorial] .cl-main figcaption { font-size:.8rem; color:var(--cl-muted); line-height:1.85; padding:12px 0 0; }
[data-camping-editorial] .cl-kicker { margin:0 0 1rem; font-size:.78rem; letter-spacing:.12em; color:var(--cl-green); }
[data-camping-editorial] .cl-hero { display:grid; grid-template-columns:.85fr 1.15fr; gap:56px; align-items:center; padding:48px 0; }
[data-camping-editorial] .cl-hero h1 { font:500 clamp(2rem,3vw,3rem)/1.6 var(--serif); margin:0 0 22px; }
[data-camping-editorial] .cl-hero h1 em { color:var(--cl-green); font-style:normal; }
[data-camping-editorial] .cl-lead { font-size:.97rem; margin:0; }
[data-camping-editorial] .cl-hero figure img { border-radius:6px 48px 6px 6px; }
[data-camping-editorial] .cl-actions { display:flex; gap:18px; align-items:center; flex-wrap:wrap; margin-top:26px; }
[data-camping-editorial] .cl-actions a,[data-camping-editorial] .cl-nav a,[data-camping-editorial] .cl-original { display:inline-flex; align-items:center; min-height:44px; color:var(--cl-green); font-size:.86rem; text-underline-offset:5px; }
[data-camping-editorial] .cl-actions .cl-button { padding:10px 22px; border-radius:6px; background:var(--cl-green); color:#fff; text-decoration:none; }
[data-camping-editorial] .cl-nav { display:flex; justify-content:center; gap:12px 32px; flex-wrap:wrap; border-block:1px solid #d7ddd3; padding:17px 0; }
[data-camping-editorial] .cl-nav a { text-decoration:none; }
[data-camping-editorial] .cl-main a:focus-visible,[data-camping-editorial] .cl-main summary:focus-visible { outline:3px solid #3e5942; outline-offset:5px; }
[data-camping-editorial] .cl-section { padding:68px 0; scroll-margin-top:95px; }
[data-camping-editorial] .cl-main h2 { font:500 clamp(1.5rem,2.3vw,2rem)/1.65 var(--serif); margin:0 0 16px; }
[data-camping-editorial] .cl-main h3 { font-size:1.1rem; line-height:1.8; margin:24px 0 10px; font-weight:500; }
[data-camping-editorial] .cl-heading { max-width:710px; margin:0 auto 30px; text-align:center; }
[data-camping-editorial] .cl-heading p:last-child { color:var(--cl-muted); font-size:.94rem; }
[data-camping-editorial] .cl-context { max-width:880px; margin:auto!important; }
[data-camping-editorial] .cl-original { margin-left:14px; }
[data-camping-editorial] .cl-steps { list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:28px; padding:0; margin:35px 0 0; counter-reset:cl-step; }
[data-camping-editorial] .cl-steps li { border-top:1px solid #b8c7b2; padding-top:20px; line-height:1.9; font-size:.9rem; counter-increment:cl-step; }
[data-camping-editorial] .cl-steps strong { display:block; font-size:1.06rem; margin-bottom:8px; }
[data-camping-editorial] .cl-steps strong:before { content:'0' counter(cl-step) ' / '; font-family:var(--serif); color:var(--cl-green); }
[data-camping-editorial] .cl-safety { margin-top:30px; border-left:3px solid #95734c; padding:17px 24px; background:#f2eee4; line-height:1.95; font-size:.9rem; }
[data-camping-editorial] .cl-band { background:#eef0e9; }
[data-camping-editorial] .cl-detail { display:grid; grid-template-columns:1.05fr 1fr; gap:48px; align-items:center; }
[data-camping-editorial] .cl-detail p { font-size:.94rem; color:var(--cl-muted); }
[data-camping-editorial] .cl-roll { max-width:780px; margin:45px auto 0!important; }
[data-camping-editorial] .cl-specs { display:grid; grid-template-columns:1fr 1fr; gap:46px; }
[data-camping-editorial] .cl-specs ul { list-style:none; margin:0; padding:0; }
[data-camping-editorial] .cl-specs li { border-bottom:1px solid #daddd3; padding:13px 0; font-size:.9rem; line-height:1.9; }
[data-camping-editorial] .cl-archive { margin-top:35px; border:1px solid #d5dbcf; background:#fffef9; border-radius:10px; }
[data-camping-editorial] .cl-archive>div { padding:0 24px 24px; }
[data-camping-editorial] .cl-archive figure { max-width:900px; margin:auto; }
[data-camping-editorial] .cl-archive p { font-size:.92rem; }
[data-camping-editorial] .cl-faq { padding-top:0; max-width:820px; }
[data-camping-editorial] .cl-faq details { border-top:1px solid #d5dbcf; }
[data-camping-editorial] .cl-main summary { min-height:44px; padding:18px 22px; line-height:1.8; cursor:pointer; font-size:.94rem; }
[data-camping-editorial] .cl-faq details p { padding:0 22px 20px; margin:0; font-size:.91rem; color:var(--cl-muted); }
[data-camping-editorial] #buy-section { scroll-margin-top:95px; }
[data-camping-editorial] #main-buy-btn:disabled { opacity:.65; cursor:wait; }
@media(max-width:850px) {
 [data-camping-editorial] .cl-wrap { width:calc(100% - 44px); }
 [data-camping-editorial] .cl-hero { grid-template-columns:1fr; gap:28px; }
 [data-camping-editorial] .cl-hero figure { max-width:600px; }
 [data-camping-editorial] .cl-detail { gap:28px; }
}
@media(max-width:560px) {
 [data-camping-editorial] .buy-section { padding:2rem 18px; }
 [data-camping-editorial] .buy-card { padding:1.8rem 18px; }
 [data-camping-editorial] #main-buy-btn { width:100%; max-width:100%; padding:.85rem .8rem; font-size:1rem; white-space:normal; overflow-wrap:anywhere; }
 [data-camping-editorial] .cl-wrap { width:calc(100% - 36px); }
 [data-camping-editorial] .cl-hero { padding:28px 0; }
 [data-camping-editorial] .cl-hero h1 { font-size:1.85rem; }
 [data-camping-editorial] .cl-section { padding:46px 0; }
 [data-camping-editorial] .cl-steps,[data-camping-editorial] .cl-detail,[data-camping-editorial] .cl-specs { grid-template-columns:1fr; gap:22px; }
 [data-camping-editorial] .cl-detail>div { grid-row:1; }
 [data-camping-editorial] .cl-nav { gap:8px 22px; justify-content:flex-start; }
 [data-camping-editorial] .cl-faq { padding-top:0; }
 [data-camping-editorial] .cl-archive>div { padding:0 16px 16px; }
 [data-camping-editorial] .buy-bar { padding:.65rem 1rem; gap:.5rem 1rem; flex-wrap:wrap; }
 [data-camping-editorial] .buy-bar-info { flex:1 1 110px; min-width:0; }
 [data-camping-editorial] .buy-bar-name { display:none; }
 [data-camping-editorial] .buy-bar-btn { white-space:nowrap; min-height:44px; padding:.6rem 1rem; flex:0 0 auto; }
 [data-camping-editorial] #hibouScrollTop { bottom:9rem; }
}
