/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.text-align-left{text-align:left;}.text-align-right{text-align:right;}.text-align-center{text-align:center;}.text-align-justify{text-align:justify;}.align-left{float:left;}.align-right{float:right;}.align-center{display:block;margin-right:auto;margin-left:auto;}
.container-inline div,.container-inline label{display:inline-block;}.container-inline .details-wrapper{display:block;}.container-inline .hidden{display:none;}
.clearfix::after{display:table;clear:both;content:"";}
.hidden{display:none;}.visually-hidden{position:absolute !important;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;word-wrap:normal;}.visually-hidden.focusable:active,.visually-hidden.focusable:focus-within{position:static !important;overflow:visible;clip:auto;width:auto;height:auto;}.invisible{visibility:hidden;}
.js .js-hide{display:none;}.js-show{display:none;}.js .js-show{display:block;}@media (scripting:enabled){.js-hide.js-hide{display:none;}.js-show{display:block;}}
.ld-hero{background:linear-gradient(135deg,#0f2b46 0%,#123a5c 55%,#0e6ba8 100%);color:#fff;border-radius:16px;padding:clamp(28px,5vw,56px);margin:0 0 8px;}.ld-hero-title{margin:0 0 8px;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15;}.ld-hero-sub{margin:0 0 20px;color:#cfe3f5;font-size:1.05rem;max-width:60ch;}.ld-search{display:flex;max-width:560px;border-radius:999px;background:#fff;padding:4px;box-shadow:0 8px 24px rgba(2,12,27,0.25);}.ld-search input{flex:1;min-width:0;border:0;padding:10px 18px;font-size:1rem;color:#1c2940;background:transparent;border-radius:999px;}.ld-search input:focus{outline:2px solid #0e6ba8;outline-offset:-2px;}.ld-search button{border:0;background:#0e6ba8;color:#fff;padding:10px 22px;border-radius:999px;font-weight:600;cursor:pointer;}.ld-search button:hover{background:#0a587f;}.ld-stats{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:20px;}.ld-stats span{font-size:0.9rem;color:#bcd6ec;}.ld-stats strong{color:#fff;font-size:1.15rem;margin-right:4px;}.ld-intro{color:#5b6b7f;margin:4px 0 8px;}.ld-section-title{font-size:1.3rem;margin:32px 0 14px;}.ld-empty{color:#5b6b7f;padding:24px 0;}.ld-empty a{color:#0e6ba8;}.ld-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;}.ld-cat-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px;transition:box-shadow 0.18s ease,transform 0.18s ease;}.ld-cat-card:hover{box-shadow:0 10px 24px rgba(15,43,70,0.08);transform:translateY(-2px);}.ld-cat-name{font-weight:700;font-size:1.05rem;color:#123a5c;text-decoration:none;}.ld-cat-name:hover{text-decoration:underline;}.ld-cat-count{display:inline-block;margin-left:8px;font-size:0.72rem;color:#5b6b7f;background:#eef2f7;border-radius:999px;padding:2px 9px;white-space:nowrap;}.ld-cat-subs{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 12px;}.ld-cat-subs a{font-size:0.85rem;color:#0e6ba8;text-decoration:none;}.ld-cat-subs a:hover{text-decoration:underline;}.ld-two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;margin-top:8px;}.ld-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:8px 20px 18px;}.ld-panel h2{font-size:1.15rem;margin:14px 0 4px;}.ld-more{display:inline-block;margin-top:10px;color:#0e6ba8;font-weight:600;text-decoration:none;}.ld-more:hover{text-decoration:underline;}.ld-row{display:flex;gap:14px;align-items:flex-start;padding:16px 4px;border-bottom:1px solid #edf1f5;}.ld-row:last-child{border-bottom:0;}.ld-row.is-featured{background:linear-gradient(90deg,#fffbf0 0%,transparent 70%);border-radius:10px;}.ld-avatar{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:1.05rem;background:linear-gradient(135deg,hsl(var(--hue) 65% 45%),hsl(var(--hue) 60% 62%));}.ld-avatar.lg{width:56px;height:56px;font-size:1.4rem;border-radius:16px;}.ld-row-main{flex:1;min-width:0;}.ld-row-title{margin:2px 0 4px;font-size:1.02rem;font-weight:600;}.ld-row-title a{color:#16324f;text-decoration:none;}.ld-row-title a:hover{color:#0e6ba8;text-decoration:underline;}.ld-badge{display:inline-block;margin-left:8px;font-size:0.68rem;letter-spacing:0.04em;text-transform:uppercase;color:#7a4b00;background:#fff3d6;border:1px solid #f3d9a0;border-radius:999px;padding:1px 8px;vertical-align:2px;}.ld-row-desc{margin:0 0 6px;color:#4c5a6b;font-size:0.93rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}.ld-row-meta{margin:0;font-size:0.8rem;color:#7b8899;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;}.ld-row-meta a{color:#0e6ba8;text-decoration:none;}.ld-row-meta a:hover{text-decoration:underline;}.ld-visit{flex:none;align-self:center;background:#0e6ba8;color:#fff;text-decoration:none;font-weight:600;font-size:0.85rem;border-radius:999px;padding:8px 16px;transition:background 0.15s;}.ld-visit:hover{background:#0a587f;}.ld-detail{max-width:780px;}.ld-detail-crumb{font-size:0.85rem;margin:0 0 14px;}.ld-detail-crumb a{color:#0e6ba8;text-decoration:none;}.ld-detail-crumb a:hover{text-decoration:underline;}.ld-badge-pending{background:#fff3d6;color:#7a4b00;border:1px solid #f3d9a0;display:inline-block;border-radius:999px;padding:4px 12px;font-size:0.85rem;margin:0 0 12px;}.ld-detail-head{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:18px;}.ld-detail-info{flex:1;min-width:220px;}.ld-detail-url{color:#0e6ba8;font-size:0.95rem;word-break:break-all;}.ld-detail-cat{color:#5b6b7f;font-size:0.9rem;margin-top:4px;}.ld-detail-cat a{color:#0e6ba8;text-decoration:none;}.ld-detail-meta{display:flex;flex-wrap:wrap;gap:10px 32px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px 18px;margin:0 0 18px;}.ld-detail-meta dt{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.05em;color:#7b8899;margin-bottom:2px;}.ld-detail-meta dd{margin:0;font-size:0.95rem;color:#2a3948;word-break:break-all;}.ld-detail-body{font-size:1rem;line-height:1.6;color:#33414f;}@media (max-width:640px){.ld-row{flex-wrap:wrap;}.ld-visit{order:-1;align-self:flex-start;}}
