/* Extracted mechanically from body.tpl. No declarations changed. */

/* ===== body.tpl / original style block 1 ===== */
/* =========================================================
   GUESTBOOK ó SITE BRIDGE NAV
   Tutto scoped sotto .cc-gb-site-nav-wrap
   ========================================================= */

.cc-gb-site-nav-wrap {

  --ccgb-blue: #1172a8;
  --ccgb-blue-top: #2184b2;
  --ccgb-blue-bottom: #105d90;
  --ccgb-red: #d72638;

  position: relative;
  z-index: 3000;

  width: 100%;

  border-top:
    1px solid
    rgba(255,255,255,.20);

  border-bottom:
    1px solid
    #0d6b9f;

  background:
    linear-gradient(
      180deg,
      var(--ccgb-blue-top) 0%,
      var(--ccgb-blue) 50%,
      var(--ccgb-blue-bottom) 100%
    );

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    "Helvetica Neue",
    Arial,
    sans-serif;
}


.cc-gb-site-nav-wrap *,
.cc-gb-site-nav-wrap *::before,
.cc-gb-site-nav-wrap *::after {

  box-sizing: border-box;
}


.cc-gb-site-nav {

  position: relative;

  width:
    min(
      1160px,
      calc(100% - 40px)
    );

  min-height: 52px;

  margin: 0 auto;

  display: flex;
  align-items: stretch;
}


.cc-gb-site-nav__link,
.cc-gb-site-menu__summary {

  min-height: 52px;

  display: flex;
  align-items: center;

  padding:
    0
    13px;

  border: 0;
  background: transparent;

  color: #fff !important;

  text-shadow:
    0 1px 1px
    rgba(0,0,0,.25);

  font-size: .70rem;
  line-height: 1;
  font-weight: 900;

  letter-spacing: .045em;

  text-transform: uppercase;
  text-decoration: none;

  white-space: nowrap;
}


.cc-gb-site-nav__link:first-child {

  padding-left: 0;
}


.cc-gb-site-nav__link:hover,
.cc-gb-site-menu__summary:hover {

  background:
    rgba(0,70,120,.20);
}


.cc-gb-site-nav__link:focus-visible,
.cc-gb-site-menu__summary:focus-visible,
.cc-gb-site-drop a:focus-visible,
.cc-gb-site-mobile a:focus-visible,
.cc-gb-site-mobile summary:focus-visible {

  outline:
    3px solid
    rgba(255,255,255,.55);

  outline-offset: -3px;
}


.cc-gb-site-menu {

  position: static;
}


.cc-gb-site-menu__summary {

  cursor: pointer;
  list-style: none;
  user-select: none;
}


.cc-gb-site-menu__summary::-webkit-details-marker {

  display: none;
}


.cc-gb-site-menu__summary::after {

  content: "+";

  margin-left: 6px;

  color:
    rgba(255,255,255,.78);

  font-size: .64rem;
}


.cc-gb-site-menu[open]
.cc-gb-site-menu__summary {

  background:
    rgba(0,70,120,.22);
}


.cc-gb-site-menu[open]
.cc-gb-site-menu__summary::after {

  content: "-";
}


.cc-gb-site-drop {

  position: absolute;

  top: 100%;

  z-index: 10;

  min-width: 210px;

  padding:
    8px;

  border:
    1px solid
    #dedede;

  border-top:
    3px solid
    var(--ccgb-blue);

  background: #fff;

  box-shadow:
    0 14px 30px
    rgba(0,0,0,.14);
}


.cc-gb-site-drop a {

  display: block;

  padding:
    10px
    11px;

  border-bottom:
    1px solid
    #ededed;

  color: #222 !important;

  font-size: .72rem;
  line-height: 1.2;
  font-weight: 800;

  text-decoration: none;
}


.cc-gb-site-drop a:last-child {

  border-bottom: 0;
}


.cc-gb-site-drop a:hover {

  color:
    var(--ccgb-blue)
    !important;

  background: #f7f7f5;
}


