/* fencing-conventions.css */
.fc-hero {
    background:
        linear-gradient(135deg, rgba(26, 86, 50, 0.10) 0%, rgba(13, 59, 102, 0.10) 100%),
        url('/static/images/fc-hero-bg.jpg') center / cover no-repeat;
    background:
        linear-gradient(135deg, rgba(26, 86, 50, 0.10) 0%, rgba(13, 59, 102, 0.10) 100%),
        url('/static/images/fc-hero-bg.webp') center / cover no-repeat;
    padding: var(--spacing-2xl) 0 var(--spacing-xl);
    color: #fff;
    position: relative;
}
.fc-hero::after{content:'';position:absolute;inset:0;background:rgba(13,59,102,.10);z-index:0;}
.fc-hero .container{position:relative;z-index:1;}
.fc-hero h1{font-size:clamp(1.7rem,4vw,2.5rem);font-weight:800;margin:0 0 var(--spacing-md);line-height:1.25;max-width:750px;color:#fff;}
.fc-hero__lead{font-size:1.1rem;opacity:.92;max-width:680px;margin:0 0 var(--spacing-lg);line-height:1.75;}
.fc-hero__pills{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-md);}
.fc-hero__pill{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;padding:.35rem .9rem;border-radius:999px;font-size:.8rem;font-weight:600;}
.fc-content{padding:var(--spacing-sm) 0 var(--spacing-xl);}
.fc-toc{background:#f4f7f5;border-left:4px solid var(--color-primary);border-radius:0 var(--border-radius) var(--border-radius) 0;padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-xl);max-width:600px;}
.fc-toc__title{font-weight:700;color:var(--color-primary);font-size:.85rem;text-transform:uppercase;letter-spacing:.07em;margin-bottom:var(--spacing-sm);}
.fc-toc__list{list-style:none;padding:0;margin:0;}
.fc-toc__list li{margin:.3rem 0;}
.fc-toc__list a{color:var(--color-secondary);text-decoration:none;font-size:.9rem;}
.fc-toc__list a:hover{text-decoration:underline;color:var(--color-primary);}
.fc-section{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid #e8e8e8;}
.fc-section h2{font-size:1.6rem;color:var(--color-secondary);margin:0 0 var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid #e0e8e0;}
.fc-section h3{font-size:1.15rem;color:var(--color-primary-dark);margin:var(--spacing-md) 0 var(--spacing-sm);}
.fc-section p{margin:0 0 var(--spacing-md);line-height:1.8;color:#333;}
.fc-section ul{padding-left:1.5rem;margin:0 0 var(--spacing-md);}
.fc-section ul li{margin:.45rem 0;line-height:1.7;color:#333;}
.fc-section blockquote{border-left:4px solid var(--color-primary);padding:var(--spacing-sm) var(--spacing-md);background:#f4f7f5;border-radius:0 var(--border-radius) var(--border-radius) 0;font-style:italic;color:#444;margin:var(--spacing-md) 0;line-height:1.75;overflow:hidden;}
.fc-section blockquote cite{display:block;margin-top:var(--spacing-xs);font-size:.8rem;font-style:normal;font-weight:600;color:var(--color-primary);}
.fc-hierarchy{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin:var(--spacing-lg) 0;}
.fc-hierarchy__step{border-radius:var(--border-radius-lg);padding:var(--spacing-md);text-align:center;}
.fc-hierarchy__step--docs{background:#e8f0e8;border:2px solid var(--color-primary);}
.fc-hierarchy__step--common{background:#e8eef7;border:2px solid var(--color-secondary);}
.fc-hierarchy__step--conv{background:#fdf6e8;border:2px solid #c8920a;}
.fc-hierarchy__num{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;color:#fff;margin:0 auto var(--spacing-sm);}
.fc-hierarchy__step--docs .fc-hierarchy__num{background:var(--color-primary);}
.fc-hierarchy__step--common .fc-hierarchy__num{background:var(--color-secondary);}
.fc-hierarchy__step--conv .fc-hierarchy__num{background:#c8920a;}
.fc-hierarchy__title{font-size:.85rem;font-weight:700;margin-bottom:var(--spacing-xs);}
.fc-hierarchy__step--docs .fc-hierarchy__title{color:var(--color-primary);}
.fc-hierarchy__step--common .fc-hierarchy__title{color:var(--color-secondary);}
.fc-hierarchy__step--conv .fc-hierarchy__title{color:#9a6900;}
.fc-hierarchy__step p{font-size:.8rem;color:#555;margin:0;line-height:1.5;}
@media(max-width:600px){.fc-hierarchy{grid-template-columns:1fr;}}
.fc-conventions{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin:var(--spacing-lg) 0;}
.fc-conv-card{background:#fff;border:2px solid #e0e8e0;border-radius:var(--border-radius-lg);overflow:hidden;transition:border-color .2s,box-shadow .2s;}
.fc-conv-card:hover{border-color:var(--color-primary);box-shadow:0 4px 16px rgba(26,86,50,.1);}
.fc-conv-card__header{background:var(--color-primary);color:#fff;padding:var(--spacing-sm) var(--spacing-md);font-weight:700;font-size:.95rem;}
.fc-conv-card__body{padding:var(--spacing-md);}
.fc-conv-card__body p{font-size:.9rem;color:#333;line-height:1.7;margin:0 0 var(--spacing-sm);}
.fc-conv-card__verdict{background:#f4f7f5;border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);font-size:.85rem;color:var(--color-primary-dark);font-weight:600;line-height:1.55;}
@media(max-width:700px){.fc-conventions{grid-template-columns:1fr;}}
.fc-img-right{float:right;margin-left:var(--spacing-lg);margin-bottom:var(--spacing-md);max-width:380px;}
.fc-img-left{float:left;margin-right:var(--spacing-lg);margin-bottom:var(--spacing-md);max-width:380px;}
.fc-img-right img,.fc-img-left img{width:100%;border-radius:var(--border-radius-lg);box-shadow:0 4px 12px rgba(0,0,0,.12);}
.fc-img-center{text-align:center;margin:var(--spacing-lg) 0;}
.fc-img-center img{max-width:100%;border-radius:var(--border-radius-lg);box-shadow:0 4px 12px rgba(0,0,0,.12);}
.fc-img-caption{font-size:.78rem;color:#777;text-align:center;margin-top:var(--spacing-xs);font-style:italic;}
.fc-clearfix::after{content:'';display:table;clear:both;}
.fc-important{background:#fdf6e8;border:2px solid #e6a800;border-radius:var(--border-radius-lg);padding:var(--spacing-md) var(--spacing-lg);margin:var(--spacing-lg) 0;}
.fc-important__title{font-weight:700;color:#9a6900;font-size:.85rem;text-transform:uppercase;letter-spacing:.07em;margin-bottom:var(--spacing-sm);}
.fc-important p{font-size:.9rem;color:#6b4c00;margin:0;line-height:1.7;}
.fc-tree-types{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin:var(--spacing-lg) 0;}
.fc-tree-type{background:#fff;border:1px solid #d4e6d4;border-radius:var(--border-radius);padding:var(--spacing-md);border-top:3px solid var(--color-primary);}
.fc-tree-type__title{font-weight:700;color:var(--color-primary-dark);font-size:.9rem;margin-bottom:var(--spacing-xs);}
.fc-tree-type p{font-size:.85rem;color:#555;margin:0;line-height:1.65;}
@media(max-width:600px){.fc-tree-types{grid-template-columns:1fr;}}
.fc-inline-cta{background:#0d3b66;border-radius:var(--border-radius-lg);padding:var(--spacing-lg) var(--spacing-xl);margin:var(--spacing-xl) 0;text-align:center;color:#fff;}
.fc-inline-cta h3{color:#fff;font-size:1.2rem;margin:0 0 var(--spacing-sm);}
.fc-inline-cta p{color:rgba(255,255,255,.88);margin:0 0 var(--spacing-md);font-size:.95rem;}
.fc-inline-cta__btn{display:inline-block;background:var(--color-primary);color:#fff;font-weight:700;padding:.7rem 1.8rem;border-radius:999px;text-decoration:none;transition:background .2s,transform .15s;}
.fc-inline-cta__btn:hover{background:var(--color-primary-dark);transform:translateY(-1px);}
.fc-faq{background:#f4f7f5;padding:var(--spacing-2xl) 0;}
.fc-faq__heading{text-align:center;color:var(--color-secondary);font-size:1.6rem;margin-bottom:var(--spacing-lg);}
.fc-faq__list{max-width:800px;margin:0 auto;}
.fc-faq__item{background:#fff;border-radius:var(--border-radius);margin-bottom:var(--spacing-sm);overflow:hidden;border:1px solid #d4e6d4;}
.fc-faq__question{width:100%;background:none;border:none;text-align:left;padding:var(--spacing-md) var(--spacing-lg);font-size:.95rem;font-weight:600;color:var(--color-secondary);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);line-height:1.4;font-family:inherit;}
.fc-faq__question:hover{color:var(--color-primary);}
.fc-faq__question svg{flex-shrink:0;transition:transform .25s;}
.fc-faq__item.open .fc-faq__question svg{transform:rotate(180deg);}
.fc-faq__answer{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .25s;padding:0 var(--spacing-lg);}
.fc-faq__item.open .fc-faq__answer{max-height:600px;padding:0 var(--spacing-lg) var(--spacing-md);}
.fc-faq__answer p{color:#444;line-height:1.7;margin:0;}

.fo-related{background:#f4f6f4;padding:var(--spacing-2xl) 0;margin-top:var(--spacing-xl);}
.fo-related__heading{text-align:center;color:var(--color-secondary);font-size:1.6rem;margin-bottom:var(--spacing-lg);}
.fo-related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);}
.fo-related__card{background:#fff;border-radius:var(--border-radius-lg);padding:var(--spacing-lg);text-decoration:none;color:inherit;border:2px solid transparent;display:block;}
.fo-related__card:hover{border-color:var(--color-primary);box-shadow:0 4px 16px rgba(26,86,50,.12);transform:translateY(-2px);}
.fo-related__card-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary);margin-bottom:var(--spacing-xs);}
.fo-related__card h3{font-size:1rem;color:var(--color-secondary);margin:0 0 var(--spacing-xs);line-height:1.4;}
.fo-related__card p{font-size:.85rem;color:#555;line-height:1.6;margin:0;}

/* ── Breadcrumb ──────────────────────────────────────────────────────────── */
.fence-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.82rem;
    color: #888;
    margin-bottom: var(--spacing-md, 1.5rem);
    flex-wrap: wrap;
}
.fence-breadcrumb a {
    color: var(--color-primary, #1a5632);
    text-decoration: none;
    font-weight: 500;
}
.fence-breadcrumb a:hover {
    text-decoration: underline;
}
.fence-breadcrumb__sep {
    color: #bbb;
    font-size: 1rem;
    line-height: 1;
}
.fence-breadcrumb__current {
    color: #555;
}
