/* New public trade-fair views only. Original templates retain their original styles. */
.trade-fairs-layout { --fair-ink:#172b3e; --fair-muted:#657987; --fair-rule:#dfe6ec; --fair-blue:#175b9a; --fair-gutter:clamp(1.25rem,2.5vw,3rem); background:#f5f7f9; }
.trade-fairs-layout .navbar-container .container,.trade-fairs-layout > footer > .container { max-width:none; width:100%; padding-inline:var(--fair-gutter); }
.fairs-page { padding:1.875rem var(--fair-gutter) 3rem; color:var(--fair-ink); }
.fairs-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-bottom:1.5rem; }
.fairs-heading h1 { margin:0 0 .5rem; font-size:clamp(1.5rem,2vw,2rem); line-height:1.2; letter-spacing:-.025em; font-weight:650; }
.fairs-heading p { margin:0; font-size:.875rem; color:var(--fair-muted); }
.fairs-heading .fairs-count { font-size:.8125rem; white-space:nowrap; }
.fairs-count strong { color:var(--fair-ink); font-weight:600; }
.fairs-toolbar { display:flex; gap:.625rem; align-items:center; padding:1rem 0; border-block:1px solid var(--fair-rule); margin-bottom:1.5rem; }
.fair-search { flex:1; min-width:180px; position:relative; }
.fair-search i { position:absolute; inset-inline-start:.875rem; top:50%; transform:translateY(-50%); color:#8293a0; font-size:.8125rem; }
.fair-search .form-control { padding-inline-start:2.375rem; }
.fairs-toolbar .form-control,.fairs-toolbar .form-select { min-height:44px; font-size:.8125rem; border-radius:5px; border-color:#d5dfe6; color:#3b5366; box-shadow:none; }
.fairs-toolbar .form-control:focus,.fairs-toolbar .form-select:focus { border-color:var(--fair-blue); box-shadow:0 0 0 2px #175b9a15; }
.fair-select { flex:0 1 180px; min-width:0; }
.fair-reset { display:inline-flex; gap:.375rem; align-items:center; justify-content:center; background:transparent; color:var(--fair-muted); border:0; padding:.5rem; min-height:44px; font-size:.8125rem; }
.fair-reset:disabled { opacity:.5; cursor:default; }.fair-reset i { font-size:.625rem; }
.fairs-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.fair-card { color:var(--fair-ink); text-decoration:none; overflow:hidden; min-width:0; display:flex; flex-direction:column; padding:1.25rem; border:1px solid var(--fair-rule); border-radius:6px; background:#fff; transition:border-color .18s ease; }
.fair-card:hover { color:var(--fair-ink); border-color:#a6bdce; }
.fair-card[hidden],.fairs-grid[hidden],.fairs-empty[hidden] { display:none; }
.fair-card-heading { display:grid; grid-template-columns:88px minmax(0,1fr); gap:1rem; align-items:start; min-height:88px; }
.fair-logo { display:flex; justify-content:center; align-items:center; width:88px; height:76px; border:1px solid #e7edf1; border-radius:4px; background:#f7f9fa; overflow:hidden; color:#8397a7; font-size:1.75rem; }
.fair-logo img { display:block; width:100%; height:100%; object-fit:fill; background:#fff; }
.fair-industry { display:block; font-size:.6875rem; color:#51728a; line-height:1.4; margin-bottom:.375rem; }
.fair-card h2 { font-size:1.0625rem; font-weight:650; line-height:1.4; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.fair-card h2 { color:var(--fair-ink); }.fair-card:hover h2,.fair-card:focus-visible h2 { color:var(--fair-blue); }
.fair-description { font-size:.8125rem; line-height:1.65; color:var(--fair-muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.7em; margin:1rem 0; }
.fair-card-facts { margin:0 0 1rem; font-size:.8125rem; }
.fair-card-facts > div { display:grid; grid-template-columns:80px minmax(0,1fr); gap:.5rem; padding:.5rem 0; border-top:1px solid #edf1f4; min-height:35px; }
.fair-card-facts dt { font-weight:400; color:var(--fair-muted); display:flex; align-items:baseline; gap:.5rem; }
.fair-card-facts dt i { width:12px; color:#8196a5; text-align:center; }
.fair-card-facts dd { margin:0; min-width:0; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fair-card-footer { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:.75rem; border-top:1px solid var(--fair-rule); padding-top:.875rem; }
.fair-card-footer .fair-card-read { display:inline-flex; align-items:center; gap:.625rem; color:var(--fair-blue); text-decoration:none; font-size:.75rem; }
.fair-card-footer i,.fair-back i { font-size:.625rem; }
.fair-status { display:inline-flex; align-items:center; gap:.375rem; color:#71828e; font-size:.6875rem; line-height:1.5; }
.fair-status::before { content:''; width:5px; height:5px; flex:none; border-radius:50%; background:#9aabb6; }
.fair-status-upcoming { color:#356889; }.fair-status-upcoming::before { background:#5f92b4; }
.fair-status-ongoing { color:#397c63; }.fair-status-ongoing::before { background:#509d80; }
.fairs-empty { text-align:center; border:1px solid var(--fair-rule); border-radius:6px; background:#fff; padding:4rem 1.5rem; }.fairs-empty > i { color:#8196a5; font-size:2rem; margin-bottom:1rem; }.fairs-empty h2 { font-size:1.125rem; }.fairs-empty p { color:var(--fair-muted); font-size:.875rem; }
.fairs-page :is(a,button,input,select):focus-visible { outline:2px solid var(--fair-blue); outline-offset:3px; }
.fair-detail { max-width:1600px; margin-inline:auto; padding-top:1.25rem; }
.fair-back { display:inline-flex; gap:.5rem; align-items:center; color:var(--fair-muted); font-size:.8125rem; text-decoration:none; }.fair-back:hover { color:var(--fair-blue); }
.fair-back-bottom { margin-top:1.5rem; }
.fair-overview { margin:1.25rem 0; background:#fff; border:1px solid var(--fair-rule); border-radius:6px; padding:1.5rem; }
.fair-identity { display:flex; align-items:center; gap:1.25rem; }.fair-identity > div:last-child { min-width:0; }.fair-identity .fair-logo { flex:0 0 120px; width:120px; height:80px; border:2px solid #e7edf1; border-radius:50%; box-shadow:0 3px 10px #172b3e12; }
.fair-kicker { display:flex; flex-wrap:wrap; gap:.5rem 1rem; color:var(--fair-muted); font-size:.75rem; margin-bottom:.5rem; }.fair-kicker .fair-industry { font-size:inherit; margin:0; }
.fair-identity h1 { font-size:clamp(1.5rem,2.1vw,2rem); font-weight:650; line-height:1.3; letter-spacing:-.025em; margin:0 0 .5rem; overflow-wrap:anywhere; }
.fair-overview-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; border-top:1px solid var(--fair-rule); padding-top:1.25rem; margin:1.25rem 0 0; }
.fair-overview-facts dt { font-size:.6875rem; font-weight:400; color:var(--fair-muted); margin-bottom:.375rem; }.fair-overview-facts dd { font-size:.9375rem; font-weight:550; margin:0; overflow-wrap:anywhere; }.fair-timezone { font-weight:400; color:var(--fair-muted); font-size:.75rem; }
.fair-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:1.25rem; align-items:start; }.fair-detail-content,.fair-sidebar { min-width:0; display:grid; gap:1.25rem; }
.fair-banner { margin:1.25rem 0 0; border:1px solid var(--fair-rule); border-radius:6px; overflow:hidden; background:#edf2f5; }.fair-banner img { display:block; width:100%; height:auto; max-height:300px; object-fit:fill; }
.fair-panel { min-width:0; background:#fff; border:1px solid var(--fair-rule); border-radius:6px; padding:1.375rem; }
.fair-panel h2 { font-size:1rem; font-weight:600; line-height:1.4; margin:0 0 1.125rem; padding-bottom:.875rem; border-bottom:1px solid #e8edf1; }
.fair-information-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }.fair-information-grid:empty { display:none; }
.fair-information { margin:0; font-size:.8125rem; }.fair-information > div { display:grid; grid-template-columns:105px minmax(0,1fr); gap:1rem; padding:.625rem 0; border-bottom:1px solid #edf1f4; }.fair-information > div:first-child { padding-top:0; }.fair-information > div:last-child { border-bottom:0; padding-bottom:0; }
.fair-information dt { font-size:.75rem; font-weight:400; color:var(--fair-muted); }.fair-information dd { margin:0; overflow-wrap:anywhere; }.fair-information a { color:var(--fair-blue); text-decoration:none; }.fair-information a:hover { text-decoration:underline; }.fair-information a i { font-size:.5625rem; margin-inline-start:.375rem; }
.fair-richtext { font-size:.875rem; line-height:1.8; color:#425868; overflow-wrap:anywhere; }.fair-richtext :is(p,div,li) { text-align:start !important; }.fair-richtext p { font-size:inherit; line-height:inherit; margin-bottom:1rem; }.fair-richtext :last-child { margin-bottom:0; }.fair-richtext :is(ul,ol) { padding-inline-start:1.25rem; margin-bottom:0; }.fair-richtext li { margin-bottom:.375rem; }.fair-richtext img { max-width:100%; height:auto; }.fair-richtext :is(video,iframe) { max-width:100%; }.fair-richtext table { display:block; max-width:100%; overflow:auto; }
.fair-participation .btn { display:flex; align-items:center; justify-content:center; gap:.5rem; width:100%; margin-bottom:.75rem; font-size:.8125rem; min-height:42px; border-radius:4px; }.fair-participation .btn-primary { background:var(--fair-blue); border-color:var(--fair-blue); }.fair-participation .btn-outline-primary { border-color:#b8ccdc; color:var(--fair-blue); }.fair-participation .btn-outline-primary:hover { background:#edf4f9; }.fair-participation .btn i { font-size:.625rem; }
.fair-deadline { display:flex; flex-direction:column; gap:.375rem; font-size:.75rem; color:var(--fair-muted); margin-bottom:1.25rem; }.fair-deadline time { color:var(--fair-ink); font-weight:500; }
.fair-prices { margin:1.25rem 0 0; border-top:1px solid var(--fair-rule); padding-top:1rem; }.fair-prices > div { display:flex; justify-content:space-between; gap:1rem; padding:.375rem 0; font-size:.8125rem; }.fair-prices dt { font-weight:400; color:var(--fair-muted); }.fair-prices dd { margin:0; font-weight:600; text-align:end; }.fair-prices small { font-weight:400; font-size:.6875rem; }
.fair-statistics > div { grid-template-columns:minmax(0,1fr) auto; align-items:center; }.fair-statistics dd { font-size:1rem; font-weight:600; }.fair-statistics small { font-size:.6875rem; font-weight:400; }
.fair-social { display:flex; flex-wrap:wrap; gap:.75rem 1rem; }.fair-social a { display:inline-flex; gap:.5rem; align-items:center; color:#577187; font-size:.75rem; text-decoration:none; }.fair-social a:hover { color:var(--fair-blue); }
.fair-gallery,.fair-videos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }.fair-gallery-open { position:relative; padding:0; aspect-ratio:1.6; min-width:0; border:1px solid #e2e9ee; background:#f3f6f8; border-radius:4px; overflow:hidden; }.fair-gallery-open img { width:100%; height:100%; object-fit:contain; }.fair-gallery-open span { position:absolute; inset-inline-end:.5rem; bottom:.5rem; background:#ffffffeb; color:#50708a; padding:.2rem .4rem; border-radius:3px; font-size:.6875rem; }.fair-videos { grid-template-columns:repeat(2,minmax(0,1fr)); }.fair-videos video { width:100%; max-height:280px; background:#162430; border-radius:4px; }
.fair-gallery-modal .modal-body > img { display:block; width:100%; height:65vh; object-fit:contain; }.fair-gallery-controls { display:flex; justify-content:center; align-items:center; gap:1.25rem; margin-top:1rem; font-size:.8125rem; }.fair-gallery-controls .btn { font-size:.8125rem; }
[dir="rtl"] :is(.fair-back,.fair-card-footer) i { transform:rotate(180deg); }
@media(min-width:1900px) { .fairs-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:1199.98px) { .fairs-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.fairs-toolbar { flex-wrap:wrap; }.fair-search { flex-basis:calc(100% - 110px); }.fair-select { flex:1; }.fair-detail-grid { grid-template-columns:minmax(0,1fr) 280px; }.fair-information-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:899.98px) { .fair-detail-grid { grid-template-columns:minmax(0,1fr); }.fair-sidebar { display:contents; }.fair-participation { grid-row:1; }.fair-information-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.fair-overview-facts { gap:1rem; }.fair-overview-facts dd { font-size:.8125rem; }.fair-overview { padding:1.25rem; }.fair-panel { padding:1.125rem; } }
@media(max-width:699.98px) { .fairs-grid { grid-template-columns:minmax(0,1fr); }.fairs-heading { align-items:start; flex-direction:column; gap:.75rem; }.fairs-heading p { font-size:.8125rem; }.fair-search { flex-basis:100%; }.fair-select { flex-basis:calc(50% - .625rem); }.fair-reset { min-height:32px; padding-inline:0; }.fair-card-heading { min-height:88px; }.fair-identity { align-items:start; gap:1rem; }.fair-identity .fair-logo { flex-basis:90px; width:90px; height:60px; }.fair-overview-facts { grid-template-columns:minmax(0,1fr); gap:1rem; }.fair-overview-facts > div { display:grid; grid-template-columns:65px minmax(0,1fr); gap:.75rem; }.fair-overview-facts dt { margin:0; }.fair-overview-facts dd { font-size:.8125rem; }.fair-sidebar,.fair-information-grid { grid-template-columns:minmax(0,1fr); }.fair-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }.fair-videos { grid-template-columns:minmax(0,1fr); }.fair-information > div { grid-template-columns:95px minmax(0,1fr); gap:.75rem; }.fair-statistics > div { grid-template-columns:minmax(0,1fr) auto; }.fair-identity h1 { font-size:1.375rem; }.fair-kicker { gap:.375rem .75rem; font-size:.6875rem; } }
@media(prefers-reduced-motion:reduce) { .fair-card { transition:none; } }

.fair-detail-only-sidebar,.fair-detail-only-content { grid-template-columns:minmax(0,1fr); }
.fair-detail-only-sidebar .fair-detail-content,.fair-detail-only-content .fair-sidebar { display:none; }
.fair-detail-only-sidebar .fair-sidebar { max-width:420px; width:100%; }

.fair-detail-lower { display:grid; gap:1.25rem; margin-top:1.25rem; }

.fair-detail-lower .fair-statistics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.fair-detail-lower .fair-statistics > div { border:0; padding:0; }
@media(max-width:699.98px) { .fair-detail-lower .fair-statistics { grid-template-columns:minmax(0,1fr); gap:1rem; } }

.fair-card-cover { flex:none; height:104px; margin:-1.25rem -1.25rem 0; background:#eaf0f4; border-bottom:1px solid var(--fair-rule); overflow:hidden; }
.fair-card-cover img { display:block; width:100%; height:100%; object-fit:fill; }
.fair-card-heading > .fair-logo { position:relative; margin-top:-24px; border:4px solid #fff; box-shadow:0 0 0 1px #dfe6ec; background:#fff; }
.fair-card-heading > div:last-child { min-width:0; padding-top:.875rem; }