.cc-gb-site-nav__wall {

  margin-left: auto;

  align-self: center;

  min-height: 34px;

  padding:
    0
    15px !important;

  border:
    1px solid
    rgba(255,255,255,.45);

  border-radius: 999px;

  background:
    linear-gradient(
      135deg,
      #d72638,
      #b91e2d
    );

  color: #fff !important;

  text-shadow: none;
}


.cc-gb-site-nav__wall::before {

  content: "";

  width: 7px;
  height: 7px;

  margin-right: 7px;

  border-radius: 50%;

  background: #fff;

  opacity: .9;
}


.cc-gb-site-nav__wall:hover {

  background:
    linear-gradient(
      135deg,
      #e12b3d,
      #c52030
    );
}


/* =========================================================
   MOBILE
   ========================================================= */

.cc-gb-site-mobile {

  display: none;

  margin: 0;

  background:
    linear-gradient(
      180deg,
      var(--ccgb-blue-top) 0%,
      var(--ccgb-blue) 50%,
      var(--ccgb-blue-bottom) 100%
    );

  color: #fff;
}


.cc-gb-site-mobile__toggle {

  min-height: 52px;

  display: flex;
  align-items: center;

  padding:
    0
    15px;

  cursor: pointer;
  list-style: none;

  color: #fff;

  font-size: .72rem;
  font-weight: 900;

  letter-spacing: .07em;
  text-transform: uppercase;
}


.cc-gb-site-mobile__toggle::-webkit-details-marker {

  display: none;
}


.cc-gb-site-mobile__toggle::before {

  content: "?";

  margin-right: 9px;

  font-size: .9rem;
}


.cc-gb-site-mobile__toggle::after {

  content: "+";

  margin-left: auto;
}


.cc-gb-site-mobile[open]
.cc-gb-site-mobile__toggle::after {

  content: "-";
}


.cc-gb-site-mobile__panel {

  padding:
    0
    14px
    14px;

  border-top:
    1px solid
    rgba(255,255,255,.18);

  background: #fff;
}


.cc-gb-site-mobile__panel > a,
.cc-gb-site-mobile-group > summary {

  min-height: 47px;

  display: flex;
  align-items: center;

  padding:
    0
    8px;

  border-bottom:
    1px solid
    #e7e7e7;

  color: #111 !important;

  font-size: .76rem;
  font-weight: 850;

  text-decoration: none;
}


.cc-gb-site-mobile-group > summary {

  cursor: pointer;
  list-style: none;
}


.cc-gb-site-mobile-group > summary::-webkit-details-marker {

  display: none;
}


.cc-gb-site-mobile-group > summary::after {

  content: "+";

  margin-left: auto;

  color: #999;
}


.cc-gb-site-mobile-group[open]
> summary::after {

  content: "-";
}


.cc-gb-site-mobile-group__body {

  padding:
    7px;

  background: #f7f7f5;
}


.cc-gb-site-mobile-group__body a {

  display: block;

  padding:
    9px
    8px;

  color: #222 !important;

  font-size: .71rem;
  font-weight: 800;

  text-decoration: none;
}


.cc-gb-site-mobile__wall {

  color:
    var(--ccgb-red)
    !important;
}


@media (max-width: 900px) {

  .cc-gb-site-nav {

    display: none;
  }


  .cc-gb-site-mobile {

    display: block;
  }
}


@media (min-width: 901px) and (max-width: 1080px) {

  .cc-gb-site-nav {

    width:
      calc(
        100%
        -
        24px
      );
  }


  .cc-gb-site-nav__link,
  .cc-gb-site-menu__summary {

    padding:
      0
      9px;

    font-size: .64rem;
  }
}

/* ===== body.tpl / original style block 2 ===== */
.cc-gb-wall-head {

  --gb-blue: #4d6fd1;
  --gb-red: #d13839;
  --gb-ink: #202020;
  --gb-muted: #747474;
  --gb-rule: #e5e5e5;

  max-width: 900px;

  margin:
    18px
    auto
    0;

  overflow: hidden;

  border:
    1px solid
    rgba(0,0,0,.08);

  border-radius: 12px;

  background: #fff;

  box-shadow:
    0 2px 7px
    rgba(0,0,0,.07);

  font-family:
    Verdana,
    Arial,
    sans-serif;
}


