/* Elements driven by admin → Ρυθμίσεις: contact bar, Viber/WhatsApp button, Google reviews.
   They use the theme's own Bootstrap buttons (btn-primary = the site colour) and fonts. */

/* contact bar above the footer */
.ib-cta { position: relative; padding: 40px 0; background: #f4f6f8 center / cover no-repeat; }
.ib-cta.has-image::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .55); }
.ib-cta .container { position: relative; }
.ib-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.ib-cta h2 { margin: 0 0 6px; font-family: 'Roboto Slab', serif; font-size: 26px; }
.ib-cta p { margin: 0; font-size: 16px; }
.ib-cta.has-image h2, .ib-cta.has-image p { color: #fff; }
.ib-cta-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.ib-cta-actions .btn { min-width: 170px; }
@media (max-width: 767px) { .ib-cta { text-align: center; } .ib-cta-inner { justify-content: center; } .ib-cta-actions { justify-content: center; } }

/* Viber / WhatsApp floating button */
.ib-chat { position: fixed; right: 20px; bottom: 20px; z-index: 1040; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.ib-chat-btn.btn { display: flex; align-items: center; gap: 10px; height: 52px; padding: 0 22px 0 18px; border-radius: 26px; font-size: 15px; font-weight: 500; box-shadow: 0 8px 24px rgba(0, 0, 0, .25); }
.ib-chat-btn .fas { font-size: 20px; }
.ib-chat-btn .open { display: flex; align-items: center; gap: 10px; }
.ib-chat-btn .close { display: none; float: none; opacity: 1; color: inherit; text-shadow: none; font-size: 20px; line-height: 1; font-weight: 400; }
.ib-chat.is-open .ib-chat-btn { width: 52px; padding: 0; justify-content: center; }
.ib-chat.is-open .ib-chat-btn .open { display: none; }
.ib-chat.is-open .ib-chat-btn .close { display: block; }
.ib-chat-panel { width: 280px; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 12px 40px rgba(0, 0, 0, .22); padding: 16px; }
.ib-chat-panel[hidden] { display: none; }
.ib-chat-title { margin: 0; font-weight: 700; font-size: 17px; color: #333; }
.ib-chat-note { margin: 4px 0 12px; font-size: 13px; color: #777; }
.ib-chat-opt { display: flex; align-items: center; gap: 12px; padding: 10px 12px; margin-top: 8px; border: 1px solid #ddd; border-radius: 6px; color: #333; text-decoration: none; }
.ib-chat-opt:hover, .ib-chat-opt:focus { background: #f6f6f6; color: #333; text-decoration: none; }
.ib-chat-opt .ico { flex: none; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; color: #fff; font-size: 20px; }
.ib-chat-opt strong { display: block; font-size: 15px; }
.ib-chat-opt small { display: block; font-size: 12px; color: #777; }
.ib-chat-opt.viber .ico { background: #7360f2; } .ib-chat-opt.viber:hover { border-color: #7360f2; }
.ib-chat-opt.whatsapp .ico { background: #1faf54; } .ib-chat-opt.whatsapp:hover { border-color: #1faf54; }
@media (max-width: 767px) {
    .ib-chat { right: 14px; bottom: 14px; }
    .ib-chat-btn.btn { width: 52px; padding: 0; justify-content: center; border-radius: 50%; }
    .ib-chat-btn .lbl { display: none; }
    .ib-chat-panel { width: min(280px, calc(100vw - 28px)); }
}
@media print { .ib-chat { display: none; } }

/* Google reviews on the home page */
.ib-reviews { margin: 30px 0; }
.ib-score { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 8px; }
.ib-score .num { font-size: 28px; font-weight: 700; }
.ib-score .count { color: #777; }
.ib-stars { color: #ccc; font-size: 20px; letter-spacing: 1px; }
.ib-stars .on { color: #f5b301; }
.ib-stars.sm { font-size: 15px; }
.ib-review { height: 100%; margin-bottom: 20px; padding: 18px; background: #fff; border: 1px solid #e5e5e5; border-radius: 6px; text-align: left; }
.ib-review .who { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.ib-review .who img { border-radius: 50%; }
.ib-review .when { display: block; font-size: 12px; color: #777; }
.ib-review p { margin: 8px 0 0; font-size: 14px; line-height: 1.55; }
.ib-reviews-foot { margin-top: 6px; color: #777; }
.ib-reviews-foot .btn { margin-left: 10px; }
