/* Additions for the controller-based modules. The original INDAM colour system remains unchanged. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header-right{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:20px}.institution-logo{max-height:70px;max-width:180px;object-fit:contain}.header-link{padding-left:20px}.header-link a{display:inline-block;padding:10px 18px;background:#8b1e3f;color:#fff;font-weight:700;border-radius:4px}.header-search{display:flex;align-items:center;border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.header-search input{width:110px;border:0;padding:10px 4px 10px 12px;outline:0}.header-search button{border:0;background:transparent;color:var(--navy);font-size:20px;padding:6px 10px;cursor:pointer}.nav-parent{position:relative;display:inline-flex}.nav-dropdown{display:none;position:absolute;top:calc(100% - 2px);left:0;min-width:230px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:110}.nav-parent:hover>.nav-dropdown,.nav-parent:focus-within>.nav-dropdown{display:grid}.nav-dropdown .nav-parent{display:block}.nav-dropdown .nav-dropdown{left:100%;top:0}.nav-caret{padding-left:6px}.narrow-wrap{max-width:900px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.full-field{grid-column:1/-1}.success-notice{border-left:5px solid var(--green)}.error-notice{border-left:5px solid #b42318}.profile-placeholder{display:grid;place-items:center;width:118px;height:118px;margin:0 auto 18px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;font-size:42px;font-weight:900}.speaker-grid{grid-template-columns:repeat(3,1fr)}.speaker-profile{display:grid;grid-template-columns:minmax(240px,340px) 1fr;gap:36px;align-items:start}.speaker-photo{width:100%;border-radius:var(--radius);box-shadow:var(--shadow)}.committee-group{margin-bottom:44px}.programme-day{margin-bottom:40px}.programme-session{display:grid;grid-template-columns:150px 1fr;gap:24px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:14px;padding:20px 24px;margin-bottom:14px;box-shadow:0 8px 24px rgba(10,52,115,.08)}.programme-session time{font-weight:900;color:var(--navy)}.programme-session h3{margin:3px 0}.programme-session p,.programme-session span{margin:0;color:var(--muted)}.gallery-albums{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.album-card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.album-card img{width:100%;height:230px;object-fit:cover}.album-card h2,.album-card p{margin:14px 18px}.gallery-grid figure{margin:0}.gallery-grid figcaption,.page-banner figcaption{padding:9px;color:var(--muted);font-size:14px}.search-page-form{margin-bottom:28px}.search-page-form>div{display:flex;gap:12px}.search-results{display:grid;gap:16px}.search-results h2{margin:.2em 0}.search-results small{color:var(--orange);font-weight:800}.date-item small{display:block;color:var(--muted);font-weight:400}.fee-table{width:100%;border-collapse:collapse;background:#fff}.fee-table th,.fee-table td{padding:13px;border:1px solid var(--line);text-align:left}.fee-table th{background:var(--navy);color:#fff}.fee-heading{color:var(--navy)}.fee-block{margin-bottom:28px}.fee-note{padding:18px 24px;border-radius:14px;background:var(--orange-soft);margin-top:20px}.contact-map iframe{width:100%;height:360px;border:0}.indam-chat-head button{margin-left:auto}.brand img,.footer-brand img{min-width:180px}.footer-brand img{max-height:90px}.main-nav>.nav-parent>a{display:block}
@media(max-width:980px){.speaker-grid,.gallery-albums{grid-template-columns:repeat(2,1fr)}.header-search{display:none}.nav-parent{display:block}.nav-dropdown{position:static;box-shadow:none;margin-left:15px}.main-nav.open .nav-dropdown{display:grid}}
@media(max-width:768px){.header-link a{padding:7px 10px;font-size:12px}.speaker-grid,.gallery-albums,.speaker-profile{grid-template-columns:1fr}.programme-session{grid-template-columns:1fr;gap:4px}.brand img{max-height:55px;max-width:160px;min-width:0}.search-page-form>div{display:grid}}
@media(max-width:480px){.header-link a{font-size:10px;max-width:170px}.top-left span:nth-child(2){display:none}}
