/* Make a Submission button - same strong red hover */
.pkp_block.block_make_submission a,
.block_make_submission .cmp_button {
    transition: all 0.2s ease !important;
}

/* STRONG RED hover effect for Make a Submission */
.pkp_block.block_make_submission a:hover,
.block_make_submission .cmp_button:hover {
    background: #920000 !important;
    border-color: #920000 !important;
    color: #ffffff !important;
    font-weight: 900 !important;
    transform: scale(1.05) !important;
    box-shadow: 0 4px 8px rgba(146, 0, 0, 0.3) !important;
}

/* Galley download buttons - BLUE normally, RED strong hover */
.obj_galley_link,
.download_link,
.obj_issue_toc .galleys_links a,
a[href*="download"] {
    display: inline-block;
    padding: 0.35rem 0.9rem;
    border-radius: 4px;
    border: 1px solid #006798 !important;
    background: #e6e6e6 !important;
    color: #006798 !important;
    font-size: 0.8rem;
    font-weight: 700 !important;  /* Bold text */
    line-height: 1.2;
    text-decoration: none;
    transition: all 0.2s ease;
}

/* STRONG RED hover effect for download buttons */
.obj_galley_link:hover,
.download_link:hover,
.obj_issue_toc .galleys_links a:hover,
a[href*="download"]:hover {
    background: #920000 !important;
    border-color: #920000 !important;
    color: #ffffff !important;
    font-size: 0.9rem !important;
    font-weight: 900 !important;
    transform: scale(1.05);
}
.obj_issue_toc .published {
    display: none;
}

/* =========================
   FOOTER — CLEAN + SLIM
   ========================= */

