/* Derasatek Global Burgundy Identity v2.0.0
 * Scope: public pages only (body.drw-site); no database or DOM structure replacement.
 * Preserve forms, table navigation, carts, links, menu functionality and accessible focus.
 */
body.drw-site {
  --drw-wine: #70263f;
  --drw-deep: #491727;
  --drw-rose: #a85f79;
  --drw-bg: #fbf8f8;
  --drw-blush: #f7edf0;
  --drw-soft: #efdee5;
  --drw-border: #e8d6dc;
  --drw-ink: #35232b;
  --drw-space: 27px;
  --drw-banner-height: 76px;
  --drw-banner-pad: 17px;
  background: var(--drw-bg);
  color: var(--drw-ink);
}
body.drw-site.drw-density-balanced { --drw-space: 41px; }
body.drw-site.drw-density-compact { --drw-space: 26px; }
body.drw-site.drw-banner-normal { --drw-banner-height: 58px; --drw-banner-pad: 10px; }
body.drw-site.drw-banner-slightly_larger { --drw-banner-height: 76px; --drw-banner-pad: 17px; }
body.drw-site.drw-banner-large { --drw-banner-height: 92px; --drw-banner-pad: 24px; }

/* Global site header and navigation, without changing layout or interactive behavior. */
body.drw-site :is(.site-header,#masthead,.main-header,.header-main,.wp-block-template-part:has(.wp-block-navigation)) {
  background-color: #fffcfd;
  border-bottom: 1px solid var(--drw-border);
  box-shadow: 0 4px 18px rgba(62,20,38,.055);
}
body.drw-site :is(.site-header,#masthead,.main-header) :is(.site-title,.site-title a,.site-description) { color: var(--drw-deep) !important; }
body.drw-site :is(.site-header,#masthead,.main-header,.wp-block-navigation) :is(.current-menu-item > a,.current_page_item > a, a[aria-current="page"]) {
  color: var(--drw-wine) !important;
  text-decoration-color: var(--drw-rose);
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}
body.drw-site :is(.site-header,#masthead,.main-header,.wp-block-navigation) a:hover { color: var(--drw-wine) !important; }
body.drw-site :is(.site-header,#masthead,.main-header) :is(.custom-logo,.custom-logo-link img) {
  max-height: 96px;
  width: auto;
  object-fit: contain;
}

/* Slightly taller AND full-width announcement/header banner. Identified conservatively in JS.
 * Never add/replace banner content or remove any links already present. */
body.drw-site .drw-top-banner {
  background: linear-gradient(110deg,var(--drw-deep),var(--drw-wine)) !important;
  color: #fff7fa !important;
  min-height: var(--drw-banner-height);
  padding-block: var(--drw-banner-pad) !important;
  padding-inline: clamp(18px,3vw,62px) !important;
  box-sizing: border-box;
  width: 100%;
  border: 0 !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 24px;
}
body.drw-site .drw-top-banner :is(h1,h2,h3,p,span,small,div,a,strong) { color: #fff7fa !important; }
body.drw-site .drw-top-banner :is(p,span,small,strong,a) { font-size: clamp(1rem,1.18vw,1.18rem); }
body.drw-site .drw-top-banner a { text-decoration-thickness: 1px; text-underline-offset: 5px; }
body.drw-site .drw-top-banner > * { margin-block: 0 !important; }

/* Recognized cover banners / hero blocks – larger, but not oversized. */
body.drw-site .drw-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(118deg,var(--drw-deep),var(--drw-wine)) !important;
  color: #fff8fa !important;
  padding-block: clamp(60px,7vw,102px) !important;
  padding-inline: clamp(22px,4vw,82px) !important;
  width: 100%;
  box-sizing: border-box;
}
body.drw-site .drw-hero :is(h1,h2,h3,h4,p,span,small) { color: #fff8fa !important; }
body.drw-site .drw-hero :is(h1,h2) { line-height: 1.4; }
body.drw-site .drw-hero :is(button,input[type="submit"],a.button) { border-radius: 11px; }

/* Heading hierarchy and panels across pages. No global truncation of scientific titles. */
body.drw-site :is(main,#main,.site-main,.entry-content) :is(h1,h2,h3) {
  color: var(--drw-deep);
  text-wrap: pretty;
  overflow-wrap: break-word;
}
body.drw-site :is(main,#main,.site-main) :is(.entry-title,.page-title,.archive-title,.wp-block-query-title) {
  color: var(--drw-deep) !important;
  line-height: 1.55;
}
body.drw-site :is(main,#main,.site-main) :is(p,li) { line-height: 1.85; }
body.drw-site :is(main,#main,.site-main) :is(.wp-block-separator,hr) { border-color: var(--drw-border); }
body.drw-site :is(main,#main,.site-main) .wp-block-spacer { max-height: var(--drw-space) !important; }
body.drw-site :is(main,#main,.site-main) > :is(section,.wp-block-group,.elementor-section) {
  margin-block: 0 var(--drw-space);
}
body.drw-site .drw-section {
  padding-block: var(--drw-space) !important;
  margin-block: 0 !important;
  scroll-margin-top: 100px;
}
body.drw-site .drw-section > :first-child { margin-top: 0; }
body.drw-site .drw-section > :last-child { margin-bottom: 0; }

/* All front-end forms; preserve existing grid/order/validation. */
body.drw-site :is(main,#main,.site-main,.entry-content) :is(
  .search-form, form[role="search"], .drw-search form, .drs-search-form,
  .thesis-search-form, .thesis-filters, .drs-search-filters, .filter-form,
  .search-filter-form, .searchandfilter, .wp-block-search
) {
  background: #fff !important;
  border: 1px solid var(--drw-border) !important;
  border-radius: 17px;
  padding: clamp(14px,2vw,26px) !important;
  box-shadow: 0 8px 25px rgba(82,27,49,.06);
}
body.drw-site :is(main,#main,.site-main,.entry-content) :is(input[type="text"],input[type="search"],input[type="email"],input[type="number"],select,textarea) {
  border-color: #decbd2;
  border-radius: 10px;
  color: var(--drw-ink);
  max-width: 100%;
}
body.drw-site :is(main,#main,.site-main,.entry-content) :is(input,textarea,select):focus-visible {
  border-color: var(--drw-wine);
  outline: 2px solid var(--drw-rose);
  outline-offset: 1px;
}
body.drw-site :is(main,#main,.site-main,.entry-content,.site-header,#masthead) :is(
  button[type="submit"],input[type="submit"],.wp-block-button__link,a.button,.btn-primary,.button-primary
) {
  background-color: var(--drw-wine) !important;
  border-color: var(--drw-wine) !important;
  color: #fff !important;
  border-radius: 11px;
}
body.drw-site :is(main,#main,.site-main,.entry-content,.site-header,#masthead) :is(
  button[type="submit"],input[type="submit"],.wp-block-button__link,a.button,.btn-primary,.button-primary
):hover { background-color: var(--drw-deep) !important; border-color: var(--drw-deep) !important; }
body.drw-site :is(main,#main,.site-main,.entry-content) a:not(.button):hover { color: var(--drw-wine); }
body.drw-site :is(a,button,input,select,textarea):focus-visible { outline: 3px solid var(--drw-rose); outline-offset: 3px; }

/* Academic title cards – archives, post grids and JS-recognized thesis tiles.
 * Avoid applying cards to single post/article main content. */
body.drw-site :is(main,#main,.site-main) :is(
  .drw-title-card, .drs-thesis-card, .drs-thesis-item, .thesis-card, .thesis-item,
  .research-card, .wp-block-query .wp-block-post
),
body.drw-site:not(.single):not(.singular) :is(main,#main,.site-main) article.post,
body.drw-site.post-type-archive :is(main,#main,.site-main) article {
  position: relative;
  box-sizing: border-box;
  min-width: 0;
  height: 100%;
  background: linear-gradient(150deg,#fff 0%,#fffafc 100%) !important;
  border: 1px solid var(--drw-border) !important;
  border-radius: 15px !important;
  box-shadow: 0 8px 25px rgba(69,22,43,.065);
  padding: 20px 19px !important;
  overflow: hidden;
  transition: border-color .16s ease,box-shadow .16s ease;
}
body.drw-site :is(main,#main,.site-main) :is(.drw-title-card,.drs-thesis-card,.drs-thesis-item,.thesis-card,.thesis-item,.research-card,.wp-block-query .wp-block-post)::before,
body.drw-site:not(.single):not(.singular) :is(main,#main,.site-main) article.post::before,
body.drw-site.post-type-archive :is(main,#main,.site-main) article::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 5px;
  background: linear-gradient(90deg,var(--drw-wine),var(--drw-rose));
  pointer-events: none;
}
body.drw-site :is(main,#main,.site-main) :is(.drw-title-card,.drs-thesis-card,.drs-thesis-item,.thesis-card,.thesis-item,.research-card,.wp-block-query .wp-block-post):hover {
  border-color: #d9afbe !important;
  box-shadow: 0 12px 28px rgba(69,22,43,.11);
}
body.drw-site :is(main,#main,.site-main) :is(.drw-title-card,.drs-thesis-card,.drs-thesis-item,.thesis-card,.thesis-item,.research-card,.wp-block-query .wp-block-post) :is(h2,h3,h4,.entry-title,.wp-block-post-title) {
  color: var(--drw-deep) !important;
  line-height: 1.8 !important;
  font-size: clamp(1.02rem,1.3vw,1.22rem);
  font-weight: 750;
  overflow-wrap: anywhere;
  height: auto !important;
  max-height: none !important;
  -webkit-line-clamp: unset !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card a { text-decoration-color: var(--drw-rose); text-underline-offset: 4px; }
body.drw-site :is(main,#main,.site-main) .drw-card-type {
  display: inline-flex;
  background: var(--drw-soft);
  color: var(--drw-deep) !important;
  font-size: .85rem;
  font-weight: 700;
  border-radius: 999px;
  padding: 3px 12px;
  border: 1px solid var(--drw-border);
  width: fit-content;
}
body.drw-site .drw-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr));
  align-items: stretch;
  gap: 17px;
}
body.drw-site.drw-columns-2 .drw-cards-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }

/* Section shades apply only to sections reliably identified from their heading. */
body.drw-site .drw-search { background: linear-gradient(180deg,var(--drw-blush),var(--drw-bg)) !important; }
body.drw-site .drw-journey { background: var(--drw-blush) !important; }
body.drw-site .drw-journey .drw-step {
  background: #fff;
  border: 1px solid var(--drw-border);
  border-radius: 13px;
  padding: 17px;
}
body.drw-site .drw-faq :is(details,.faq-item,.accordion-item) {
  background: #fff;
  border: 1px solid var(--drw-border);
  border-radius: 12px;
  padding: 10px 14px;
  margin-block: 9px;
}
body.drw-site .drw-cta { background: linear-gradient(120deg,var(--drw-deep),var(--drw-wine)) !important; color: #fff; }
body.drw-site .drw-cta :is(h1,h2,h3,h4,p,span) { color: #fff !important; }

/* Breadcrumbs, lists, pagination, widgets and footers share palette. */
body.drw-site :is(.breadcrumbs,.breadcrumb,.yoast-breadcrumb,.rank-math-breadcrumb) { color: var(--drw-wine); }
body.drw-site :is(.pagination,.page-numbers,.nav-links) .current { background: var(--drw-wine); color: #fff; border-radius: 8px; }
body.drw-site :is(.site-footer,#colophon,footer.site-footer) {
  background: var(--drw-deep) !important;
  border-top: 4px solid var(--drw-wine);
  color: #f9e7ee;
}
body.drw-site :is(.site-footer,#colophon,footer.site-footer) :is(a,p,span,h2,h3,h4,li) { color: #f9e7ee; }
body.drw-site :is(.site-footer,#colophon,footer.site-footer) a:hover { color: #fff !important; }

@media (max-width:1024px) {
  body.drw-site .drw-cards-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.drw-site.drw-columns-2 .drw-cards-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  body.drw-site { --drw-banner-height: 69px; --drw-banner-pad: 12px; --drw-space: 20px; }
  body.drw-site .drw-top-banner { padding-inline: 16px !important; gap: 4px 10px; }
  body.drw-site .drw-top-banner :is(p,span,small,a,strong) { font-size: .94rem; }
  body.drw-site .drw-hero { padding-block: 52px !important; padding-inline: 18px !important; }
  body.drw-site .drw-cards-grid,body.drw-site.drw-columns-2 .drw-cards-grid {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 12px;
  }
  body.drw-site :is(main,#main,.site-main) .drw-title-card { padding: 17px 15px !important; }
  body.drw-site :is(.site-header,#masthead,.main-header) :is(.custom-logo,.custom-logo-link img) { max-height: 76px; }
}
@media (prefers-reduced-motion:reduce) {
  body.drw-site .drw-title-card { transition: none; }
}

/* ======================================================================
   Derasatek Visual Quality Pass 2.1.0
   Polishes existing layouts; never replaces or hides academic content,
   calls to action, cart/share links or input controls.
   ====================================================================== */
body.drw-site {
  --drw-wine-2: #832d4d;
  --drw-accent: #c08b9e;
  --drw-paper: #fffdfa;
  --drw-surface: #fff;
  --drw-muted: #715964;
  --drw-soft-border: #e7d6dc;
  --drw-elevation: 0 9px 28px rgba(75, 24, 42, .075);
  background-color: #fbf7f8;
  font-synthesis: none;
}

/* Page section rhythm: fewer disconnected islands and more consistent widths. */
body.drw-site .drw-home :is(.drw-section) { box-sizing: border-box; }
body.drw-site.drw-home :is(.drw-latest,.drw-journey,.drw-faq) {
  border: 1px solid var(--drw-soft-border) !important;
  border-radius: 20px;
  box-shadow: var(--drw-elevation);
  background-color: var(--drw-paper);
  padding: clamp(20px,2.6vw,34px) !important;
  margin-block: clamp(16px,2.5vw,28px) !important;
}
body.drw-site.drw-home :is(.drw-latest,.drw-journey,.drw-faq) :is(h2,h3) {
  letter-spacing: 0;
}
body.drw-site.drw-home :is(.drw-latest,.drw-journey,.drw-faq) > :first-child {
  margin-block-start: 0 !important;
}
body.drw-site.drw-home .drw-latest :is(h2,h3):not(.drw-title-card h2):not(.drw-title-card h3),
body.drw-site.drw-home .drw-journey :is(h2,h3):not(.drw-step h3),
body.drw-site.drw-home .drw-faq :is(h2,h3) {
  color: var(--drw-deep) !important;
  line-height: 1.55;
}
body.drw-site.drw-home .drw-search {
  padding-block: clamp(26px,4vw,54px) !important;
  background: linear-gradient(120deg,#4c182d,#70263f) !important;
}
body.drw-site.drw-home .drw-search :is(h1,h2,h3) {
  font-size: clamp(1.5rem,2.3vw,2.1rem);
  line-height: 1.5;
}
body.drw-site.drw-home .drw-search :is(form,.search-form,form[role="search"],.wp-block-search) {
  background: var(--drw-paper) !important;
  border: 1px solid #dfc5cc !important;
  box-shadow: 0 12px 34px rgba(36,8,20,.13);
}
body.drw-site.drw-home .drw-search :is(input[type="search"],input[type="text"]) {
  min-height: 46px;
  font-size: 1rem;
  padding-inline: 14px;
}

/* Filter panel and results count are readable, compact and clear. */
body.drw-site .drw-filter-panel {
  box-sizing: border-box;
  padding: clamp(16px,2.15vw,27px) !important;
  background: var(--drw-paper) !important;
  border: 1px solid var(--drw-soft-border) !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 20px rgba(75,24,42,.035);
  max-width: 100%;
}
body.drw-site .drw-filter-panel :is(label,.filter-label) {
  color: var(--drw-deep);
  font-size: .91rem !important;
  font-weight: 700;
  line-height: 1.45;
}
body.drw-site .drw-filter-panel :is(input[type="text"],input[type="search"],input[type="number"],select) {
  min-height: 43px;
  font-size: .97rem;
  padding-inline: 11px;
  background: #fff;
}
body.drw-site .drw-filter-panel :is(button[type="submit"],input[type="submit"]) {
  min-height: 43px;
  min-width: 94px;
  padding: 9px 22px !important;
  font-weight: 750;
  box-shadow: 0 4px 12px rgba(75,24,42,.12);
}
body.drw-site .drw-send-panel {
  padding-block: 13px !important;
  margin-block: 10px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.drw-site .drw-send-panel input[type="email"] {
  min-height: 44px;
  background: var(--drw-paper);
}
body.drw-site .drw-send-panel :is(button[type="submit"],input[type="submit"]) {
  min-height: 44px;
  padding-inline: 20px;
}
body.drw-site .drw-results-summary {
  color: var(--drw-muted);
  font-size: .93rem;
  margin-block: 6px 15px;
}

/* Card system: slightly wider rhythm, clearer hierarchy, less clutter. */
body.drw-site :is(main,#main,.site-main) .drw-title-card {
  display: flex;
  flex-direction: column;
  gap: 9px;
  height: 100%;
  min-height: 0;
  padding: clamp(17px,1.7vw,25px) !important;
  border: 1px solid var(--drw-soft-border) !important;
  border-top: 4px solid var(--drw-wine) !important;
  background: var(--drw-surface) !important;
  border-radius: 16px !important;
  box-shadow: 0 7px 22px rgba(75,24,42,.068);
}
body.drw-site :is(main,#main,.site-main) .drw-title-card::before {
  content: none !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 13px 27px rgba(75,24,42,.12);
  border-color: #d9b7c3 !important;
  border-top-color: var(--drw-wine) !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card :is(h2,h3,h4,.entry-title,.wp-block-post-title) {
  color: var(--drw-deep) !important;
  font-size: clamp(1.12rem,1.35vw,1.27rem) !important;
  font-weight: 750 !important;
  line-height: 1.7 !important;
  overflow-wrap: break-word;
  text-wrap: pretty;
  margin-block: 4px 2px;
  min-height: 0 !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card :is(p,li,small) {
  color: var(--drw-muted);
  font-size: .94rem;
  line-height: 1.65;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card :is(a,button,input) {
  text-underline-offset: 3px;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-card-type {
  background: #f5e7ed;
  border: 1px solid #e8ced8;
  color: var(--drw-deep) !important;
  padding: 4px 11px;
  font-size: .85rem;
  line-height: 1.5;
  align-self: flex-start;

}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-card-action {
  box-sizing: border-box;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 43px;
  padding: 10px 14px !important;
  width: 100%;
  background: var(--drw-wine) !important;
  color: #fff !important;
  border: 1px solid var(--drw-wine) !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  font-weight: 700;
  font-size: .94rem;
  line-height: 1.45;
  cursor: pointer;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-card-action:hover {
  background: var(--drw-deep) !important;
  border-color: var(--drw-deep) !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-card-action:focus-visible {
  outline: 3px solid var(--drw-rose) !important;
  outline-offset: 3px;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-request-row {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin: 10px 0 12px !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-request-label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  background: #f7edf1 !important;
  color: var(--drw-deep) !important;
  border: 1px solid #e6cfd8 !important;
  border-radius: 10px !important;
  box-sizing: border-box !important;
  font-size: .96rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-favorite-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 18px !important;
  background: #fff8fb !important;
  color: var(--drw-deep) !important;
  border: 1.5px solid var(--drw-wine) !important;
  border-radius: 10px !important;
  box-sizing: border-box !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: 0 3px 10px rgba(82,27,49,.06) !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-favorite-action:hover {
  background: var(--drw-wine) !important;
  color: #fff !important;
  border-color: var(--drw-wine) !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-share {
  margin-block-start: auto !important;
  padding: 12px 12px !important;
  min-height: auto !important;
  background: #fcf8fa !important;
  border: 1px solid #eadce2 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  text-align: center !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-share :is(h4,h5,strong,p,small) {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  font-size: .9rem !important;
  line-height: 1.45 !important;
  margin-block: 0 8px !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-share .drw-share-links {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-share a.drw-share-link {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  box-sizing: border-box !important;
  width: 96px !important;
  min-width: 96px !important;
  height: 40px !important;
  min-height: 40px !important;
  background: #f2e6eb !important;
  color: var(--drw-deep) !important;
  border: 1px solid #e5d0d9 !important;
  border-radius: 8px !important;
  padding: 0 10px !important;
  margin: 0 !important;
  font-size: .86rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-share a.drw-share-link:hover {
  background: var(--drw-wine) !important;
  border-color: var(--drw-wine) !important;
  color: #fff !important;
}
@media (max-width: 560px) {
  body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-share .drw-share-links {
    gap: 6px !important;
  }
  body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-share a.drw-share-link {
    width: 84px !important;
    min-width: 84px !important;
    font-size: .8rem !important;
  }
}
body.drw-site .drw-cards-grid {
  column-gap: clamp(14px,1.8vw,23px) !important;
  row-gap: clamp(15px,2vw,24px) !important;
}

/* Home journey: orderly cards and stronger contrast without blank islands. */
body.drw-site.drw-home .drw-journey {
  background: linear-gradient(135deg,#fffdfa,#faf0f3) !important;
}
body.drw-site.drw-home .drw-journey .drw-step {
  background: #fff !important;
  border: 1px solid #e6d6dc !important;
  border-inline-start: 4px solid var(--drw-wine) !important;
  border-radius: 12px !important;
  padding: 15px 18px !important;
  margin-block: 0 !important;
  box-shadow: 0 3px 9px rgba(75,24,42,.025);
}
body.drw-site.drw-home .drw-journey .drw-step :is(h3,h4) {
  color: var(--drw-deep) !important;
  font-size: 1rem !important;
  line-height: 1.55;
}
body.drw-site.drw-home .drw-journey .drw-step :is(p,small) {
  color: var(--drw-muted) !important;
  font-size: .91rem !important;
  line-height: 1.65;
}
body.drw-site.drw-home .drw-steps-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,230px),1fr));
  gap: 11px;
}
body.drw-site.drw-home .drw-journey :is(.wp-block-button__link,a.button,button[type="submit"]) {
  min-height: 43px;
  padding: 10px 19px;
}

/* FAQ as a calm, consistent block. */
body.drw-site.drw-home .drw-faq :is(details,.faq-item,.accordion-item) {
  border: 1px solid #e7d5dc;
  border-radius: 11px;
  background: #fff;
  padding: 12px 17px;
  margin-block: 8px;
  box-shadow: none;
}
body.drw-site.drw-home .drw-faq :is(summary,.accordion-title,.faq-question) {
  color: var(--drw-deep);
  font-weight: 720;
  font-size: .99rem;
  line-height: 1.6;
}
body.drw-site.drw-home .drw-faq :is(details[open],.active) {
  background: #fffafd;
  border-color: #ce9faf;
}
body.drw-site .drw-top-banner { font-weight: 600; }

@media (max-width:900px) {
  body.drw-site .drw-filter-panel { padding: 15px !important; }
  body.drw-site .drw-cards-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:680px) {
  body.drw-site.drw-home :is(.drw-latest,.drw-journey,.drw-faq) {
    border-radius: 15px;
    padding: 17px 13px !important;
    margin-block: 13px !important;
  }
  body.drw-site .drw-filter-panel {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 14px !important;
  }
  body.drw-site .drw-filter-panel > :not([type="hidden"]):not(input[type="hidden"]) {
    flex: 1 1 min(100%,220px);
    min-width: 0;
  }
  body.drw-site .drw-cards-grid,
  body.drw-site.drw-columns-2 .drw-cards-grid {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 13px !important;
  }
  body.drw-site :is(main,#main,.site-main) .drw-title-card {
    padding: 18px 16px !important;
    gap: 8px;
  }
  body.drw-site :is(main,#main,.site-main) .drw-title-card :is(h2,h3,h4,.entry-title,.wp-block-post-title) {
    font-size: 1.1rem !important;
  }
  body.drw-site .drw-send-panel { padding-inline: 0 !important; }
}
@media (prefers-reduced-motion:no-preference) {
  body.drw-site :is(main,#main,.site-main) .drw-title-card { transition: box-shadow .18s ease,border-color .18s ease,transform .18s ease; }
}
/* A direct heading on the burgundy search backdrop needs light text; headings
   within the ivory form retain their normal ink color. */
body.drw-site.drw-home .drw-search > :is(h1,h2,h3) { color: #fff !important; }

/* v2.1.3 — Center academic data inside thesis cards, including long titles,
   researcher names, universities, and the badge, without touching controls. */
body.drw-site :is(main,#main,.site-main) .drw-title-card {
  text-align: center !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card :is(
  h2,h3,h4,.entry-title,.wp-block-post-title,
  p,small,span,strong,em,div,li,a
) {
  text-align: center !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card :is(
  h2,h3,h4,.entry-title,.wp-block-post-title
) {
  overflow-wrap: anywhere;
  hyphens: auto;
  margin-inline: auto !important;
  max-width: 100%;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card :is(
  .drw-card-type,.drw-card-author,.drw-card-university,
  .thesis-author,.thesis-university,.author-name,.university-name
) {
  align-self: center !important;
  text-align: center !important;
}
/* Some theme versions position researcher/university lines with flex. */
body.drw-site :is(main,#main,.site-main) .drw-title-card :is(
  .thesis-meta,.thesis-author,.thesis-university,.card-meta,
  .card-author,.card-university,.researcher-name,.university
) {
  justify-content: center !important;
  text-align: center !important;
}


/* Derasatek 2.1.4 — fix theme-specific text alignment and compress whitespace.
 * Scoped strictly to recognized archive cards, not pages, admin or forms.
 */
body.drw-site :is(main,#main,.site-main) .drw-title-card {
  padding: 14px 15px !important;
  gap: 5px !important;
  text-align: center !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card > :not(.drw-share) {
  margin-block: 0 !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card :is(h2,h3,h4,.entry-title,.wp-block-post-title) {
  margin: 1px 0 4px !important;
  line-height: 1.52 !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card :is(.drw-card-author,.author-name,.thesis-author,.drw-university-row,.drw-card-university) {
  margin: 2px auto !important;
  padding-block: 0 !important;
  line-height: 1.45 !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-university-row {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  flex-wrap: wrap;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card :is(.drw-university-center,.drw-card-university) {
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  justify-content: center !important;
  align-self: center !important;
  direction: rtl;
  margin-inline: auto !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card hr {
  margin-block: 6px !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-request-row {
  display: flex !important;
  gap: 8px !important;
  justify-content: center !important;
  align-items: stretch !important;
  flex-wrap: wrap !important;
  margin: 5px 0 !important;
  width: 100% !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-request-label,
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-favorite-action {
  box-sizing: border-box !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 8px 10px !important;
  border: 1.5px solid var(--drw-wine) !important;
  border-radius: 10px !important;
  font-size: .92rem !important;
  line-height: 1.3 !important;
  font-weight: 750 !important;
  text-align: center !important;
  white-space: normal !important;
  margin: 0 !important;
  vertical-align: middle !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-request-label {
  background: var(--drw-wine) !important;
  color: #fff !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-favorite-action {
  background: #fff8fb !important;
  color: var(--drw-deep) !important;
  text-decoration: none !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-request-row > :is(.drw-request-label,.drw-favorite-action) {
  flex: 1 1 0 !important;
  min-width: min(110px,100%) !important;
  max-width: 100% !important;
  width: auto !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-share {
  margin-block-start: 6px !important;
  padding: 8px !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-share :is(h4,h5,strong,p,small) {
  margin-block: 0 5px !important;
}
@media (max-width: 600px) {
  body.drw-site :is(main,#main,.site-main) .drw-title-card { padding: 13px 12px !important; gap: 5px !important; }
  body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-request-row { gap: 6px !important; }
  body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-request-label,
  body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-favorite-action { font-size: .84rem !important; padding-inline: 7px !important; }
}

/* ================================================================
 * v2.1.5 — Equal-size thesis cards, stacked academic metadata,
 * and a quiet burgundy divider above the request/share controls.
 * Avoid fixed card heights: academic titles must never be clipped.
 * ================================================================ */
body.drw-site .drw-cards-grid {
  display: grid !important;
  grid-auto-rows: minmax(0, 1fr) !important;
  align-items: stretch !important;
  justify-items: stretch !important;
}
body.drw-site .drw-cards-grid > .drw-title-card {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: 100% !important;
  box-sizing: border-box !important;
  gap: 5px !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card :is(.drw-academic-author,.drw-academic-university) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
  text-align: center !important;
  align-self: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-academic-meta-stack {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  gap: 4px !important;
  margin: 3px auto 0 !important;
  text-align: center !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card :is(.drw-academic-university-row,.drw-university-row) {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  text-align: center !important;
  margin: 2px auto !important;
  padding: 0 !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-academic-university {
  color: var(--drw-deep) !important;
  font-size: .94rem !important;
  font-weight: 600 !important;
  direction: rtl;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-actions-start {
  box-sizing: border-box !important;
  border-top: 1px solid #d9b5c3 !important;
  padding-top: 12px !important;
  margin-top: auto !important;
  width: 100% !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-request-row.drw-actions-start {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-bottom: 3px !important;
}
body.drw-site :is(main,#main,.site-main) .drw-title-card.drw-has-actions .drw-share:not(.drw-actions-start) {
  margin-top: 4px !important;
}
/* Preserve all original university and title text; no line clamping. */
body.drw-site :is(main,#main,.site-main) .drw-title-card :is(h2,h3,h4,.entry-title,.wp-block-post-title) {
  height: auto !important;
  max-height: none !important;
  -webkit-line-clamp: unset !important;
}
@media (max-width: 680px) {
  body.drw-site :is(main,#main,.site-main) .drw-title-card .drw-actions-start {padding-top:10px !important;}
  body.drw-site .drw-cards-grid {grid-auto-rows:auto !important;}
}