.cc-gb-wall-head *,
.cc-gb-wall-head *::before,
.cc-gb-wall-head *::after {

  box-sizing: border-box;
}


.cc-gb-wall-head__main {

  display: grid;

  grid-template-columns:
    minmax(0,1fr)
    auto;

  gap: 20px;

  align-items: center;

  padding:
    17px
    18px
    15px;

  border-top:
    4px solid
    var(--gb-blue);
}


.cc-gb-wall-head__identity {

  min-width: 0;
}


.cc-gb-wall-head__eyebrow {

  display: block;

  margin-bottom: 5px;

  color:
    var(--gb-blue);

  font-size: .62rem;

  line-height: 1;

  font-weight: 700;

  letter-spacing: .08em;

  text-transform: uppercase;
}


.cc-gb-wall-head__title {

  margin: 0;

  color:
    var(--gb-ink);

  font-size:
    clamp(
      1.35rem,
      3vw,
      1.9rem
    );

  line-height: 1;

  font-weight: 700;

  letter-spacing: -.03em;
}


.cc-gb-wall-head__stats {

  display: flex;

  flex-wrap: wrap;

  align-items: baseline;

  gap:
    5px
    9px;

  margin-top: 9px;

  color:
    var(--gb-muted);

  font-size: .72rem;

  line-height: 1.35;
}


.cc-gb-wall-head__stats strong {

  color:
    var(--gb-red);

  font-size: .86rem;

  font-weight: 700;
}


.cc-gb-wall-head__dot {

  color: #bbb;
}


.cc-gb-wall-head__actions {

  display: flex;

  align-items: center;

  gap: 8px;
}


.cc-gb-wall-head__action {

  min-height: 42px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  padding:
    0
    14px;

  border:
    1px solid
    #cfcfcf;

  border-radius: 7px;

  background: #fff;

  color:
    #333 !important;

  font-size: .72rem;

  line-height: 1;

  font-weight: 700;

  text-decoration: none;

  white-space: nowrap;
}


.cc-gb-wall-head__action:hover {

  border-color:
    var(--gb-blue);

  color:
    var(--gb-blue)
    !important;
}


.cc-gb-wall-head__action--primary {

  border-color:
    var(--gb-red);

  background:
    var(--gb-red);

  color:
    #fff !important;
}


.cc-gb-wall-head__action--primary:hover {

  border-color:
    #b62d2f;

  background:
    #b62d2f;

  color:
    #fff !important;
}


.cc-gb-wall-head__admin {

  width: 42px;
  height: 42px;

  flex:
    0
    0
    42px;

  display: grid;

  place-items: center;

  border:
    1px solid
    transparent;

  border-radius: 7px;

  opacity: .45;
}


.cc-gb-wall-head__admin:hover {

  border-color:
    #ddd;

  opacity: .8;
}


.cc-gb-wall-head__admin img {

  display: block;
}


.cc-gb-wall-head__pager {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 14px;

  min-height: 45px;

  padding:
    7px
    18px;

  border-top:
    1px solid
    var(--gb-rule);

  background:
    #fafafa;
}


.cc-gb-wall-head__pager-label {

  flex:
    0
    0
    auto;

  color:
    #929292;

  font-size: .63rem;

  font-weight: 700;

  letter-spacing: .04em;

  text-transform: uppercase;
}


.cc-gb-wall-head__pagination {

  min-width: 0;

  overflow-x: auto;

  text-align: right;

  scrollbar-width: thin;
}


.cc-gb-wall-head__pagination a {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  min-width: 34px;
  min-height: 34px;

  margin:
    2px
    1px;

  padding:
    0
    8px;

  border:
    1px solid
    #ddd;

  border-radius: 6px;

  background: #fff;

  color:
    #3d3d3d !important;

  font-size: .68rem;

  font-weight: 700;

  text-decoration: none;
}


