/*
Theme: Ibn Thani Royal v11
Purpose: single clean visual repair layer.
Scope: token bridge, header depth, RTL ticker, related spacing, poem tables, home/sidebar widgets, night contrast, floating overlap.
*/

/* Token bridge: keep old --royal-* names connected to the design-token layer. */
:root{
  --royal-gold: var(--ibnthani-gold, #d4af37);
  --royal-gold-dark: var(--ibnthani-gold-dark, #b88a1a);
  --royal-gold-deep: var(--ibnthani-gold-dark, #b88a1a);
  --royal-navy: var(--ibnthani-navy, #001f3f);
  --royal-blue: var(--ibnthani-blue, #1565c0);
}

/* Header: one 3D definition, no historical version blocks. */
.site-royal-header-frame.royal-header-container,
header.site-royal-header-frame.royal-header-container{
  border-style:solid;
  border-color:transparent;
  border-width:7px 18px;
  border-radius:46px;
  background:
    linear-gradient(180deg,#fff 0%,#fffaf0 100%) padding-box,
    linear-gradient(90deg,#6f4707 0%,#b87912 7%,#ffe08a 16%,#d4af37 31%,#d4af37 69%,#ffe08a 84%,#b87912 93%,#6f4707 100%) border-box;
  box-shadow:
    inset 16px 0 20px rgba(255,255,255,.78),
    inset -16px 0 24px rgba(68,40,0,.28),
    0 18px 42px rgba(2,32,65,.14),
    0 1px 0 rgba(255,255,255,.85) inset;
  overflow:hidden;
  isolation:isolate;
}
.site-royal-header-frame.royal-header-container::before,
header.site-royal-header-frame.royal-header-container::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.60),transparent 16%,transparent 84%,rgba(70,38,0,.13)),
    radial-gradient(circle at 50% -40%,rgba(255,255,255,.72),transparent 42%);
  z-index:0;
}
.site-royal-header-frame.royal-header-container > *,
header.site-royal-header-frame.royal-header-container > *{
  position:relative;
  z-index:1;
}

/* Ticker RTL direction. */
@keyframes royal-ticker-scroll{
  from{transform:translateX(100%);}
  to{transform:translateX(-100%);}
}

/* Article image: preserve full image/banner. */
.royal-single-featured-img{
  overflow:visible;
  border-radius:18px;
  background:transparent;
}
.royal-single-featured-img img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center center;
  border-radius:18px;
}

/* Disabled/legacy fragments. */
.royal-x-signature,
.royal-floating-share{
  display:none;
}

/* Related posts title spacing. */
.royal-slider-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.royal-related-main-title{
  display:inline-flex;
  align-items:center;
  gap:18px;
  margin:0;
  white-space:normal;
}
.royal-related-main-title::before{
  flex:0 0 26px;
  width:26px;
  height:26px;
  margin-inline-end:16px;
}
.royal-related-title-text{
  display:inline-block;
  line-height:1.55;
}

/* Poem tables inside the user article component only. */
#domain-article .gold-box table,
#domain-article .box.gold-box table{
  width:100%;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:0 8px;
}
#domain-article .gold-box table td,
#domain-article .box.gold-box table td{
  width:50%;
  padding:6px 10px;
  text-align:center;
  vertical-align:middle;
  font-size:21px;
  line-height:1.9;
  white-space:normal;
}
@media (max-width:640px){
  #domain-article .gold-box table,
  #domain-article .box.gold-box table,
  #domain-article .gold-box table tbody,
  #domain-article .box.gold-box table tbody,
  #domain-article .gold-box table tr,
  #domain-article .box.gold-box table tr,
  #domain-article .gold-box table td,
  #domain-article .box.gold-box table td{
    display:block;
    width:100%;
  }
  #domain-article .gold-box table tr,
  #domain-article .box.gold-box table tr{
    padding:8px 0 10px;
    border-bottom:1px solid rgba(212,175,55,.18);
  }
  #domain-article .gold-box table tr:last-child,
  #domain-article .box.gold-box table tr:last-child{border-bottom:0;}
  #domain-article .gold-box table td,
  #domain-article .box.gold-box table td{
    padding:3px 0;
    font-size:20px;
    line-height:1.85;
  }
}

