.detail-hero-img{border-radius:var(--radius-xl);max-height:280px;margin-bottom:20px;position:relative;overflow:hidden}.detail-hero-img img{object-fit:cover;width:100%;height:100%;max-height:280px;display:block}.photo-badge{bottom:8px;color:#fff;font-size:var(--fs-xs);-webkit-backdrop-filter:blur(6px);background:#0f0f149e;border-radius:6px;padding:3px 10px;position:absolute;inset-inline-start:8px}.breadcrumb{padding-top:var(--space-4)}.breadcrumb a{color:var(--cyan);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.actions-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.actions-row button:disabled{opacity:.5;cursor:not-allowed}.actions-row button:disabled:hover{box-shadow:none;transform:none}.facts-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:0;display:grid}.fact-row{gap:var(--space-1);flex-direction:column;display:flex}.fact-row dt{text-transform:uppercase;letter-spacing:.03em}.fact-row dd{margin:0}.related-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.related-grid a{color:var(--text-hi);text-decoration:none}.related-grid a:hover{color:var(--accent-text)}.text-title,.text-heading{overflow-wrap:break-word}.chip-row{gap:var(--space-2);margin:var(--space-2) 0;flex-wrap:wrap;display:flex}.chip{padding:4px var(--space-3);border:1px solid var(--glass-border);font-size:var(--fs-xs);color:var(--text-hi);background:var(--glass-bg);border-radius:999px;align-items:center;display:inline-flex}.programme-description{max-width:68ch}.english-note{margin-top:var(--space-1);font-style:italic}.deadlines-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.phase-list{font-size:var(--fs-base);gap:var(--space-1);flex-direction:column;margin:0;padding-left:1.1em;display:flex}.overview-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.overview-row{justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--glass-border);display:flex}.overview-row:last-child{border-bottom:none}.overview-key{color:var(--text-mid)}.cost-calc-table{border-collapse:collapse;width:100%;margin-top:var(--space-3);font-size:var(--fs-sm)}.cost-calc-table th,.cost-calc-table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--glass-border)}.cost-calc-table .cost-total{font-weight:600}.cost-unknown{color:var(--text-mid);font-style:italic}.cost-calc-note{margin-top:var(--space-3)}.trust-bar{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.trust-bar a{min-height:24px;color:var(--accent-text);align-items:center;display:inline-flex}.resources-list{gap:var(--space-2);flex-direction:column;padding-left:1.2em;display:flex}.resources-list a{color:var(--accent-text)}.share-row{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.share-row .share-label{font-size:var(--fs-sm);color:var(--text-mid);margin-right:var(--space-1)}.share-btn{border:1px solid var(--glass-border);background:var(--glass-bg);width:40px;height:40px;color:var(--text-hi);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex}.share-btn:hover{background:var(--accent);color:#fff;transform:scale(1.1)}.share-btn svg{fill:currentColor;width:18px;height:18px}.contact-section h2{margin-bottom:16px;font-size:1.25rem;font-weight:600}.contact-form{flex-direction:column;gap:12px;max-width:480px;display:flex}.contact-form input,.contact-form textarea{width:100%;color:inherit;font:inherit;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;outline:none;padding:12px 14px;font-size:.95rem;transition:border-color .2s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent,#04e605)}.contact-form textarea{resize:vertical;min-height:80px}.contact-success{color:var(--accent,#04e605);font-weight:500}.contact-error{color:#f87171;font-size:.85rem}:root[data-theme=light] .contact-form input,:root[data-theme=light] .contact-form textarea{background:#0000000a;border-color:#0000001f}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .contact-form input,:root:not([data-theme=dark]) .contact-form textarea{background:#0000000a;border-color:#0000001f}}