.cc-gb-wall-head__pagination a:hover {

  border-color:
    var(--gb-blue);

  color:
    var(--gb-blue)
    !important;
}


.cc-gb-wall-head a:focus-visible {

  outline:
    3px solid
    rgba(77,111,209,.28);

  outline-offset: 2px;
}


@media (max-width: 680px) {

  .cc-gb-wall-head {

    margin-top: 12px;

    border-radius: 9px;
  }


  .cc-gb-wall-head__main {

    grid-template-columns: 1fr;

    gap: 14px;

    padding:
      15px
      14px
      13px;
  }


  .cc-gb-wall-head__actions {

    display: grid;

    grid-template-columns:
      minmax(0,1fr)
      minmax(0,1fr)
      42px;
  }


  .cc-gb-wall-head__action {

    min-height: 44px;
  }


  .cc-gb-wall-head__pager {

    align-items: flex-start;

    flex-direction: column;

    padding:
      9px
      14px
      11px;
  }


  .cc-gb-wall-head__pagination {

    width: 100%;

    text-align: left;
  }

}

/* ===== body.tpl / original style block 3 ===== */
/* =========================================================
   MURO ó AREA DI LETTURA / COMMENTI
   Palette neutra con soli accenti rossazzurri.
   ========================================================= */

.gb-wrapper {

  color: #242424;
}


.gb-wrapper .gb-entry {

  border:
    1px solid
    #e1e3e6 !important;

  box-shadow:
    0 1px 3px
    rgba(0,0,0,.055)
    !important;
}


.gb-wrapper .gb-entry:hover {

  border-color:
    #d5d8dc !important;
}


.gb-wrapper .gb-name {

  color:
    #105d90 !important;
}


.gb-wrapper .gb-meta {

  color:
    #787878 !important;
}


.gb-wrapper .gb-message {

  color:
    #202124 !important;

  text-align:
    left !important;
}


.gb-wrapper .gb-like-container {

  border-top:
    1px solid
    #ececec !important;
}


/* RISPOSTE / COMMENTI */

.gb-comment {

  position: relative;

  margin:
    10px
    0
    0
    12px;

  padding:
    12px
    14px
    12px
    16px;

  border:
    1px solid
    #e1e4e7;

  border-left:
    3px solid
    #1172a8;

  border-radius:
    0
    8px
    8px
    0;

  background:
    #f8f9fa;

  color:
    #262626;

  font-size:
    .86rem;

  line-height:
    1.48;
}


.gb-comment__head {

  display: flex;

  flex-wrap: wrap;

  align-items: baseline;

  gap:
    5px
    9px;

  margin-bottom:
    6px;
}


.gb-comment__author {

  color:
    #105d90;

  font-weight:
    700;
}


.gb-comment__date {

  color:
    #858585;

  font-size:
    .72rem;

  font-style:
    normal;
}


.gb-comment__host {

  color:
    #aaa;

  font-size:
    .66rem;
}


.gb-comment__body {

  color:
    #2b2b2b;

  word-wrap:
    break-word;
}


@media (max-width: 680px) {

  .gb-wrapper {

    padding:
      .7rem !important;
  }


  .gb-head {

    display:
      none !important;
  }


  .gb-comment {

    margin-left:
      4px;

    padding:
      11px
      12px
      11px
      13px;
  }

}

/* ===== body.tpl / original style block 4 ===== */
/* =========================================================
   MURO ó EMBED SOCIAL / FACEBOOK
   Evita overflow e mantiene il post subordinato al messaggio.
   ========================================================= */

.gb-message {

  min-width: 0;

  max-width: 100%;

  overflow-wrap: anywhere;
}


.gb-message img,
.gb-message video {

  max-width: 100%;

  height: auto;
}


/*
 * Fallback anche senza JavaScript:
 * il contenuto esterno non puÚ allargare il Muro.
 */
.gb-message iframe,
.gb-message .fb-post,
.gb-message .fb-video,
.gb-message .fb_iframe_widget,
.gb-message .fb_iframe_widget span {

  max-width: 100%;
}