/* Home extra cards. */
.royal-home-extra-section{
  border-radius:22px;
  border:1px solid rgba(212,175,55,.26);
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(255,249,232,.70));
  box-shadow:0 18px 40px rgba(2,32,65,.10);
}
.royal-home-extra-grid,
.royal-home-extra-grid-4,
.royal-home-extra-grid-3{
  display:grid;
  gap:14px;
}
.royal-home-extra-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.royal-home-extra-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.royal-home-extra-card{
  position:relative;
  min-width:0;
  min-height:104px;
  border-radius:18px;
  border:1px solid rgba(212,175,55,.30);
  background:linear-gradient(145deg,rgba(255,250,235,.95),rgba(255,255,255,.98));
  box-shadow:0 10px 24px rgba(2,32,65,.08), inset 0 1px 0 rgba(255,255,255,.86);
  overflow:hidden;
}
.royal-home-extra-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg,transparent,#d4af37,transparent);
  opacity:.75;
}
.royal-site-tools .royal-home-extra-card{
  background:linear-gradient(145deg,rgba(238,246,255,.94),rgba(255,255,255,.98));
  border-color:rgba(21,101,192,.24);
}
.royal-mixed-picks .royal-home-extra-card{
  background:linear-gradient(145deg,rgba(247,239,255,.88),rgba(255,255,255,.98));
  border-color:rgba(106,27,154,.20);
}
@media (max-width:1024px){
  .royal-home-extra-grid-4,
  .royal-home-extra-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:480px){
  .royal-home-extra-section{padding:16px;}
  .royal-home-extra-grid-4,
  .royal-home-extra-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .royal-home-extra-card{min-height:118px;padding:12px;}
}

/* Sidebar/widgets. */
.royal-sidebar{display:block;}
.royal-sidebar .widget{
  border-radius:18px;
  border:1px solid rgba(212,175,55,.24);
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,249,232,.62));
  box-shadow:0 10px 28px rgba(2,32,65,.08);
  overflow:hidden;
}
.royal-sidebar .widgettitle,
.royal-sidebar .widget-title{
  display:flex;
  align-items:center;
  gap:8px;
}
.royal-sidebar-admin-note{display:none;}
body.logged-in.admin-bar .royal-sidebar-admin-note{display:block;}

@media (max-width:900px){
  .royal-single-layout,
  .royal-main-layout{
    display:flex;
    flex-direction:column;
    gap:18px;
  }
  .royal-main{order:1;}
  .royal-sidebar{order:2;width:100%;max-width:100%;}
  .royal-articles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .royal-article-card{min-width:0;border-radius:18px;}
  .royal-card-title{font-size:clamp(.95rem,3.6vw,1.08rem);line-height:1.55;}
  .royal-card-excerpt{display:none;}
}
@media (max-width:380px){
  .royal-articles-grid{gap:10px;}
  .royal-card-content{padding:12px;}
}

/* Floating controls: rails to avoid overlap. */
body .royal-x-command{
  position:fixed;
  inset-inline-start:auto;
  inset-inline-end:18px;
  bottom:calc(142px + env(safe-area-inset-bottom));
  z-index:860;
  display:flex;
  flex-direction:column;
  gap:12px;
  pointer-events:auto;
}
body .royal-x-command__btn{
  width:46px;
  height:46px;
  flex:0 0 46px;
}
body .royal-masterpiece-top{
  position:fixed;
  inset-inline-end:18px;
  bottom:calc(22px + env(safe-area-inset-bottom));
  z-index:850;
}
body .royal-masterpiece-toc-toggle{
  position:fixed;
  inset-inline-start:18px;
  inset-inline-end:auto;
  bottom:calc(78px + env(safe-area-inset-bottom));
  z-index:850;
}
body .royal-masterpiece-toc{
  inset-inline-start:18px;
  inset-inline-end:auto;
  bottom:calc(132px + env(safe-area-inset-bottom));
}
@media (max-width:640px){
  body .royal-x-command{
    inset-inline-end:14px;
    bottom:calc(136px + env(safe-area-inset-bottom));
    gap:10px;
  }
  body .royal-masterpiece-top{inset-inline-end:14px;}
  body .royal-masterpiece-toc-toggle{
    inset-inline-start:14px;
    bottom:calc(78px + env(safe-area-inset-bottom));
  }
}

