/* Phase 35 — isolated related-route journey section on published detail pages. */
.tyz35-related {
 --tyz35-ink:#182e49;
 --tyz35-muted:#596b7c;
 --tyz35-accent:#bd8b46;
 --tyz35-card:#ffffff;
 --tyz35-border:rgba(147,109,59,.20);
 position:relative;
 isolation:isolate;
 width:100%;
 padding:clamp(46px,6.5vw,94px) 0 clamp(54px,7vw,92px);
 background:linear-gradient(135deg,#faf7ef 0%,#f4f0e7 45%,#f8f6f1 100%);
 border-top:1px solid rgba(168,128,70,.14);
 color:var(--tyz35-ink);
}
html[data-tyz-theme="dark"] .tyz35-related {
 --tyz35-ink:#f6ebda;
 --tyz35-muted:#aebed0;
 --tyz35-accent:#ebc387;
 --tyz35-card:#15263b;
 --tyz35-border:rgba(232,189,126,.22);
 background:linear-gradient(137deg,#0a1728 0%,#0f1e32 55%,#14243a 100%);
}
.tyz35-related *,.tyz35-related *::before,.tyz35-related *::after {box-sizing:border-box}
.tyz35-inner {width:min(1180px,calc(100% - 48px));margin-inline:auto}
.tyz35-top {
 display:flex;justify-content:space-between;align-items:flex-end;
 gap:18px;flex-wrap:wrap;margin-bottom:clamp(22px,3.5vw,37px)
}
.tyz35-heading-group{min-width:0;flex:1 1 420px}
.tyz35-eyebrow {
 display:inline-flex;align-items:center;gap:12px;
 font:800 11px/1.6 "Outfit",Arial,sans-serif;
 letter-spacing:.12em;color:var(--tyz35-accent);
}
.tyz35-eyebrow::before {
 content:"";display:block;width:23px;height:2px;background:currentColor;border-radius:2px
}
.tyz35-heading {
 color:var(--tyz35-ink);font:850 clamp(26px,3vw,39px)/1.3 "Cairo",Tahoma,Arial,sans-serif;
 letter-spacing:-.02em;margin:10px 0 7px;text-wrap:balance;
}
html[dir="ltr"] .tyz35-heading{font-family:"Outfit","Inter",Arial,sans-serif}
.tyz35-description {font-size:14px;line-height:1.9;color:var(--tyz35-muted);margin:0}
.tyz35-viewall {
 display:inline-flex;align-items:center;gap:9px;
 color:var(--tyz35-ink)!important;text-decoration:none!important;
 border-radius:11px;border:1px solid var(--tyz35-border);
 padding:11px 17px;min-height:45px;font-size:13px;font-weight:800;
 background:rgba(208,170,116,.08);
 transition:background .22s,border-color .22s,transform .22s
}
.tyz35-viewall:is(:hover,:focus-visible) {
 background:rgba(206,161,97,.17);border-color:var(--tyz35-accent);
}
.tyz35-grid {
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
 gap:clamp(12px,2vw,21px);
}
.tyz35-grid:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.tyz35-card {
 display:grid;grid-template-columns:minmax(0,1fr) auto;
 grid-template-rows:auto 1fr auto;align-content:start;
 gap:12px 16px;min-width:0;min-height:175px;
 background:var(--tyz35-card);border:1px solid var(--tyz35-border);
 box-shadow:0 10px 30px rgba(8,28,54,.05);
 border-radius:20px;padding:clamp(18px,2.6vw,25px);
 text-decoration:none!important;color:var(--tyz35-ink)!important;
 transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s
}
.tyz35-counter {
 grid-column:1;grid-row:1;font:700 12px/1.4 "Outfit",Arial,sans-serif;
 color:var(--tyz35-accent);letter-spacing:.1em
}
.tyz35-card-title {
 grid-column:1 / -1;grid-row:2;
 font:800 clamp(16px,1.6vw,21px)/1.5 "Cairo",Tahoma,Arial,sans-serif;
 text-wrap:pretty;overflow-wrap:anywhere;
}
html[dir="ltr"] .tyz35-card-title {font-family:"Inter","Outfit",Arial,sans-serif}
.tyz35-kind {
 grid-column:1;grid-row:3;font-size:11px;font-weight:700;color:var(--tyz35-muted)
}
.tyz35-card-tail {
 grid-column:2;grid-row:3;justify-self:end;align-self:end;
 display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;
 background:rgba(185,138,65,.12);color:var(--tyz35-accent);
 font:800 18px/1 Arial,sans-serif
}
@media(hover:hover) and (pointer:fine) {
 .tyz35-card:hover {
  transform:translateY(-4px);border-color:var(--tyz35-accent);
  box-shadow:0 20px 46px rgba(11,28,53,.10)
 }
 .tyz35-viewall:hover{transform:translateY(-2px)}
}
.tyz35-related :is(a):focus-visible {
 outline:3px solid var(--tyz35-accent)!important;outline-offset:4px!important
}
@media(max-width:850px){
 .tyz35-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:570px){
 .tyz35-inner{width:calc(100% - 32px)}
 .tyz35-grid,.tyz35-grid:has(> :nth-child(2):last-child){grid-template-columns:minmax(0,1fr)}
 .tyz35-card{min-height:132px;gap:9px;padding:18px}
 .tyz35-top{align-items:flex-start}
 .tyz35-viewall{width:100%;justify-content:space-between}
}
@media(prefers-reduced-motion:reduce) {
 .tyz35-related .tyz35-card,.tyz35-related .tyz35-viewall{
  transition:none!important;animation:none!important;transform:none!important
 }
}