.gb-entry.has-social-embed
.gb-message {

  /*
   * Il pre-line Ë utile per i normali messaggi testuali,
   * ma rende poco elegante l'HTML degli embed.
   */
  white-space: normal !important;
}


/* CONTENITORE CREATO DALLO SCRIPT */

.gb-social-embed {

  width: 100%;

  max-width: 540px;

  margin:
    14px
    auto
    8px;

  overflow: hidden;

  border:
    1px solid
    #dde1e5;

  border-radius:
    10px;

  background:
    #f8f9fa;
}


.gb-social-embed__head {

  min-height: 39px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 12px;

  padding:
    8px
    11px;

  border-bottom:
    1px solid
    #e4e6e8;

  background:
    #fff;
}


.gb-social-embed__label {

  display: inline-flex;

  align-items: center;

  gap: 7px;

  color:
    #555;

  font-size:
    .67rem;

  font-weight:
    700;

  letter-spacing:
    .025em;
}


.gb-social-embed__label::before {

  content: "";

  width: 7px;
  height: 7px;

  flex:
    0 0
    7px;

  border-radius:
    50%;

  background:
    #1172a8;
}


.gb-social-embed__external {

  color:
    #1172a8 !important;

  font-size:
    .62rem;

  font-weight:
    700;

  text-decoration:
    none;
}


.gb-social-embed__external:hover {

  text-decoration:
    underline;

  text-underline-offset:
    2px;
}


.gb-social-embed__viewport {

  position: relative;

  width: 100%;

  overflow: hidden;

  background:
    #fff;
}


.gb-social-embed__viewport
.fb_iframe_widget {

  display: block !important;

  margin:
    0 !important;
}


/*
 * Lo script applica transform:scale() solo se necessario.
 * Non imponiamo width:100% all'iframe Facebook perchÈ
 * rischierebbe di tagliare il layout interno del plugin.
 */
.gb-social-embed__viewport iframe {

  display: block;

  max-width: none !important;

  border: 0 !important;
}


@media (max-width: 680px) {

  .gb-social-embed {

    max-width: 100%;

    margin-top:
      11px;

    border-radius:
      8px;
  }


  .gb-social-embed__head {

    min-height:
      37px;

    padding:
      7px
      9px;
  }


  .gb-social-embed__label {

    font-size:
      .63rem;
  }


  .gb-social-embed__external {

    font-size:
      .59rem;
  }

}

/* ===== body.tpl / original style block 5 ===== */
/* =========================================================
   MURO ó RITMO VERTICALE DEI MESSAGGI / QUOTE
   Riduce gli spazi doppi prodotti dal markup legacy.
   ========================================================= */

.gb-message {

  /*
   * Il motore del Guestbook inserisce gi‡ le interruzioni
   * nel contenuto. pre-line tende quindi a raddoppiarle.
   */
  white-space:
    normal !important;

  line-height:
    1.43 !important;
}


/* PARAGRAFI */

.gb-message p {

  margin:
    .38em
    0;
}


.gb-message p:first-child {

  margin-top: 0;
}


.gb-message p:last-child {

  margin-bottom: 0;
}


/* QUOTE SEMANTICI */

.gb-message blockquote {

  margin:
    .55em
    0;

  padding:
    .55em
    .75em;

  border-left:
    3px solid
    #c9d4dc;

  background:
    #f6f7f8;

  color:
    #444;

  line-height:
    1.38;
}


.gb-message blockquote > :first-child {

  margin-top:
    0 !important;
}


.gb-message blockquote > :last-child {

  margin-bottom:
    0 !important;
}


/*
 * Compatibilit‡ con possibili classi legacy
 * generate dal parser BBCode del Guestbook.
 */
.gb-message .quote,
.gb-message .quote-box,
.gb-message .quotebox,
.gb-message .quotecontent,
.gb-message .quote-content {

  margin:
    .55em
    0 !important;

  padding:
    .55em
    .75em !important;

  border-left:
    3px solid
    #c9d4dc;

  background:
    #f6f7f8;

  color:
    #444;

  line-height:
    1.38;
}