/* Main footer container */
.pkp_structure_footer {
    background-color: #920000 !important;
    width: 100%;
    margin: 0;
    padding: 0;

    /* Flexible — but slim */
    height: auto !important;
    min-height: 70px !important;

    overflow: hidden;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Footer wrappers — remove white gaps */
.pkp_structure_footer_wrapper,
.pkp_site_footer {
    background: #920000 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Footer text block */
.pkp_structure_footer .pkp_footer_content {
    width: 100%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    color: #ffffff !important;
}

/* Smaller footer text */
.pkp_structure_footer .pkp_footer_content,
.pkp_structure_footer .pkp_footer_content p,
.pkp_structure_footer .pkp_footer_content a {
    font-size: 0.85rem !important;
    color: #ffffff !important;
}

/* Reduce internal spacing */
.pkp_structure_footer * {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Logo in footer — smaller */
.pkp_brand_footer img {
    max-height: 60px !important;
}

/* Remove extra page padding */
.pkp_structure_page {
    padding-bottom: 0 !important;
}

/* Match page background to footer so no white band */
body,
.pkp_site,
.pkp_structure_footer_wrapper,
.pkp_site_footer {
    background-color: #920000 !important;
}

/* Keep site content white */
.pkp_structure_main,
.pkp_structure_content,
.pkp_structure_page {
    background-color: #ffffff !important;
}

/* Let the page use more of a wide screen instead of sitting in a narrow
   fixed-width column with big empty margins on either side. */
html body .pkp_structure_page .pkp_structure_content.pkp_structure_content {
    max-width: 1600px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
}
html body .pkp_structure_page .pkp_structure_main.pkp_structure_main {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
}
html body .pkp_structure_page .pkp_structure_sidebar.pkp_structure_sidebar {
    flex: 0 0 320px !important;
    max-width: 320px !important;
    width: 320px !important;
}

/* On phones/narrow screens, stack instead of forcing the two-column row --
   sidebar moves below the main content and both take the full width,
   instead of squeezing into two cramped half-width columns. */
@media (max-width: 900px) {
    html body .pkp_structure_page .pkp_structure_content.pkp_structure_content {
        flex-direction: column !important;
    }
    html body .pkp_structure_page .pkp_structure_main.pkp_structure_main {
        width: 100% !important;
        flex-basis: auto !important;
    }
    html body .pkp_structure_page .pkp_structure_sidebar.pkp_structure_sidebar {
        flex: 1 1 auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}
html body .pkp_structure_content.pkp_structure_content,
html body .pkp_structure_main.pkp_structure_main,
html body .pkp_structure_sidebar.pkp_structure_sidebar {
    border: none !important;
    border-left: none !important;
    border-right: none !important;
    box-shadow: none !important;
    outline: none !important;
    column-rule: none !important;
}
/* Found via DevTools: a 0-width pseudo-element with a border is being used
   as a decorative divider line -- kill it outright rather than just its
   border, since border:none on the parent doesn't reach its own ::before. */
html body .pkp_structure_content.has_sidebar::before,
html body .pkp_structure_content.has_sidebar::after,
html body .pkp_structure_content::before,
html body .pkp_structure_content::after,
html body .pkp_structure_main::before,
html body .pkp_structure_main::after {
    display: none !important;
    content: none !important;
    border: none !important;
    width: 0 !important;
}
html body main,
html body .page_index_journal,
html body .sasbe2027-conf,
html body .sasbe2027-conf .container,
html body .sasbe2027-conf .layout,
html body .sasbe2027-conf main {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    column-rule: none !important;
}

/* Default (mobile) — centered, no shift */
.pkp_structure_footer .pkp_footer_content {
    text-align: center !important;
    position: relative;
    left: 0;
}

/* Desktop only — shift left 80px */
@media (min-width: 768px) {
    .pkp_structure_footer .pkp_footer_content {
        left: -150px;
    }
}






/* Hide only the About the Journal title on homepage */
.homepage_about h2 {
    display: none !important;
}


/* FORCE sidebar labels to be bold */
.obj_article_details .entry_details .label {
    font-size: 1rem;
    font-weight: 900 !important;   /* stronger + force it */
    color: #000;
    margin-bottom: 2px;
}


/* Smaller label text for Abstract + Keywords */
.obj_article_details .item.abstract .label,
.obj_article_details .item.keywords .label {
    font-size: 0.52em;
    font-weight: 550; /* adjust if you want lighter */
}

/* If you also want the content smaller */
.obj_article_details .item.abstract .value,
.obj_article_details .item.keywords .value {
    font-size: 0.95em;
    line-height: 1.4;
}


.corresponding-email {
    font-weight: normal !important;
}


/* Reduce vertical spacing in sidebar blocks */
.entry_details .item,
.entry_details .sub_item {
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
}

/* Reduce space under labels */
.entry_details .item .label,
.entry_details .sub_item .label {
    margin-bottom: 0.1rem !important;
}

/* Compact value text */
.entry_details .item .value,
.entry_details .sub_item .value {
    margin-top: 0;
}


/* Reduce size of sidebar labels (Published, Issue, Section, License, etc.) */
.entry_details .item .label,
.entry_details .sub_item .label {
    font-size: 0.3rem;
    font-weight: 350;
    line-height: 1;
    margin-bottom: 0.25rem;
}

/* Optional: reduce spacing between label + value */
.entry_details .item .value,
.entry_details .sub_item .value {
    font-size: 0.9rem;
}


/* Meta bar layout */
.article-meta-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    margin: 0.5rem 0 1rem;
}

/* Meta boxes - BLUE */
.article-meta-pill {
    display: inline-block;
    padding: 0.35rem 0.9rem;
    border-radius: 4px;
    border: 1px solid #006798;
    background: #e6e6e6;
    color: #006798;
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1.2;
}

/* Optional: subtle hover */
.article-meta-pill:hover {
    background: #dadada;
}


/* Smaller article title */
h1.page_title {
    font-size: 1.6rem;   /* try 1.4–1.8 until you like it */
    line-height: 1.25;
    margin-bottom: 0.25rem;
}



.title {
    font-size: 16px !important; /* Adjust this value as needed */
}

.custom_block {
  background: #f7f7f7;
  padding: 15px;
  border: 1px solid #ddd;
  margin-bottom: 1em;
  border-radius: 4px;
}

.block-title {
  font-weight: bold;
  margin-bottom: 10px;
}

.block-content {
  list-style-type: none;
  padding-left: 0;
}

.block-content li {
  margin-bottom: 5px;
}

.block-content li a {
  text-decoration: none;
  color: #333;
}

.block-content li a:hover {
  text-decoration: underline;
}



.submission-checklist {
    font-family: inherit; /* Inherits from the website's body font */
    font-size: inherit; /* Ensures consistency in size */
    color: inherit; /* Matches the website's text color */
}



.side-menu {
    padding-left: 0;   /* Removes internal padding */
    margin-left: 0;    /* Removes external margin */
    text-align: left;  /* Ensures text is left-aligned */
}


.side-menu li a {
    display: block;
    padding: 10px;    /* Adjusts internal link padding */
    text-decoration: none;
}



.side-menu {
    display: block;
    list-style-type: none;
    padding: 0;
    margin: 0;
    white-space: normal;
}




.image-right {
    float: right;
    margin: 0 0 10px 15px;
}


.pkp_site_name_wrapper {
    display: block;
    width: 100% !important;
}

.header-logo img {
    padding: 0 !important;
    margin: 0 !important;
}



h2 {
    font-size: 16px !important;
}

h1 {
    font-size: 28px !important;
}
h2 {
    font-size: 16px !important;
}



body {
    font-family: 'Roboto', sans-serif;
}
body {
    font-size: 17px !important;
}
/* Style for the journal name */
.pkp_structure_head h1 {
    font-size: 32px !important;  /* Adjust to your desired size */
    font-family: 'Roboto', serif !important;
}

/* Style for the menu items – smaller */
.pkp_structure_head nav a {
    font-size: 16px !important;
    font-family: 'Roboto', serif !important;
}

/* =============================================================================
   SITE-LEVEL HEADER BANNER
   Applies to every page (not just the homepage).

   REQUIRED: upload site-banner.jpg to
   public/site/images/sasbe2027/site-banner.jpg
   (same folder as the other 4 conference images, same filename as before --
   this replaces it with the shorter v2 banner). Update the url() below if
   you used a different path.
   ============================================================================= */

.pkp_head_wrapper {
  padding: 0 !important;
  padding-top: 15.8333% !important; /* banner's own height, based on width */
  margin: 0 !important;
  border: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  position: relative !important;
  background-color: #142352 !important;
}

/* The banner image lives on a ::before layer, absolutely positioned over
   that reserved padding area -- so it can never push the real nav menu out
   of view, however tall that menu is. */
.pkp_head_wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  padding-top: 15.8333%;
  display: block;
  background-color: #142352;
  background-image: url('/public/site/images/sasbe2027/site-banner.jpg?v=12');
  background-size: 100% auto;
  background-position: center top;
  background-repeat: no-repeat;
  z-index: 1;
}

/* Logged-in account menu now lives in the sidebar instead (see block.tpl) --
   hide the header's copy entirely rather than showing it twice. */
#navigationUserWrapper {
  display: none !important;
}

/* The plain "Make a Submission" block (separate from block.tpl, its own
   file) is replaced by the styled red/navy buttons now living at the top
   of block.tpl -- hidden here since that's the only file we can touch. */
.pkp_block.block_make_submission {
  display: none !important;
}

/* Style the sidebar copy of the login/account menu (added in block.tpl) to
   look like a button, matching the "Make a Submission" block above it. */
.sasbe2027-sidebar-user-menu {
  margin: 0 0 16px;
}

/* Pull it up snug against "Make a Submission" -- zero out both blocks'
   own margin/padding on the touching edges (top-level block, and its
   .content wrapper, since spacing can live on either). */
.pkp_block.block_make_submission {
  margin: 0 !important;
  padding-bottom: 0 !important;
}
.pkp_block.block_make_submission .content {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.pkp_block.block_information {
  margin: 0 !important;
  padding-top: 0 !important;
}
.sasbe2027-sidebar-user-menu {
  margin: 8px 0 !important;
  padding: 0 !important;
}
.sasbe2027-user-nav-wrapper ul.sasbe2027-user-nav {
  list-style: none;
  margin: 0;
  padding: 0;
}
.sasbe2027-user-nav-wrapper ul.sasbe2027-user-nav li {
  margin: 0 0 8px;
  padding: 0;
}
.sasbe2027-user-nav-wrapper ul.sasbe2027-user-nav a {
  display: block;
  text-align: center;
  background: #e6e6e6;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 10px 14px;
  color: #1a2e6e;
  font-weight: 600;
  text-decoration: none;
}
.sasbe2027-user-nav-wrapper ul.sasbe2027-user-nav a:hover {
  background: #d8d8d8;
}

/* =============================================================================
   CONFERENCE SIDEBAR CARDS -- for use in block.tpl
   Same look as the buttons/cards that used to live inside the conference
   page's own layout, recreated here as real sidebar content so they sit
   beside the main content reliably (using OJS's own proven sidebar, not a
   width-dependent grid).
   ============================================================================= */
.sasbe2027-block-card {
  background: #fff;
  border: 1px solid #e2e6ec;
  border-radius: 10px;
  padding: 16px;
  margin-bottom: 16px;
}
.sasbe2027-block-card h3 {
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a2e6e;
  margin: 0 0 12px;
}
.sasbe2027-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px 16px;
  font-weight: 700;
  font-size: 0.95rem;
  border-radius: 10px;
  border: none;
  color: #fff;
  text-decoration: none;
  box-sizing: border-box;
  margin-bottom: 14px;
}
.sasbe2027-cta:last-child { margin-bottom: 0; }
.sasbe2027-cta:hover { opacity: 0.9; }
.sasbe2027-cta-red { background: #8b0000; }
.sasbe2027-cta-navy { background: #1a2e6e; }

.sasbe2027-info-links {
  list-style: none;
  margin: 0;
  padding: 0;
}
.sasbe2027-info-links li { padding: 6px 0; }
.sasbe2027-info-links a {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.88rem;
  color: #6b7280;
  text-decoration: none;
}
.sasbe2027-info-links a:hover { color: #f97316; }

.sasbe2027-key-date {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}
.sasbe2027-key-date .kd-icon {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background: rgba(249,115,22,.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.9rem;
}
.sasbe2027-key-date .kd-date {
  font-size: 0.88rem;
  font-weight: 600;
  color: #1a2e6e;
  line-height: 1.3;
}
.sasbe2027-key-date .kd-label { font-size: 0.75rem; color: #6b7280; }
.sasbe2027-key-date-more {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.88rem;
  font-weight: 600;
  color: #8b0000;
  text-decoration: none;
  margin-top: 4px;
}

.sasbe2027-glance-card {
  background: linear-gradient(to bottom right, #1a2e6e, #2a4494);
  border-radius: 10px;
  padding: 16px;
  color: #fff;
  margin-bottom: 16px;
}
.sasbe2027-glance-card h3 {
  font-size: 0.95rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 12px;
}
.sasbe2027-glance-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}
.sasbe2027-glance-row .g-icon { color: #f97316; font-size: 1.1rem; margin-top: 2px; flex-shrink: 0; }
.sasbe2027-glance-row .g-title { font-size: 0.88rem; font-weight: 600; line-height: 1.3; }
.sasbe2027-glance-row .g-sub { font-size: 0.75rem; color: rgba(255,255,255,.7); }
.sasbe2027-glance-btn {
  display: block;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  margin-top: 8px;
  padding: 8px 16px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 6px;
  color: #fff;
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
}
.sasbe2027-glance-btn:hover { background: rgba(255,255,255,.2); }

.pkp_site_name,
.pkp_site_name_wrapper {
  background: transparent !important;
  width: 100% !important;
  height: 100% !important;
}

/* Close any gap between the bottom of the banner and the menu bar below it
   -- .pkp_site_name_wrapper sits between them in the markup, so if it has
   any residual height/padding of its own, it shows up as a visible seam. */
.pkp_site_name_wrapper {
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
}
.pkp_site_nav_toggle {
  display: none !important;
}

/* Hide the plain text site name AND the old logo image -- the banner
   above is a CSS background now, so both would just be redundant/invisible
   duplicates sitting on top of it. */
.pkp_structure_head h1,
.pkp_head_wrapper .pkp_site_name_text,
.pkp_site_name .pkp_site_name_text,
.pkp_site_name a.is_text,
.pkp_site_name .is_img img,
.header-logo img {
  display: none !important;
}

/* Recolour every header/nav wrapper to navy so nothing red shows around
   or below the banner. */
.pkp_structure_head,
.pkp_site_nav_menu,
.pkp_navigation_primary_row {
  background-color: #142352 !important;
}

.pkp_structure_head {
  padding: 0 !important;
  margin: 0 !important;
}

.pkp_site_nav_menu {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* THE ACTUAL FIX: the real markup is
   .pkp_navigation_primary_row > .pkp_navigation_primary_wrapper > (ul#navigationPrimary, .pkp_navigation_search_wrapper)
   -- .pkp_navigation_primary_wrapper is the piece that was centering things;
   my earlier attempts never targeted it directly, which is why nothing
   changed. Confirmed from the page's real HTML this time, not a guess. */
.pkp_navigation_primary_row {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
}

.pkp_navigation_primary_wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 24px !important;
}

#navigationPrimary.pkp_navigation_primary {
  display: flex !important;
  justify-content: space-between !important;
  flex: 1 1 auto !important;
  list-style: none !important;
  margin: 0 24px 0 0 !important;
  padding: 0 !important;
}

#navigationPrimary.pkp_navigation_primary > li {
  margin: 0 !important;
  padding: 0 !important;
}

#navigationPrimary.pkp_navigation_primary > li > a {
  display: inline-block !important;
  padding: 6px 14px !important;
  margin: 0 !important;
}

.pkp_navigation_search_wrapper {
  margin: 0 0 0 8px !important;
  padding: 0 !important;
}

.pkp_navigation_search_wrapper .pkp_search {
  display: inline-flex !important;
  align-items: center !important;
  padding: 6px 14px !important;
}

@media (max-width: 767px) {
  .pkp_structure_head,
  .pkp_site_nav_menu,
  .pkp_navigation_primary_row {
    background-color: #142352 !important;
  }
}

/* =============================================================================
   FOOTER COLOUR
   Overrides the dark-red footer (#920000) from the base stylesheet to match
   the navy used everywhere else now (banner, nav, sidebar).
   ============================================================================= */
.pkp_structure_footer,
.pkp_structure_footer_wrapper,
.pkp_site_footer,
body,
.pkp_site {
  background-color: #142352 !important;
}

/* =============================================================================
   SASBE 2027 | DFBI 2027 | BDT 2027 conference page styles
   Scoped under .sasbe2027-conf so nothing here affects the rest of the site.
   Appended below the journal's existing styles.
   ============================================================================= */

/* Optional, low-risk sitewide anchor smooth-scroll (safe to remove). */
html { scroll-behavior: smooth; }

/* ===== RESET & BASE ===== */
.sasbe2027-conf *,
.sasbe2027-conf *::before,
.sasbe2027-conf *::after {
  box-sizing:border-box;margin:0;padding:0
}
.sasbe2027-conf {
  --navy:#1a2e6e;--navy-dark:#142352;--navy-deep:#0e1836;
  --orange:#f97316;--dark-red:#8b0000;--green:#5a9e3a;
  --page-bg:#eef1f5;--surface:#fff;--fg:#0f1b3d;
  --muted-fg:#6b7280;--border:#e2e6ec;--muted:#f4f6f9;
  --radius:10px;--radius-lg:14px;--radius-sm:6px;
  --shadow-sm:0 1px 2px 0 rgb(0 0 0/.03),0 1px 3px 0 rgb(0 0 0/.06);
  --shadow-md:0 4px 6px -1px rgb(0 0 0/.05),0 2px 4px -2px rgb(0 0 0/.05);
  --container:1360px;
  --font-sans:"DM Sans",system-ui,sans-serif;
  --font-display:"Plus Jakarta Sans",var(--font-sans);
  --font-mono:"JetBrains Mono",ui-monospace,monospace;
}
.sasbe2027-conf {
  font-family:var(--font-sans);background:var(--page-bg);color:var(--fg);line-height:1.6;-webkit-font-smoothing:antialiased
}
.sasbe2027-conf a {
  color:var(--navy);text-decoration:none;transition:color .15s
}
.sasbe2027-conf a:hover {
  color:var(--orange)
}
.sasbe2027-conf h1,
.sasbe2027-conf h2,
.sasbe2027-conf h3,
.sasbe2027-conf h4 {
  font-family:var(--font-display);font-weight:700;line-height:1.2;letter-spacing:-.01em;color:var(--navy);margin:0
}
.sasbe2027-conf img {
  display:block;max-width:100%;height:auto
}
.sasbe2027-conf ::selection {
  background:rgba(26,46,110,.2);color:var(--navy)
}
/* ===== CONTAINER ===== */
.sasbe2027-conf .container {
  max-width:var(--container);margin:0 auto;padding:0 24px
}
/* ===== HERO BANNER IMAGE ===== */
.sasbe2027-conf .hero-banner {
  position:relative;width:100%;height:260px;overflow:hidden
}
.sasbe2027-conf .hero-banner img {
  width:100%;height:100%;object-fit:cover
}
.sasbe2027-conf .hero-banner .overlay {
  position:absolute;inset:0;background:linear-gradient(to bottom,rgba(26,46,110,.6),rgba(26,46,110,.4),rgba(26,46,110,.7))
}
.sasbe2027-conf .hero-banner .content {
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 16px;z-index:2
}
.sasbe2027-conf .hero-banner h1 {
  font-family:var(--font-display);font-weight:800;font-size:2.2rem;letter-spacing:-.02em;text-shadow:0 2px 8px rgba(0,0,0,.3)
}
.sasbe2027-conf .hero-banner h1 .sep {
  color:var(--orange)
}
.sasbe2027-conf .hero-banner .sub {
  font-size:1rem;color:rgba(255,255,255,.85);margin-top:6px;font-weight:500
}
.sasbe2027-conf .hero-banner .sub2 {
  font-size:.85rem;color:rgba(255,255,255,.7);margin-top:4px
}
/* ===== STICKY HEADER ===== */
.sasbe2027-conf .sticky-header {
  position:sticky;top:0;z-index:50;box-shadow:var(--shadow-md)
}
.sasbe2027-conf .header-top {
  background:var(--navy);color:#fff
}
.sasbe2027-conf .header-top-inner {
  max-width:var(--container);margin:0 auto;padding:10px 24px;display:flex;align-items:center;gap:16px
}
.sasbe2027-conf .logos {
  display:flex;align-items:center;gap:8px;flex-shrink:0
}
.sasbe2027-conf .logo-box {
  height:44px;background:#fff;border-radius:var(--radius-sm);display:flex;align-items:center;overflow:hidden
}
.sasbe2027-conf .logo-box.square {
  width:44px;padding:2px
}
.sasbe2027-conf .logo-box.wide-dfbi {
  width:122px;padding:4px
}
.sasbe2027-conf .logo-box.wide-bdta {
  width:128px;padding:4px
}
.sasbe2027-conf .logo-box img {
  height:100%;width:100%;object-fit:contain
}
.sasbe2027-conf .header-title {
  font-family:var(--font-display);font-weight:700;font-size:1rem;color:#fff
}
.sasbe2027-conf .header-tagline {
  font-size:.72rem;color:rgba(255,255,255,.7);font-style:italic
}
/* Nav row */
.sasbe2027-conf .nav-row {
  background:var(--navy-dark);border-top:1px solid rgba(255,255,255,.1)
}
.sasbe2027-conf .nav-row-inner {
  max-width:var(--container);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;overflow-x:auto;scrollbar-width:none
}
.sasbe2027-conf .nav-row-inner::-webkit-scrollbar {
  display:none
}
.sasbe2027-conf .nav-row a {
  color:rgba(255,255,255,.85);font-size:.85rem;font-weight:500;padding:12px 14px;display:inline-block;white-space:nowrap;transition:background .15s,color .15s
}
.sasbe2027-conf .nav-row a:hover {
  background:rgba(255,255,255,.08);color:#fff
}
/* ===== LAYOUT =====
   The sidebar that used to live in this grid moved to block.tpl (the real
   OJS sidebar) instead, so this is just single-column main content now --
   no more container-query juggling needed. */
.sasbe2027-conf {
  container-type: inline-size;
}
.sasbe2027-conf .layout {
  display:block;padding-top:32px;padding-bottom:48px
}
/* ===== SECTION CARD ===== */
.sasbe2027-conf .section-card {
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:32px;margin-bottom:32px;scroll-margin-top:150px
}
.sasbe2027-conf .section-label {
  font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px
}
.sasbe2027-conf .section-title {
  font-size:1.6rem;margin-bottom:20px
}
.sasbe2027-conf .section-subtitle {
  color:var(--muted-fg);margin-top:-12px;margin-bottom:20px;font-size:.94rem;line-height:1.6
}
/* ===== INTRO ===== */
.sasbe2027-conf .intro-image {
  float:right;margin:0 0 20px 24px;width:280px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);position:relative;aspect-ratio:4/3
}
.sasbe2027-conf .intro-image img {
  width:100%;height:100%;object-fit:cover
}
.sasbe2027-conf .intro-image .img-overlay {
  position:absolute;inset:0;background:linear-gradient(to top,rgba(26,46,110,.7),transparent)
}
.sasbe2027-conf .intro-image .img-text {
  position:absolute;bottom:8px;left:12px;right:12px;color:#fff
}
.sasbe2027-conf .intro-image .img-text p {
  margin:0
}
.sasbe2027-conf .intro-text {
  font-size:.94rem;color:#374151;line-height:1.7
}
.sasbe2027-conf .intro-text p {
  margin-bottom:16px
}
.sasbe2027-conf .intro-text strong {
  color:var(--navy)
}
.sasbe2027-conf .clearfix::after {
  content:"";display:table;clear:both
}
/* Event cards row */
.sasbe2027-conf .event-cards {
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px
}
.sasbe2027-conf .event-card {
  border-radius:var(--radius);border:1px solid #f3f4f6;padding:16px;transition:box-shadow .2s;border-top:3px solid
}
.sasbe2027-conf .event-card:hover {
  box-shadow:var(--shadow-md)
}
.sasbe2027-conf .event-card .icon-box {
  width:40px;height:40px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:10px;font-size:1.2rem
}
.sasbe2027-conf .event-card h3 {
  font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--navy)
}
.sasbe2027-conf .event-card p {
  font-size:.75rem;color:var(--muted-fg);margin-top:4px;line-height:1.4
}
/* ===== SPEAKERS ===== */
.sasbe2027-conf .speakers-grid {
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px
}
.sasbe2027-conf .speaker {
  display:flex;align-items:flex-start;gap:16px;border-radius:var(--radius);border:1px solid #f3f4f6;padding:16px;transition:all .2s
}
.sasbe2027-conf .speaker:hover {
  box-shadow:var(--shadow-md);border-color:#e5e7eb
}
.sasbe2027-conf .speaker .avatar {
  width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-size:1.1rem;font-weight:700;flex-shrink:0
}
.sasbe2027-conf .speaker h3 {
  font-family:var(--font-display);font-size:.94rem;font-weight:600;color:var(--navy);line-height:1.3
}
.sasbe2027-conf .speaker .inst {
  font-size:.75rem;color:var(--muted-fg);margin-top:2px
}
.sasbe2027-conf .speaker .topic {
  font-size:.88rem;color:#374151;margin-top:6px;font-weight:500
}
/* ===== IMPORTANT DATES ===== */
.sasbe2027-conf .dates-list {
  position:relative
}
.sasbe2027-conf .dates-list .line {
  position:absolute;left:24px;top:8px;bottom:8px;width:2px;background:rgba(26,46,110,.1)
}
.sasbe2027-conf .date-item {
  display:flex;align-items:center;gap:16px;margin-bottom:16px
}
.sasbe2027-conf .date-item .icon {
  width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1;font-size:1.2rem
}
.sasbe2027-conf .date-item .info {
  flex:1;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;border-bottom:1px solid #f3f4f6;padding-bottom:12px
}
.sasbe2027-conf .date-item .info .d {
  font-family:var(--font-display);font-weight:700;color:var(--navy);font-size:.94rem
}
.sasbe2027-conf .date-item .info .l {
  font-size:.88rem;color:var(--muted-fg)
}
/* ===== PAPER SUBMISSION ===== */
.sasbe2027-conf .topics-grid {
  display:grid;grid-template-columns:repeat(2,1fr);gap:8px 24px;margin-bottom:24px
}
.sasbe2027-conf .topic-item {
  display:flex;align-items:flex-start;gap:8px;font-size:.88rem;color:#374151
}
.sasbe2027-conf .topic-item .check {
  color:var(--green);flex-shrink:0;margin-top:2px
}
.sasbe2027-conf .guidelines li {
  display:flex;align-items:flex-start;gap:8px;font-size:.88rem;color:#374151;margin-bottom:10px
}
.sasbe2027-conf .guidelines .dot {
  width:6px;height:6px;border-radius:50%;background:var(--orange);flex-shrink:0;margin-top:6px
}
.sasbe2027-conf .btn {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans);font-weight:600;font-size:.9rem;padding:12px 24px;border:none;border-radius:var(--radius);cursor:pointer;transition:all .15s
}
.sasbe2027-conf .btn:active {
  transform:scale(.97)
}
.sasbe2027-conf .btn-red {
  background:var(--dark-red);color:#fff
}
.sasbe2027-conf .btn-red:hover {
  background:#6f0000
}
.sasbe2027-conf .btn-outline {
  background:transparent;border:2px solid var(--navy);color:var(--navy)
}
.sasbe2027-conf .btn-outline:hover {
  background:rgba(26,46,110,.05)
}
.sasbe2027-conf .btn-navy {
  background:var(--navy);color:#fff
}
.sasbe2027-conf .btn-navy:hover {
  background:var(--navy-dark)
}
.sasbe2027-conf .btn-orange {
  background:var(--orange);color:#fff
}
.sasbe2027-conf .btn-orange:hover {
  background:#ea6a09
}
.sasbe2027-conf .btn-group {
  display:flex;flex-wrap:wrap;gap:12px
}
/* ===== REGISTRATION ===== */
.sasbe2027-conf .reg-grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px
}
.sasbe2027-conf .reg-card {
  border-radius:var(--radius-lg);padding:20px;border:1px solid var(--border);transition:all .2s;position:relative
}
.sasbe2027-conf .reg-card:hover {
  box-shadow:var(--shadow-md)
}
.sasbe2027-conf .reg-card.popular {
  border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)
}
.sasbe2027-conf .reg-card .badge {
  position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;font-size:.62rem;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap
}
.sasbe2027-conf .reg-card .icon-box {
  width:40px;height:40px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:12px;font-size:1.1rem
}
.sasbe2027-conf .reg-card h3 {
  font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:4px
}
.sasbe2027-conf .reg-card .price {
  font-size:1.5rem;font-weight:700
}
.sasbe2027-conf .reg-card .price-note {
  font-size:.75rem;color:var(--muted-fg)
}
.sasbe2027-conf .reg-card .late {
  font-size:.75rem;color:#9ca3af;margin-top:2px
}
.sasbe2027-conf .reg-card ul {
  list-style:none;padding:0;margin:12px 0 16px
}
.sasbe2027-conf .reg-card li {
  display:flex;align-items:flex-start;gap:8px;font-size:.75rem;color:#374151;margin-bottom:6px
}
.sasbe2027-conf .reg-card li .dot {
  width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:4px
}
.sasbe2027-conf .reg-card .reg-btn {
  width:100%;padding:10px;border-radius:var(--radius);font-weight:600;color:#fff;font-size:.88rem;border:none;cursor:pointer;transition:opacity .15s
}
.sasbe2027-conf .reg-card .reg-btn:hover {
  opacity:.9
}
.sasbe2027-conf .extra-grid {
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px
}
.sasbe2027-conf .extra-card {
  border-radius:var(--radius-lg);padding:20px;border:1px solid var(--border);transition:all .2s
}
.sasbe2027-conf .extra-card:hover {
  box-shadow:var(--shadow-md)
}
.sasbe2027-conf .extra-card .row {
  display:flex;align-items:flex-start;gap:12px
}
.sasbe2027-conf .gala-banner {
  background:linear-gradient(to right,var(--navy),#2a4494);border-radius:var(--radius-lg);padding:20px;color:#fff;display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px
}
.sasbe2027-conf .gala-banner .gala-icon {
  width:48px;height:48px;background:rgba(255,255,255,.15);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0
}
.sasbe2027-conf .gala-banner .gala-body {
  flex:1;min-width:200px
}
.sasbe2027-conf .gala-banner h3 {
  font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:4px
}
.sasbe2027-conf .gala-banner p {
  color:rgba(255,255,255,.8);font-size:.88rem;line-height:1.5
}
.sasbe2027-conf .gala-banner strong {
  color:var(--orange)
}
.sasbe2027-conf .info-note {
  display:flex;align-items:flex-start;gap:12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius);padding:16px
}
.sasbe2027-conf .info-note p {
  font-size:.88rem;color:#374151
}
.sasbe2027-conf .info-note strong {
  color:var(--navy)
}
/* ===== PUBLICATIONS ===== */
.sasbe2027-conf .pub-item {
  display:flex;align-items:flex-start;gap:16px;border-radius:var(--radius);border:1px solid #f3f4f6;padding:16px;margin-bottom:16px
}
.sasbe2027-conf .pub-item .pub-icon {
  width:44px;height:44px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem
}
.sasbe2027-conf .pub-item h3 {
  font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--navy);margin-bottom:4px
}
.sasbe2027-conf .pub-item p {
  font-size:.88rem;color:var(--muted-fg);line-height:1.5
}
/* ===== AGENDA ===== */
.sasbe2027-conf .agenda-grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px
}
.sasbe2027-conf .day-col {
  border-radius:var(--radius);border:1px solid #f3f4f6;overflow:hidden
}
.sasbe2027-conf .day-col .day-header {
  padding:12px 16px
}
.sasbe2027-conf .day-col .day-header h3 {
  color:#fff;font-size:1rem
}
.sasbe2027-conf .day-col .day-header p {
  color:rgba(255,255,255,.8);font-size:.75rem;margin-top:2px
}
.sasbe2027-conf .day-col .events {
  padding:12px
}
.sasbe2027-conf .day-col .evt {
  padding:8px 0;border-bottom:1px solid #f3f4f6
}
.sasbe2027-conf .day-col .evt:last-child {
  border-bottom:none
}
.sasbe2027-conf .day-col .evt .time {
  font-family:var(--font-mono);font-size:.69rem;color:#9ca3af
}
.sasbe2027-conf .day-col .evt .evtitle {
  font-size:.75rem;color:#374151;font-weight:500;margin-top:2px
}
/* ===== EVENT PROGRAM ===== */
.sasbe2027-conf .day-tabs {
  display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap
}
.sasbe2027-conf .day-tab {
  padding:8px 16px;border-radius:var(--radius);font-size:.88rem;font-weight:600;border:none;cursor:pointer;transition:all .15s
}
.sasbe2027-conf .day-tab.active {
  background:var(--navy);color:#fff;box-shadow:var(--shadow-sm)
}
.sasbe2027-conf .day-tab:not(.active) {
  background:#f3f4f6;color:var(--muted-fg)
}
.sasbe2027-conf .day-tab:not(.active):hover {
  background:#e5e7eb
}
.sasbe2027-conf .program-session {
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;border-radius:var(--radius);border:1px solid #f3f4f6;padding:12px 16px;margin-bottom:8px;transition:box-shadow .15s
}
.sasbe2027-conf .program-session:hover {
  box-shadow:var(--shadow-sm)
}
.sasbe2027-conf .program-session .sess-time {
  font-family:var(--font-mono);font-size:.75rem;color:#9ca3af;width:100px;flex-shrink:0
}
.sasbe2027-conf .program-session .sess-title {
  flex:1;font-size:.88rem;font-weight:500;color:#1f2937
}
.sasbe2027-conf .program-session .sess-meta {
  display:flex;align-items:center;gap:12px
}
.sasbe2027-conf .program-session .sess-room {
  font-size:.75rem;color:#9ca3af
}
.sasbe2027-conf .program-session .track-badge {
  font-size:.62rem;font-weight:700;padding:2px 8px;border-radius:999px;color:#fff
}
/* ===== VENUE ===== */
.sasbe2027-conf .venue-map {
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);background:#e5e7eb;height:300px;margin:20px 0
}
.sasbe2027-conf .venue-map iframe {
  width:100%;height:100%;border:0
}
.sasbe2027-conf .travel-grid {
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px
}
.sasbe2027-conf .travel-card {
  display:flex;align-items:flex-start;gap:12px;border-radius:var(--radius);border:1px solid #f3f4f6;padding:16px
}
.sasbe2027-conf .travel-card .t-title {
  font-size:.88rem;font-weight:600;color:#1f2937
}
.sasbe2027-conf .travel-card p {
  font-size:.88rem;color:var(--muted-fg);margin-top:2px
}
/* ===== SPONSORS ===== */
.sasbe2027-conf .sponsor-grid {
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px
}
.sasbe2027-conf .sponsor-slot {
  height:80px;background:#fff;border-radius:var(--radius);border:2px dashed #e5e7eb;display:flex;align-items:center;justify-content:center;color:#d1d5db;font-family:var(--font-display);font-weight:600;font-size:.75rem;transition:border-color .2s
}
.sasbe2027-conf .sponsor-slot:hover {
  border-color:rgba(26,46,110,.3)
}
.sasbe2027-conf .org-grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px
}
.sasbe2027-conf .org-slot {
  height:70px;background:#fff;border-radius:var(--radius);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:#d1d5db;font-family:var(--font-display);font-size:.75rem
}
/* ===== SIDEBAR ===== */
.sasbe2027-conf .sidebar-card {
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px;margin-bottom:20px
}
.sasbe2027-conf .sidebar-card h3 {
  font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:12px
}
.sasbe2027-conf .sidebar-cta {
  width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-weight:600;border-radius:var(--radius);border:none;cursor:pointer;font-size:.88rem;color:#fff;transition:all .15s;margin-bottom:10px
}
.sasbe2027-conf .sidebar-cta:last-child {
  margin-bottom:0
}
.sasbe2027-conf .sidebar-cta:hover {
  opacity:.9
}
.sasbe2027-conf .info-links {
  list-style:none;padding:0
}
.sasbe2027-conf .info-links li {
  padding:6px 0
}
.sasbe2027-conf .info-links a {
  display:flex;align-items:center;gap:10px;font-size:.88rem;color:var(--muted-fg);transition:color .15s
}
.sasbe2027-conf .info-links a:hover {
  color:var(--orange)
}
.sasbe2027-conf .key-date-item {
  display:flex;align-items:flex-start;gap:12px;margin-bottom:12px
}
.sasbe2027-conf .key-date-item .kd-icon {
  width:32px;height:32px;border-radius:var(--radius-sm);background:rgba(249,115,22,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.9rem
}
.sasbe2027-conf .key-date-item .kd-date {
  font-size:.88rem;font-weight:600;color:var(--navy);line-height:1.3
}
.sasbe2027-conf .key-date-item .kd-label {
  font-size:.75rem;color:var(--muted-fg)
}
.sasbe2027-conf .glance-card {
  background:linear-gradient(to bottom right,var(--navy),#2a4494);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px;color:#fff
}
.sasbe2027-conf .glance-card h3 {
  font-family:var(--font-display);font-size:.95rem;font-weight:700;color:#fff;margin-bottom:12px
}
.sasbe2027-conf .glance-row {
  display:flex;align-items:flex-start;gap:12px;margin-bottom:12px
}
.sasbe2027-conf .glance-row .g-icon {
  color:var(--orange);font-size:1.1rem;margin-top:2px;flex-shrink:0
}
.sasbe2027-conf .glance-row .g-title {
  font-size:.88rem;font-weight:600;line-height:1.3
}
.sasbe2027-conf .glance-row .g-sub {
  font-size:.75rem;color:rgba(255,255,255,.7)
}
.sasbe2027-conf .glance-btn {
  width:100%;margin-top:16px;padding:8px 16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius);color:#fff;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s
}
.sasbe2027-conf .glance-btn:hover {
  background:rgba(255,255,255,.2)
}
/* ===== FOOTER ===== */
.sasbe2027-conf .site-footer {
  background:var(--navy);color:#fff;padding:64px 0 24px
}
.sasbe2027-conf .footer-grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:48px
}
.sasbe2027-conf .footer-logos {
  display:flex;align-items:center;gap:12px;margin-bottom:16px
}
.sasbe2027-conf .footer-logo {
  background:#fff;border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center;box-shadow:0 1px 3px rgba(0,0,0,.25)
}
.sasbe2027-conf .footer-logo.sq {
  width:48px;height:48px;padding:5px
}
.sasbe2027-conf .footer-logo.wide {
  width:60px;height:40px;padding:5px
}
.sasbe2027-conf .footer-logo img {
  width:100%;height:100%;object-fit:contain
}
.sasbe2027-conf .footer-text {
  color:rgba(255,255,255,.7);font-size:.88rem;line-height:1.6
}
.sasbe2027-conf .footer-heading {
  font-family:var(--font-display);font-weight:600;margin-bottom:16px
}
.sasbe2027-conf .footer-links {
  list-style:none;padding:0
}
.sasbe2027-conf .footer-links li {
  margin-bottom:8px
}
.sasbe2027-conf .footer-links a {
  color:rgba(255,255,255,.7);font-size:.88rem;transition:color .15s
}
.sasbe2027-conf .footer-links a:hover {
  color:var(--orange)
}
.sasbe2027-conf .contact-item {
  display:flex;align-items:flex-start;gap:8px;font-size:.88rem;color:rgba(255,255,255,.7);margin-bottom:12px
}
.sasbe2027-conf .contact-item .ci {
  color:var(--orange);flex-shrink:0;margin-top:2px
}
.sasbe2027-conf .footer-bottom {
  border-top:1px solid rgba(255,255,255,.1);padding-top:24px;text-align:center;font-size:.8rem;color:rgba(255,255,255,.5)
}
/* ===== RESPONSIVE ===== */
@container (max-width:767px) {
  .sasbe2027-conf .hero-banner {  
    height:180px
  }
  .sasbe2027-conf .hero-banner h1 {  
    font-size:1.4rem
  }
  .sasbe2027-conf .logo-box.wide-dfbi,
  .sasbe2027-conf .logo-box.wide-bdta {  
    display:none
  }
  .sasbe2027-conf .event-cards {  
    grid-template-columns:1fr
  }
  .sasbe2027-conf .speakers-grid {  
    grid-template-columns:1fr
  }
  .sasbe2027-conf .agenda-grid {  
    grid-template-columns:1fr
  }
  .sasbe2027-conf .reg-grid {  
    grid-template-columns:1fr
  }
  .sasbe2027-conf .extra-grid {  
    grid-template-columns:1fr
  }
  .sasbe2027-conf .sponsor-grid {  
    grid-template-columns:repeat(2,1fr)
  }
  .sasbe2027-conf .org-grid {  
    grid-template-columns:1fr
  }
  .sasbe2027-conf .travel-grid {  
    grid-template-columns:1fr
  }
  .sasbe2027-conf .footer-grid {  
    grid-template-columns:1fr
  }
  .sasbe2027-conf .topics-grid {  
    grid-template-columns:1fr
  }
  .sasbe2027-conf .intro-image {  
    float:none;width:100%;margin:0 0 20px 0
  }
  .sasbe2027-conf .gala-banner {  
    flex-direction:column;align-items:flex-start
  }
  .sasbe2027-conf .section-card {  
    padding:20px
  }
}

/* =============================================================================
   SLIGHTLY LARGER OVERALL SCALE
   Bumps text and spacing up modestly across the conference content and the
   sidebar cards, without touching the width/layout fixes above (so this
   can't reintroduce the earlier overflow issue). zoom scales everything
   inside proportionally -- text, icons, padding, images -- as if the
   browser zoomed in slightly on just this content.
   ============================================================================= */
.sasbe2027-conf {
  zoom: 1.08;
}
.pkp_block.block_information,
.pkp_block.block_make_submission {
  zoom: 1.08;
}
