/* ===== Flowing Code – Hugo port: additions on top of the original theme CSS ===== */

/* --- Top notification banner (AppJars) --- */
.top_banner{position:fixed;top:0;left:0;right:0;z-index:1000001;background:#f7501f;color:#fff;font-size:15px;font-family:Manrope,sans-serif;display:flex;align-items:center;justify-content:center;padding:8px 44px 8px 16px;min-height:44px;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.top_banner[hidden]{display:none}
.top_banner_inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 12px;max-width:900px;text-align:center}
.top_banner_cta{display:inline-block;padding:7px 18px;background:#fff;color:#f7501f;border-radius:9999px;font-weight:600;text-decoration:none;line-height:1;white-space:nowrap}
.top_banner_cta:hover{background:#1e022a;color:#fff;text-decoration:none}
.top_banner_close{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:0;color:#fff;font-size:26px;line-height:1;cursor:pointer;padding:4px 10px;opacity:.85}
.top_banner_close:hover{opacity:1}
body.has-banner .site-header{top:44px}
body.has-banner #page{padding-top:44px}
@media (max-width:767px){.top_banner{font-size:13px;padding:6px 40px 6px 10px}.top_banner_cta{padding:6px 14px;font-size:13px}body.has-banner .site-header{top:0}body.has-banner #page{padding-top:0}body.has-banner .top_banner{position:relative}}

/* --- Header: mobile menu (class based instead of jQuery toggle) --- */
header.site-header .menu-header-container #menu_header.open{display:block}
@media (max-width:979px){
  header.site-header .menu-header-container #menu_header li.services_menu.active .sub-menu{display:block}
  header.site-header .menu-header-container #menu_header li.services_menu:hover .sub-menu{display:none}
  header.site-header .menu-header-container #menu_header li.services_menu.active:hover .sub-menu{display:block}
}
@media (min-width:980px){
  header.site-header .menu-header-container #menu_header li.services_menu.active .sub-menu{display:block}
}
header.site-header .home-link img{max-width:100%;height:auto}
header.site-header #menu_header li.lang-item img{width:16px;height:11px;vertical-align:middle}
header.site-header #menu_toggle{cursor:pointer}

/* --- Home: alliances carousel without slick --- */
#alliances .alliances_list{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-left:0;margin-right:0}
#alliances .alliances_list::-webkit-scrollbar{display:none}
#alliances .alliances_list .slick-slide{flex:0 0 33.3333%;max-width:33.3333%;scroll-snap-align:start;display:block;float:none}
@media (max-width:767px){#alliances .alliances_list .slick-slide{flex:0 0 85%;max-width:85%}}
#alliances .col-md-12{position:relative}
.fc-carousel-prev,.fc-carousel-next{display:none;position:absolute;top:50%;margin-top:-18px;background:transparent;border:0;color:#fff;font-size:28px;cursor:pointer;z-index:2;padding:4px 8px}
.fc-carousel-prev{left:-6px}.fc-carousel-next{right:-6px}
@media (max-width:767px){.fc-carousel-prev,.fc-carousel-next{display:block}}

/* --- Home: customers (make the logo cards keyboard-focusable) --- */
#home .customers .customer_icons .cust_container .cust_img:focus-visible{outline:2px solid #00ff80;outline-offset:2px}
#home .hero .services-grid a.service{color:inherit;text-decoration:none;display:block}

/* --- Blog: featured thumbnail background + tags --- */
#blog .featured_posts .post .thumbnail{background-size:cover;background-position:center;min-height:270px}
#blog .featured_posts .post .thumbnail.col-md-5{background-repeat:no-repeat}
#blogpost .single_cont .main .content .post_tags{margin-top:30px;font-size:14px;color:#404040}
#blogpost .single_cont .main .content .post_tags a{display:inline-block;margin:0 6px 6px 0;padding:2px 12px;border:1px solid #b441f9;border-radius:14px;color:#b441f9;text-decoration:none;font-size:13px}
#blogpost .single_cont .main .content .post_tags a:hover{background:#b441f9;color:#fff}
#blogpost .single_cont .main .content .post_tags .fa-tags{color:#b441f9;margin-right:6px}
#blogpost .single_cont .main .content img{max-width:100%;height:auto}
#blogpost .single_cont .main .content pre{margin:30px 0;border-radius:8px;overflow:auto}
#blogpost .single_cont .main .content pre code{display:block;padding:16px;font-size:14px;line-height:1.5;border-radius:8px}
#blogpost .single_cont .main .content iframe,#blogpost .single_cont .main .content video{max-width:100%}
#blogpost .single_cont .main .content table{width:100%;border-collapse:collapse;margin:20px 0}
#blogpost .single_cont .main .content table td,#blogpost .single_cont .main .content table th{border:1px solid #ddd;padding:6px 10px}

/* --- WordPress block layout classes used inside imported content --- */
.wp-block-image{margin:0 0 1em}
.wp-block-image img{max-width:100%;height:auto}
.wp-block-image.aligncenter,.aligncenter{text-align:center;margin-left:auto;margin-right:auto;display:block}
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}
.wp-block-image .alignleft{float:left;margin-right:1.5em}
.wp-block-image .alignright{float:right;margin-left:1.5em}
figure.alignright,figure.alignleft{max-width:50%}
.wp-block-media-text{display:grid;grid-template-columns:50% 1fr;grid-template-rows:auto;align-items:center;margin:1.5em 0}
.wp-block-media-text.has-media-on-the-right{grid-template-columns:1fr 50%}
.wp-block-media-text .wp-block-media-text__media{grid-column:1;grid-row:1;margin:0}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media{grid-column:2}
.wp-block-media-text .wp-block-media-text__content{grid-column:2;grid-row:1;padding:0 8%}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{grid-column:1}
.wp-block-media-text .wp-block-media-text__media img{max-width:100%;height:auto;vertical-align:middle}
@media (max-width:600px){.wp-block-media-text.is-stacked-on-mobile{grid-template-columns:100%!important}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media{grid-column:1;grid-row:1}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content{grid-column:1;grid-row:2}}
.wp-block-columns{display:flex;flex-wrap:wrap;gap:2em;margin-bottom:1.75em}
.wp-block-columns .wp-block-column{flex:1 1 0;min-width:0}
.wp-block-columns.are-vertically-aligned-center,.wp-block-column.is-vertically-aligned-center{align-items:center;align-self:center}
@media (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile) .wp-block-column{flex-basis:100%!important}}
.wp-block-gallery,.blocks-gallery-grid{display:flex;flex-wrap:wrap;gap:1em;list-style:none;padding:0;margin:0 0 1em}
.wp-block-gallery .blocks-gallery-item,.wp-block-gallery figure.wp-block-image{flex:1 1 calc(50% - .5em);margin:0}
.wp-block-gallery.columns-3 .blocks-gallery-item,.wp-block-gallery.columns-3 figure.wp-block-image{flex-basis:calc(33.333% - .67em)}
.wp-block-gallery img{width:100%;height:auto;object-fit:cover}
.wp-block-quote,blockquote{border-left:4px solid #b441f9;margin:1.5em 0;padding:.5em 1.5em;color:#404040;font-style:italic}
.wp-block-group__inner-container{width:100%}
.has-text-align-right{text-align:right}
.has-text-align-center{text-align:center}
.has-text-align-left{text-align:left}
figcaption{font-size:13px;color:#777;text-align:center;margin-top:6px}
mark{background:#00ff80}

/* --- Content pages (policies, change history) --- */
#content_page .content a{color:#00ff80}
#content_page .content h2,#content_page .content h3,#content_page .content h4{color:#fff;margin-top:1.5em}
#content_page .content ul{padding-left:1.5em}
#content_page .content img{max-width:100%;height:auto}

/* --- Footer badges: single centered row, better placement --- */
.site-footer .logos_footer_cont{border-top:1px solid rgba(255,255,255,.12);padding-top:24px}
.badges_row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:24px 48px}
.badges_row .badge_item{display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff;text-decoration:none;font-size:11px;line-height:1.3;max-width:220px}
.badges_row .badge_item:hover{color:#00ff80;text-decoration:none}
.badges_row .badge_item img{max-width:100%;height:auto;margin-bottom:6px}
.badges_row .badge_iso img{width:110px;height:110px}
.badges_row .badge_top img{width:200px;height:auto}
.badges_row .badge_clutch{min-width:200px;min-height:50px}
.badges_page .badges_row{background:rgba(255,255,255,.05);border-radius:16px;padding:40px 20px}
.site-footer .footer_copy{text-align:center;margin-top:20px;font-size:12px;color:rgba(255,255,255,.7)}
.site-footer .footer_copy a{color:rgba(255,255,255,.85)}
.site-footer .footer_copy p{margin:0}

/* --- Contact form (native, no CF7) --- */
.contact .form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.contact .form .form-control-wrap{display:block}
.contact .form .checkboxes label{display:flex;align-items:flex-start;gap:6px;color:#fff;font-size:13px;text-align:left;cursor:pointer}
.contact .form .checkboxes label input[type=checkbox]{width:auto;margin-top:3px}
.contact .form .checkboxes label a{color:#00ff80}
.contact .form .form-response{margin-top:16px;font-size:15px;min-height:1.5em;text-align:left}
.contact .form .form-response.success{color:#00ff80}
.contact .form .form-response.error{color:#ffb4a2}
.contact .form input[type=submit]:disabled{opacity:.6;cursor:wait}
.contact .form .cf-turnstile{margin:10px 0}
.contact .form .recaptcha-message{color:#fff;font-size:12px;text-align:left;margin-top:6px}
.contact .form input:focus-visible,.contact .form textarea:focus-visible{outline:2px solid #00ff80;outline-offset:1px}

/* --- Cookie notice (hidden attr) --- */
#cookie_msg[hidden]{display:none!important}
#cookie_msg:not([hidden]){display:block}

/* --- Misc / accessibility --- */
.skip-link{position:absolute;left:-9999px}
img{max-width:100%}
#error_404 img{display:block}
#service .description .left ul{padding-left:1.2em}
#service .description .left h2{color:#fff;font-size:26px;font-weight:400;margin:1.2em 0 .4em}
#service .description .left h3{color:#c679ff;font-size:20px;font-weight:400;margin:1em 0 .3em}
#joinus .busquedas .busquedas_post .busqueda_container .busqueda .thumbnail a{display:block}
#joinus .busquedas .busquedas_post .busqueda_container .busqueda .thumbnail img{width:100%}
#blogpost .single_cont .main .content > .apply{margin:30px 0;text-align:center}
#blogpost .single_cont .main .content > .apply a{color:#fff;background-color:#009100;padding:14px 27px;font-size:18px;border-radius:24px;display:inline-block;text-decoration:none}
#blogpost .single_cont .main .content > .apply a:hover{background-color:#b441f9}
#blogpost .single_cont .sidebar .other .other_post.join .title{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 15px}
#blogpost .single_cont .sidebar .other .other_post.join .title p{margin:0}
#blogpost .single_cont .sidebar .other .other_post.join .title a{color:#00ff80;font-size:18px}
#open_source .addons .addons_post .addon_container .addon .thumbnail img{width:100%}

/* --- Home: service pillar text (original had inline color:#fff) --- */
#home .services_main .service .content-block p{color:#fff}

/* --- Blog comments (giscus) --- */
#blogpost .comments .comments_cont{background:#1e022a;padding:40px 0 60px;margin-top:40px}
#blogpost .comments .comments_cont h6{color:#fff;font-size:28px;font-weight:300;margin:0 0 20px}
#blogpost .comments .giscus_cont{max-width:900px}
#blogpost .comments .giscus,#blogpost .comments .giscus-frame{width:100%}