/*
 * Evita che HR interni ai vecchi quote producano
 * grandi blocchi vuoti.
 */
.gb-message blockquote hr,
.gb-message .quote hr,
.gb-message .quote-box hr,
.gb-message .quotebox hr,
.gb-message .quotecontent hr,
.gb-message .quote-content hr {

  margin:
    .4em
    0;

  border: 0;

  border-top:
    1px solid
    #dde1e4;
}


/*
 * Gli <br> restano validi, ma il contenitore non aggiunge
 * pi<breve> un secondo spazio attraverso white-space:pre-line.
 */
.gb-message br {

  line-height:
    1.2;
}


/* COMMENTI / RISPOSTE */

.gb-comment__body {

  line-height:
    1.42;
}


.gb-comment__body p {

  margin:
    .32em
    0;
}


.gb-comment__body p:first-child {

  margin-top:
    0;
}


.gb-comment__body p:last-child {

  margin-bottom:
    0;
}


.gb-comment__body blockquote {

  margin:
    .5em
    0;

  padding:
    .5em
    .7em;

  border-left:
    3px solid
    #c9d4dc;

  background:
    #fff;

  color:
    #444;
}


@media (max-width: 680px) {

  .gb-message {

    line-height:
      1.4 !important;
  }


  .gb-message blockquote,
  .gb-message .quote,
  .gb-message .quote-box,
  .gb-message .quotebox,
  .gb-message .quotecontent,
  .gb-message .quote-content {

    margin:
      .45em
      0 !important;

    padding:
      .5em
      .65em !important;
  }

}


/* =========================================================
   ENTRY.TPL - STATIC INLINE STYLES EXTRACTED
   Fase conservativa: stessi valori del template precedente.
   ========================================================= */

.gb-wrapper .gb-entry {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem;
  background: #fff;
  border: 1px solid #e1e3e6;
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(0,0,0,.055);
  padding: 1rem 1.05rem;
  margin-bottom: 1rem;
  font-family: system-ui, 'Segoe UI', Roboto, sans-serif;
}

.gb-wrapper .gb-author {
  width: 160px;
  text-align: center;
  flex-shrink: 0;
}

.gb-wrapper .gb-avatar {
  width: 96px;
  height: 96px;
  margin: 0 auto 8px auto;
  border-radius: 50%;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}

.gb-wrapper .gb-name {
  font-weight: 700;
  color: #105d90;
  font-size: .95rem;
}

.gb-wrapper .gb-location {
  font-size: .85rem;
  color: #666;
  margin-top: 3px;
}

.gb-wrapper .gb-content {
  flex: 1;
  min-width: 200px;
}

.gb-wrapper .gb-meta {
  font-size: .85rem;
  color: #555;
  margin-bottom: 6px;
}

.gb-wrapper .gb-entry-separator {
  border: none;
  border-top: 1px solid #eee;
  margin: 8px 0;
}

.gb-wrapper .gb-message {
  font-size: 1rem;
  line-height: 1.43;
  color: #222;
  white-space: normal;
  word-wrap: break-word;
  text-align: left;
  padding-right: 6px;
  margin-bottom: .3rem;
}

.gb-wrapper .gb-like-container {
  margin-top: 8px;
  text-align: right;
  border-top: 1px solid #ececec;
  padding-top: 6px;
}

.gb-wrapper .gb-comments {
  margin-top: 10px;
}

.gb-wrapper .gb-entry-number {
  text-align: right;
  font-size: .8rem;
  color: #777;
  margin-top: .5rem;
  border-top: 1px solid #ececec;
  padding-top: .5rem;
  width: 100%;
}


/* =========================================================
   INLINE STYLE EXTRACTION - PHASE 3 (2026-08-16)
   Mechanical move from body.tpl / entry.tpl / gb.class.php.
   Values intentionally match the previous inline declarations.
   ========================================================= */

.gb-body-spacer {
  padding: 7px;
  clear: both;
}