/* Night mode: one scoped contrast layer. */
body.royal-night-mode,
body.royal-dark-mode,
body.royal-reading-dark,
html.royal-night-mode body,
html.royal-dark-mode body{
  --ibn-night-bg:#041424;
  --ibn-night-card:#071d33;
  --ibn-night-card-2:#0a2744;
  --ibn-night-line:rgba(212,175,55,.34);
  --ibn-night-title:#f3d172;
  --ibn-night-text:#f6f0dc;
  --ibn-night-soft:#d9c994;
  --ibn-night-blue:#84bfff;
}
body.royal-night-mode .site-royal-header-frame.royal-header-container,
body.royal-dark-mode .site-royal-header-frame.royal-header-container,
body.royal-reading-dark .site-royal-header-frame.royal-header-container,
html.royal-night-mode body .site-royal-header-frame.royal-header-container,
html.royal-dark-mode body .site-royal-header-frame.royal-header-container{
  background:
    linear-gradient(180deg,rgba(10,26,46,.98) 0%,rgba(5,16,30,.98) 100%) padding-box,
    linear-gradient(90deg,#6f4707 0%,#b87912 7%,#ffe08a 16%,#d4af37 31%,#d4af37 69%,#ffe08a 84%,#b87912 93%,#6f4707 100%) border-box;
  box-shadow:
    inset 16px 0 20px rgba(255,255,255,.10),
    inset -16px 0 24px rgba(0,0,0,.38),
    0 18px 42px rgba(0,0,0,.32),
    0 1px 0 rgba(255,255,255,.12) inset;
}
body.royal-night-mode .royal-single-title,
body.royal-dark-mode .royal-single-title,
body.royal-reading-dark .royal-single-title,
html.royal-night-mode body .royal-single-title,
html.royal-dark-mode body .royal-single-title{
  color:var(--ibn-night-title);
  opacity:1;
  text-shadow:0 2px 0 rgba(0,0,0,.35),0 0 18px rgba(212,175,55,.12);
}
body.royal-night-mode .royal-single-byline,
body.royal-dark-mode .royal-single-byline,
body.royal-reading-dark .royal-single-byline,
html.royal-night-mode body .royal-single-byline,
html.royal-dark-mode body .royal-single-byline,
body.royal-night-mode .royal-breadcrumb,
body.royal-dark-mode .royal-breadcrumb,
body.royal-reading-dark .royal-breadcrumb,
html.royal-night-mode body .royal-breadcrumb,
html.royal-dark-mode body .royal-breadcrumb{
  color:#d7caa2;
  opacity:1;
}
body.royal-night-mode .royal-home-extra-section,
body.royal-dark-mode .royal-home-extra-section,
body.royal-reading-dark .royal-home-extra-section,
html.royal-night-mode body .royal-home-extra-section,
html.royal-dark-mode body .royal-home-extra-section,
body.royal-night-mode .royal-sidebar .widget,
body.royal-dark-mode .royal-sidebar .widget,
body.royal-reading-dark .royal-sidebar .widget,
html.royal-night-mode body .royal-sidebar .widget,
html.royal-dark-mode body .royal-sidebar .widget,
body.royal-night-mode aside.widget,
body.royal-dark-mode aside.widget,
body.royal-reading-dark aside.widget,
html.royal-night-mode body aside.widget,
html.royal-dark-mode body aside.widget{
  background:
    radial-gradient(circle at 10% 0%,rgba(212,175,55,.10),transparent 36%),
    linear-gradient(145deg,rgba(7,29,51,.98),rgba(3,14,27,.98));
  color:var(--ibn-night-text);
  border:1px solid var(--ibn-night-line);
  box-shadow:0 16px 38px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05);
}
body.royal-night-mode .royal-home-extra-card,
body.royal-dark-mode .royal-home-extra-card,
body.royal-reading-dark .royal-home-extra-card,
html.royal-night-mode body .royal-home-extra-card,
html.royal-dark-mode body .royal-home-extra-card{
  background:linear-gradient(145deg,rgba(16,61,101,.92),rgba(5,20,37,.98));
  border-color:rgba(212,175,55,.46);
  box-shadow:0 12px 26px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.06);
  color:var(--ibn-night-text);
}
body.royal-night-mode .royal-site-tools .royal-home-extra-card,
body.royal-dark-mode .royal-site-tools .royal-home-extra-card,
body.royal-reading-dark .royal-site-tools .royal-home-extra-card,
html.royal-night-mode body .royal-site-tools .royal-home-extra-card,
html.royal-dark-mode body .royal-site-tools .royal-home-extra-card{
  background:linear-gradient(145deg,rgba(13,67,111,.94),rgba(5,20,37,.98));
}
body.royal-night-mode .royal-mixed-picks .royal-home-extra-card,
body.royal-dark-mode .royal-mixed-picks .royal-home-extra-card,
body.royal-reading-dark .royal-mixed-picks .royal-home-extra-card,
html.royal-night-mode body .royal-mixed-picks .royal-home-extra-card,
html.royal-dark-mode body .royal-mixed-picks .royal-home-extra-card{
  background:linear-gradient(145deg,rgba(32,28,78,.92),rgba(5,20,37,.98));
}
body.royal-night-mode .royal-home-extra-card h3,
body.royal-dark-mode .royal-home-extra-card h3,
body.royal-reading-dark .royal-home-extra-card h3,
html.royal-night-mode body .royal-home-extra-card h3,
html.royal-dark-mode body .royal-home-extra-card h3,
body.royal-night-mode .royal-sidebar .widgettitle,
body.royal-dark-mode .royal-sidebar .widgettitle,
body.royal-reading-dark .royal-sidebar .widgettitle,
html.royal-night-mode body .royal-sidebar .widgettitle,
html.royal-dark-mode body .royal-sidebar .widgettitle,
body.royal-night-mode .royal-sidebar h2,
body.royal-dark-mode .royal-sidebar h2,
body.royal-reading-dark .royal-sidebar h2,
html.royal-night-mode body .royal-sidebar h2,
html.royal-dark-mode body .royal-sidebar h2{
  color:var(--ibn-night-title);
  opacity:1;
  text-shadow:0 1px 0 rgba(0,0,0,.35);
}
body.royal-night-mode .royal-home-extra-meta,
body.royal-dark-mode .royal-home-extra-meta,
body.royal-reading-dark .royal-home-extra-meta,
html.royal-night-mode body .royal-home-extra-meta,
html.royal-dark-mode body .royal-home-extra-meta{
  color:#e6c65c;
  background:rgba(106,27,154,.24);
  border-color:rgba(212,175,55,.28);
  opacity:1;
}
body.royal-night-mode .royal-home-extra-excerpt,
body.royal-dark-mode .royal-home-extra-excerpt,
body.royal-reading-dark .royal-home-extra-excerpt,
html.royal-night-mode body .royal-home-extra-excerpt,
html.royal-dark-mode body .royal-home-extra-excerpt,
body.royal-night-mode .royal-sidebar p,
body.royal-dark-mode .royal-sidebar p,
body.royal-reading-dark .royal-sidebar p,
html.royal-night-mode body .royal-sidebar p,
html.royal-dark-mode body .royal-sidebar p,
body.royal-night-mode .royal-sidebar li,
body.royal-dark-mode .royal-sidebar li,
body.royal-reading-dark .royal-sidebar li,
html.royal-night-mode body .royal-sidebar li,
html.royal-dark-mode body .royal-sidebar li{
  color:var(--ibn-night-soft);
  opacity:1;
}
body.royal-night-mode .royal-sidebar a,
body.royal-dark-mode .royal-sidebar a,
body.royal-reading-dark .royal-sidebar a,
html.royal-night-mode body .royal-sidebar a,
html.royal-dark-mode body .royal-sidebar a,
body.royal-night-mode .royal-home-extra-section a:not(.royal-home-extra-card),
body.royal-dark-mode .royal-home-extra-section a:not(.royal-home-extra-card),
body.royal-reading-dark .royal-home-extra-section a:not(.royal-home-extra-card),
html.royal-night-mode body .royal-home-extra-section a:not(.royal-home-extra-card),
html.royal-dark-mode body .royal-home-extra-section a:not(.royal-home-extra-card){
  color:#fff0b8;
  opacity:1;
}
body.royal-night-mode .royal-home-extra-section input,
body.royal-dark-mode .royal-home-extra-section input,
body.royal-reading-dark .royal-home-extra-section input,
html.royal-night-mode body .royal-home-extra-section input,
html.royal-dark-mode body .royal-home-extra-section input,
body.royal-night-mode .royal-sidebar input,
body.royal-dark-mode .royal-sidebar input,
body.royal-reading-dark .royal-sidebar input,
html.royal-night-mode body .royal-sidebar input,
html.royal-dark-mode body .royal-sidebar input,
body.royal-night-mode .royal-search-field,
body.royal-dark-mode .royal-search-field,
body.royal-reading-dark .royal-search-field,
html.royal-night-mode body .royal-search-field,
html.royal-dark-mode body .royal-search-field{
  background:#07131f;
  color:#fff7df;
  border:1px solid rgba(212,175,55,.50);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 0 0 1px rgba(0,0,0,.12);
  opacity:1;
}
body.royal-night-mode .royal-home-extra-section input::placeholder,
body.royal-dark-mode .royal-home-extra-section input::placeholder,
body.royal-reading-dark .royal-home-extra-section input::placeholder,
html.royal-night-mode body .royal-home-extra-section input::placeholder,
html.royal-dark-mode body .royal-home-extra-section input::placeholder,
body.royal-night-mode .royal-search-field::placeholder,
body.royal-dark-mode .royal-search-field::placeholder,
body.royal-reading-dark .royal-search-field::placeholder,
html.royal-night-mode body .royal-search-field::placeholder,
html.royal-dark-mode body .royal-search-field::placeholder{
  color:#cbbd8b;
  opacity:1;
}
body.royal-night-mode .royal-home-extra-section button,
body.royal-dark-mode .royal-home-extra-section button,
body.royal-reading-dark .royal-home-extra-section button,
html.royal-night-mode body .royal-home-extra-section button,
html.royal-dark-mode body .royal-home-extra-section button,
body.royal-night-mode .royal-sidebar button,
body.royal-dark-mode .royal-sidebar button,
body.royal-reading-dark .royal-sidebar button,
html.royal-night-mode body .royal-sidebar button,
html.royal-dark-mode body .royal-sidebar button,
body.royal-night-mode .royal-search-submit,
body.royal-dark-mode .royal-search-submit,
body.royal-reading-dark .royal-search-submit,
html.royal-night-mode body .royal-search-submit,
html.royal-dark-mode body .royal-search-submit{
  color:#06111f;
  background:linear-gradient(180deg,#f0cf64,#c99a22);
  border-color:rgba(255,224,138,.72);
  text-shadow:none;
  opacity:1;
}
body.royal-night-mode .royal-x-command__btn,
body.royal-dark-mode .royal-x-command__btn,
body.royal-reading-dark .royal-x-command__btn,
html.royal-night-mode body .royal-x-command__btn,
html.royal-dark-mode body .royal-x-command__btn,
body.royal-night-mode .royal-masterpiece-top,
body.royal-dark-mode .royal-masterpiece-top,
body.royal-reading-dark .royal-masterpiece-top,
html.royal-night-mode body .royal-masterpiece-top,
html.royal-dark-mode body .royal-masterpiece-top,
body.royal-night-mode .royal-masterpiece-toc-toggle,
body.royal-dark-mode .royal-masterpiece-toc-toggle,
body.royal-reading-dark .royal-masterpiece-toc-toggle,
html.royal-night-mode body .royal-masterpiece-toc-toggle,
html.royal-dark-mode body .royal-masterpiece-toc-toggle{
  background:linear-gradient(145deg,rgba(7,24,43,.94),rgba(13,45,78,.92));
  color:#fff3c4;
  border-color:rgba(212,175,55,.45);
}