.gb-search {
  max-width: 900px;
  margin: 1rem auto;
  padding: .5rem 1rem;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
}

main.gb-wrapper {
  max-width: 900px;
  margin: 0 auto;
  padding: 1rem;
  background: #f4f5f6;
  border: 1px solid #e1e3e6;
  border-radius: 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}

.gb-wrapper .gb-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-weight: 700;
  color: #555;
  background: #fff;
  padding: .7rem .85rem;
  border: 1px solid #e2e2e2;
  border-top: 3px solid #1172a8;
  border-radius: 8px;
  margin-bottom: .9rem;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.gb-head__author {
  width: 30%;
  min-width: 120px;
}

.gb-head__message {
  flex: 1;
}

.gb-entries {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.gb-footer {
  max-width: 900px;
  margin: 1.5rem auto;
  padding: .8rem 1rem;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 1px 4px rgba(0,0,0,.08);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  font-size: .9rem;
  font-family: Verdana,sans-serif;
  color: #222;
}

.gb-pagination-wrapper {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: .8rem;
}

.gb-pagination {
  display: inline-flex;
  gap: .4rem;
  background: #fff;
  padding: .5rem 1rem;
  border-radius: 999px;
  box-shadow: 0 2px 6px rgba(0,0,0,.1);
}

.gb-search-form {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}

.gb-search-form__label {
  font-size: .9rem;
  color: #333;
}

.gb-search-form__input {
  flex: 1;
  padding: 6px 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: .9rem;
}

.gb-search-form__select {
  padding: 6px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: .9rem;
}

.gb-search-form__button {
  background: #0a66c2;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 6px 12px;
  cursor: pointer;
  font-size: .9rem;
}

.gb-search-message {
  margin-top: .5rem;
  color: #b40000;
  font-size: .85rem;
  text-align: center;
}

.gb-adblock {
  background: #fff7f7;
  border: 1px solid #f3c2c2;
  border-radius: 10px;
  padding: 14px 18px;
  margin: 0 0 1rem 0;
  box-shadow: 0 2px 5px rgba(0,0,0,.05);
  text-align: center;
  font-size: 1rem;
  color: #222;
}


.gb-wrapper .gb-avatar:empty {
  display: none;
}

.gb-wrapper .gb-avatar__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}

.gb-host {
  color: #666;
  font-size: .8rem;
}

.gb-badge {
  font-size: .8rem;
  color: #fff;
  padding: 2px 6px;
  border-radius: 4px;
  display: inline-block;
  margin-top: 4px;
}

.gb-badge--red { background: #d33; }
.gb-badge--blue { background: #3366cc; }
.gb-badge--green { background: #2a8a3b; }

.gb-wrapper .gb-like-btn {
  cursor: pointer;
  background: #e7f0ff;
  border: 1px solid #a8c9ff;
  border-radius: 5px;
  padding: 2px 8px;
  font-size: .8rem;
  color: #036;
}

.gb-wrapper .gb-reply-btn {
  display: inline-block;
  margin-left: 10px;
  font-size: .9rem;
  color: #0a66c2;
  text-decoration: none;
}

.gb-permalink-icon {
  border: 0;
}

.gb-monthly-ranking {
  margin: 20px auto 10px;
  max-width: 600px;
  background: linear-gradient(90deg,#f9f9f9,#f2f2f2);
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 10px 15px;
  box-shadow: 0 0 6px rgba(0,0,0,.05);
  font-size: .9rem;
  color: #333;
}

.gb-monthly-ranking__title {
  font-weight: 600;
  color: #b40000;
  margin-bottom: 8px;
  text-align: center;
}

.gb-monthly-ranking__row {
  display: flex;
  justify-content: space-between;
  padding: 4px 0;
  border-bottom: 1px dotted #ccc;
}

.gb-monthly-ranking__name { color: #555; }
.gb-monthly-ranking__name--top { color: #b40000; }
.gb-monthly-ranking__count { color: #666; }

.gb-monthly-ranking__empty {
  text-align: center;
  color: #999;
  font-style: italic;
}
