/*
Theme Name: Insuren
Theme URI: https://shtheme.com/demosd/insuren
Author: Shtheme
Author URI: https://themeforest.net/user/shtheme
Description: Insuren is a fully responsive fast and easy customizable trendy business and corporate WordPress theme. Insuren provides you so many awesome features like business, consulting firms, finance, agency, corporate company, business agency, digital agency, tax information, start up business, insurance, loan, investment firm.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: two-columns, three-columns, left-sidebar, right-sidebar, custom-background, custom-header, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready
Text Domain: insuren

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

/* ========TABLE OF CONTENTS==========
00. Body, links, hgroup, paragraphs, general styles
01. Fixed header & Navigation
02. Section Intro (Home)
03. Section About
04. Section Resume
05. Section Portfolio
06. Section Blog
07. Section Contact
08. Footer
09. Loader
10. Responsive design

/*--------------------------------------------------
    00. Body, links, hgroup, paragraphs, general styles
---------------------------------------------------*/



a {
  color: var(--body-font-color);
}

a[rel="author"] {
  color: var(--body-font-color);
  text-transform: capitalize;
}

.comment-form-cookies-consent {
    display: none;
}

form#contact-form > div {
    padding-left: 0px;
    padding-right: 0px;
    display: inline-block;
}

form#contact-form div.col-lg-6 {
    max-width: 48%;
}

form#contact-form div.col-lg-6:nth-child(2) {
    float: right;
}

h3.comment-reply-title {
    margin-bottom: 30px;
    text-transform: capitalize;
    font-size: 26px;
}

.comments-area h3.comments-title {
  font-size: 26px;
}

h6.comment-author a {
  color: var(--body-font-color);
  text-transform: capitalize;
}

p.logged-in-as a {
  color: var(--body-font-color);
}

span.required-field-message {
  display: none;
}

.service-details-page .news-wrapper .news-details h4.the-title {
  font-size: 30px;
  margin-bottom: 15px;
  margin-top: 15px;
}

.block-quote {
  padding: 30px;
  background: #fff;
  border-left: 5px solid var(--primary-color);
  position: relative;
  overflow: hidden;
  font-weight: 500;
  margin-bottom: 20px;
  margin-top: 20px;
}

.block-quote span {
  display: block;
  margin-top: 15px;
}

.block-quote:after {
  display: none;
}

.sidebar-widget.widget_search {
  padding: 30px;
}

.sidebar-widget.widget_categories h4.single-blog-widget-title {
  margin-bottom: 20px;
}

.sidebar-widget.widget-popular-posts h4.single-blog-widget-title {
  margin-bottom: 30px;
}

.sidebar-widget.widget_tag_cloud h4.single-blog-widget-title {
  margin-bottom: 15px;
}

.sidebar-widget.widget_categories ul li, .sidebar-widget.widget-archives ul li {
  display: inherit;
  padding: 5px 0;
}

.news-sidebar-widget .widget-categories ul li a, .news-sidebar-widget .widget-archives ul li a {
  color: var(--body-font-color);
}

.news-sidebar-widget .widget_categories ul li a:before {
  content: "\f0da";
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  margin-right: 10px;
  color: var(--primary-color);
  vertical-align: middle;
}

.news-sidebar-widget .widget_categories ul li, .news-sidebar-widget .widget_archive ul li {
    display: inherit;
    padding: 10px 0;
    border-bottom: 1px dashed #ccc;
}

.news-sidebar-widget .widget_categories ul li:last-child {
    border-bottom: none;
    padding-bottom: 0px;
    margin-bottom: 0px;
}

.widget-popular-posts div.post-image img {
  max-width: inherit;
}

.wp-tag-cloud li {
    display: inline-block;
    padding-bottom: 0px !important;
}

.wp-tag-cloud li a {
  background: #fff;
  color: var(--body-font-color);
    font-size: 14px!important;
    margin-right: 10px;
    margin-top: 14px;
    padding: 5px 16px 5px 16px;
    display: inline-block;
}

.wp-tag-cloud li:hover a {
    color: #fff;
    background: var(--primary-color);
}

.single-news-content .news-thumb, .news-wrapper .news-thumb {
  max-height: 450px;
}

.service-details-page .row > .col-xl-8 {
  padding: 0px 30px;
}

.service-details-page .row > .news-wrapper {
  padding: 0px;
}

.pagination-list li span.current {
  font-weight: 500;
  height: 54px;
  width: 54px;
  line-height: 54px;
  display: inline-block;
  position: relative;
  border-radius: 50%;
  border: 1px solid transparent;
  background: var(--primary-color);
  color: #fff;
}

.news-wrapper .news-details .news-description .news-bottom-meta,
.blog-single-news .single-news-details .single-news-content .comments-area .comment-list .comment .comment-body .comment-content .comment-meta .comment-metadata span {
  color: var(--body-font-color);
}

.search-custom form.search-form {
  position: relative;
  width: 70%;
}

.search-custom form.search-form label {
  width: 100%;
}

.search-custom form.search-form input {
  background: #f3f3f5;
  height: 60px;
  padding: 6px 25px;
  border: 1px solid #f3f3f5;
  width: 100%;
  display: block;
  outline: 0;
  -moz-transition: 0.5s;
  -webkit-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  border-radius: 30px;
  outline-offset: -2px;
  -webkit-appearance: textfield;
}

.search-custom form.search-form button {
  position: absolute;
  right: 5px;
  outline: 0;
  bottom: 5px;
  height: 50px;
  width: 50px;
  z-index: 1;
  border: none;
  color: #ffffff;
  background-color: var(--primary-color);
  -moz-transition: 0.5s;
  -webkit-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  cursor: pointer;
  border-radius: 30px;
}

.search-custom > h4 {
  font-size: 24px;
  line-height: 34px;
  margin-bottom: 20px;
}

.service-link-list ul li a:before {
  content: "\f054";
  margin-right: 10px;
  font-size: 13px;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

.service-link-list ul li:hover a:before {
  margin-right: 12px;
}

.header-top-area .header-top-right-part .social-links::after {
  display: none;
}

.header-top-area .header-top-right-part .social-links li:last-child {
  margin-right: 0px;
}

.footer-main-area form br {
  display: none;
}



@media (min-width: 768px) {
  .logged-in .header-style-two .header-wrapper .header-navigation-area.fixed {
    top: 32px;
  }
}

@media (min-width: 600px) and (max-width: 768px) {
  .logged-in .header-style-two .header-wrapper .header-navigation-area.fixed {
    top: 44px;
  }
}

.mean-container .mean-nav ul li li a {
  opacity: 1;
}

.single-news-content .news-description h4.the-title {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 15px;
  margin-top: 15px;
}

.footer-main-area form div.wpcf7-validation-errors {
	color: #fff;
}

.footer-widget-list li a {
	color: #fff;
}

.footer-main-area p.text-light-gray {
	color: #fff;
}

.footer-bottom-area span.text-light-gray {
	color: #fff;
}


.project-details-content .order-list li{
	text-transform:capitalize;
}
span.wpcf7-not-valid-tip{
	color:white;
	margin-top:10px;
}
.footer-main-area form div.wpcf7-validation-errors{
	margin-left:0px;
	border: 2px solid white;
}

@media(min-width: 991px) and (max-width: 1200px) {
	.home_banner_02 .home-carousel .slide-item .auto-container,
	.home_banner_03 .home-carousel .slide-item .auto-container {
		max-width: 960px;
	}
	
	.home_banner_02 .home-carousel .slide-item .auto-container .content-box,
	.home_banner_03 .home-carousel .slide-item .auto-container .content-box{
		padding: 0px;
	}
}

@media(min-width: 1201px) and (max-width: 1400px) {
	.home_banner_02 .home-carousel .slide-item .auto-container, 
	.home_banner_03 .home-carousel .slide-item .auto-container {
		max-width: 1140px;
	}
	
	.home_banner_02 .home-carousel .slide-item .auto-container .content-box,
	.home_banner_03 .home-carousel .slide-item .auto-container .content-box {
		padding: 0px;
	}
}

.header-style-two .header-wrapper .header-navigation-area .main-menu ul li.has-sub {
	margin-right: 64px;
}

.header-style-two .header-wrapper .header-navigation-area .main-menu ul li:last-child {
    margin-right: 0;
}

.comments-area ol.comment-list {
	padding-bottom: 20px;
}

.single-post .page-title-section .breadcrumb-area .page-title {
	letter-spacing: 1px;
	margin-bottom: 40px;
}

.mean-container .mean-nav ul li a.mean-expand {
	font-size: 24px!important;
    border: none;
    background: inherit;
}

.mean-container .mean-nav ul li a.mean-expand:hover {
    background: inherit;
}

img#logo-image, .side-panel-logo img, .footer-logo1 {
	max-width: 160px;
}

header.header-style-two {
	height: 100%!important;
}

@media screen and (max-width: 600px) {
	.why-choose-us-image-block {
		width: 500px;
	}
	.company-img:after {
		right: -12px;
	}
}

@media screen and (max-width: 425px) {
	.home_banner_02 {
		max-height: 569px;
	}
	
	.header-style-two .header-wrapper .header-navigation-area {
		z-index: 0;
	}
	
	.why-choose-us-image-block {
		width: 360px;
	}
    .header-top-area {
        padding: 0; /* Remove all padding */
    }
}

@media screen and (max-width: 361px) {
	.why-choose-us-image-block {
		width: 350px;
	}
}

@media screen and (max-width: 300px) {
	.why-choose-us-image-block {
		width: 250px;
	}
}

@media (max-width: 768px) {
    img#logo-image {
        width: 150px; /* Set the logo width to 140px */
        height: auto; /* Maintain aspect ratio */
    }
}

@media (max-width: 991px) {
    .header-wrapper .header-navigation-area {
        padding-top: 0; /* Remove top padding */
    }
    .header-style-one .header-wrapper .header-navigation-area {
        padding: 0; /* Remove all padding */
    }
}

/* Hide the floating contact form on mobile devices */
@media (max-width: 768px) {
    .hide-on-mobile {
        display: none;
    }
}
/*---- PW ---- /

/* Navigation Items */

.nav-items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}

.nav-item {
  margin-right: 10px;
}

.nav-link {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 7px 0;
}

.nav-link-document {
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.nav-link-document-text {
  justify-content: center;
  display: flex;
  flex-direction: column;
  color: white;
  font-size: 16px;
  font-family: 'Red Hat Display', sans-serif;
  font-weight: 700;
  line-height: 26px;
  word-wrap: break-word;
}

.nav-link-button {
  /* width: 308.37px; */
  height: 37px;
  padding: 18px 10px;
  background: #0446D2;
  overflow: hidden;
  border-radius: 5px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: flex;
  text-transform: uppercase;
}

.nav-link-icon {
  width: 21px;
  height: 25.61px;

}

.nav-link-icon-arrow {
  width: 8.52px;
  height: 8.52px;
  
  background: var(--white-70%, rgba(255, 255, 255, 0.70));
}

.nav-link-icon-background {
  width: 21px;
  height: 25.61px;
  left: 0px;
  top: 0px;
  position: absolute;
  background: var(--white-70%, rgba(255, 255, 255, 0.70));
}

.nav-link-text {
  text-align:center;
  padding-inline:20px;
  justify-content: center;
  display: flex;
  flex-direction: column;
  color: white;
  font-size: 14px;
  font-family: 'Red Hat Display', sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 17px;
  word-wrap: break-word;
}
.besoin-assurance {
  text-align:end;
  line-height: 17px;
  word-wrap: break-word;
}

.nav-link-facebook {
  padding-top: 7px;
  padding-bottom: 7.80px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.nav-link-icon-facebook {
  text-align: right;
  justify-content: center;
  display: flex;
  flex-direction: column;
  color: white;
  font-size: 14px;
  font-family: 'Font Awesome 5 Brands', sans-serif;
  font-weight: 400;
  line-height: 14px;
  word-wrap: break-word;
}

.nav-link-twitter {
  padding-top: 7px;
  padding-bottom: 7.80px;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-end;
  display: inline-flex;
}

.nav-link-icon-twitter {
  text-align: right;
  justify-content: center;
  display: flex;
  flex-direction: column;
  color: white;
  font-size: 14px;
  font-family: 'Font Awesome 5 Brands', sans-serif;
  font-weight: 400;
  line-height: 14px;
  word-wrap: break-word;
}
.nav-items .menu-item {
    list-style: none;
    display: inline-block;
    margin-right: 15px;
}

.nav-items .menu-item a {
    text-decoration: none;
  /* color: #001B54;  Adjust to match your theme */
    font-weight: bold;
}

.nav-items .menu-item a:hover {
    color: #007bff; /* Adjust hover color */
}
/* Tabs Container */
.tabs-container {
  width: 100%;
  height: 100%;
  position: relative;
  display : flex;
  align-items:flex-end;
 /* background: #F6F7FC;*/
}

/* Tab Item */
.tab-item {
  padding: 9px 15px;
  background: var(--very-light, #99ADD8);
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: inline-flex;
}

/* Active Tab Item */
.tab-item.active {
  background: var(--color-white-solid, white);
}

/* Tab Text */
.tab-text {
  justify-content: center;
  display: flex;
  flex-direction: column;
  font-size: 18px!important;
  font-family: Red Hat Display;
  font-weight: 700!important;
  line-height: 24px;
  word-wrap: break-word;
}

/* Tab Text Color */
.tab-item.active .tab-text {
  color: var(--lloyd-blue, #001B54);
}

.tab-item:not(.active) .tab-text {
  color: var(--color-white-solid, white);
}
/* Divider */
.divider {
 height: 30px; border-right: 1px solid var(--very-light, #99ADD8);
  outline: 1px var(--very-light, #99ADD8) solid;
  outline-offset: -0.50px;
}
.nav-button {
  width: 308.37px;
  height: 45px;
 color: white;
 font-size: 14px;
 font-family: Red Hat Display;
 font-weight: 500;
 text-transform: uppercase;
 background: var(--lloyd-blue, #001B54);
 line-height: 26px;
 word-wrap: break-word;
  padding: 18px 46px;
  overflow: hidden;
  border-radius: 5px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: flex;
  margin-top:10px;
}
.nav-link.nav-button {
    line-height: 1.2; /* Adjust the value as needed */
}
.header-buttons {
	padding: 10px 0px;
  display: flex;
  justify-content: flex-end;
}
.floating-contact-form {
    position: absolute;
    top: 50%;
    right: 80px;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.70);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 15px; /* Reduced padding */
    border-radius: 8px;
    z-index: 10;
    width: 375px; /* Reduced width by 25% */
}

.floating-contact-form form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.floating-contact-form input,
.floating-contact-form textarea,
.floating-contact-form button {
    width: 100%;
    padding: 8px; /* Adjusted padding for inputs */
    border: 1px solid #ddd;
    border-radius: 4px;
    height: 40px; 
}

.floating-contact-form button {
    background: #007bff;
    color: #fff;
    border: none;
    cursor: pointer;
}

.floating-contact-form button:hover {
    background: #0056b3;
}


		.call-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80%; /* Full width */
    padding: 18px;
    background: #eda796; /* Green background */
    border-radius: 5px;
    text-decoration: none;
    color: white;
    overflow: hidden;
}

.call-button-icon {
    
    font-size: 50px; /* Adjust font size if needed */
    color: rgba(255, 255, 255, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px; /* Add spacing between icon and text */
    
   
}

.call-button-text {
    color: white;
    font-size: 32px;
    font-family: 'Red Hat Display', sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 26px;
    word-wrap: break-word;
    text-align: center;
}
.form-title-style {
    color: var(--lloyd-blue, #001B54);
    font-size: 38px;
    font-family: 'Red Hat Display', sans-serif;
    font-weight: 400;
    line-height: 55.20px;
    word-wrap: break-word;
}
.lloyd-blocks-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 20px;
}

.lloyd-block-item {
    width: calc(50% - 10px); /* Two blocks per row on larger screens */
    display: flex;
    align-items: flex-start;
    gap: 15px;
    background: rgba(255, 255, 255, 0.1);
    padding: 15px;
    border-radius: 8px;
}

.lloyd-block-icon {
    font-size: 40px;
    color: var(--color-white-solid, white);
}

.lloyd-block-content {
    flex: 1;
}

.lloyd-block-title {
    font-size: 22px;
    font-family: 'Red Hat Display', sans-serif;
    font-weight: 800;
    color: var(--color-white-solid, white);
    margin: 0 0 5px;
}

.lloyd-block-description {
    font-size: 16px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    color: white;
    line-height: 1.8;
    margin: 0;
}

/* Responsive Layout for Mobile Devices */
@media (max-width: 768px) {
    .lloyd-block-item {
        width: 100%; /* Full width for each block on mobile */
        flex-direction: column; /* Stack content vertically */
        align-items: flex-start;
    }

    .lloyd-block-icon {
        margin-bottom: 10px; /* Add spacing between the icon and the content */
    }
    .tab-text {
      font-size: 16px !important;
  }
    .tabs-container {
        flex-wrap: nowrap; /* Allow wrapping of tab items */
    }

    .tab-item:first-child {
      flex-grow: 0; /* Do not grow */
      flex-shrink: 0; /* Do not shrink */
      flex-basis: auto; /* Fit content */
    }
  
    .tab-item:last-child {
      flex-grow: 1; /* Occupy remaining space */
      flex-shrink: 1; /* Allow shrinking if needed */
      flex-basis: 0; /* Start with no fixed size */
      max-width: 160px!important ;
    }

    .nav-link-button {
      margin: 0; /* Remove any margin */
      padding: 0; /* Remove any padding */
    }
  .top-header-lld-right {
    justify-content: center; /* Center content horizontally */
  }
    header .logo img {
        max-width: 40%; /* Reduce the logo size to 60% */
        height: auto; /* Maintain aspect ratio */
    }
}
/* Initially, the top area is visible */
.header-top-area {
    position: relative;
    width: 100%;
    background-color: #001B54; /* Adjust as needed */
    z-index: 10;
    transition: top 0.3s ease-in-out; /* Smooth transition for hiding */
}

/* Hide the top area when scrolling */
.header-top-area.hidden {
    /*top: -100px;  Move it out of view */
}

/* The navigation area becomes fixed on scroll */
.header-navigation-area {
    position: relative;
    width: 100%;
    z-index: 99;
    background-color: #fff; /* Adjust as needed */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Optional shadow for better visibility */
    transition: top 0.3s ease-in-out; /* Smooth transition for fixing */
}

/* When fixed, the navigation area stays at the top */
.header-navigation-area.fixed {
    position: fixed;
    top: 0;
    left: 0;
}

@media (max-width: 1024px) { 
  .tab-text {
    font-size: 16px !important;
}/* Tablet and smaller */
    .desktop-only {
        display: none !important; /* Ensure it is hidden on smaller devices */
    }
}

.mean-nav ul {
    display: flex; /* Use flexbox for layout */
    flex-direction: column; /* Arrange items in a column */
    list-style: none; /* Remove default list styling */
    padding: 0; /* Remove default padding */
    margin: 0; /* Remove default margin */
    width: 100%; /* Ensure it spans the full width */
}

.mean-nav ul li {
    /*margin-bottom: 10px;  Add spacing between items */
    text-align: left; /* Align text to the left */
}

.mean-nav ul li a {
    display: block; /* Ensure links take up the full width */
    padding: 10px 15px; /* Add padding for better spacing */
    text-decoration: none; /* Remove underline from links */
    color: #001B54; /* Adjust text color */
    font-weight: bold; /* Make the text bold */
}

.mean-nav ul li a:hover {
    background-color: #f3f3f5; /* Add a hover background color */
    color: #007bff; /* Change text color on hover */
}

.mean-nav ul li:has(> div.divider) {
  display: none; /* Hide the entire <li> if it contains a <div> with the class 'divider' */
}
.footer-widget {
	margin-bottom: 0!important;
}
.chart-card {
  width:80%!important;
  padding:0px!important;
}
/* === Sticky vertical lateral bar (cleaned) === */
#lateral-bar {
  position: fixed !important;
  top: 45% !important;
  right: 0 !important;           /* use .left modifier below to switch sides */
  left: auto !important;
  transform: translateY(-35%) !important;
  z-index: 99999 !important;

  width: 80px;
  background: #001B54;           /* theme blue */
  border-radius: 12px 0 0 12px;  /* rounded toward page */
  padding: 12px 8px 14px;               /* extra bottom padding so last item never feels cropped */
  border-radius: 16px 0 0 16px; 
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
}

/* Optional side modifiers */
#lateral-bar.left  { left: 0 !important; right: auto !important; border-radius: 0 12px 12px 0; }
#lateral-bar.right { right: 0 !important; left: auto !important;  border-radius: 12px 0 0 12px; }

/* List layout */
#lateral-bar .lateral-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  align-items: stretch !important;
}
#lateral-bar .lateral-item:last-child { margin-bottom: 2px; } 

#lateral-bar .lateral-item { margin: 0 !important; padding: 0 !important; }

/* Button */
#lateral-bar .lateral-link {
  position: relative;
  display: flex !important;
  flex-direction: column !important;  /* icon over label */
  align-items: center !important;
  justify-content: center !important;

  width: 64px;               /* a bit wider for labels */
  min-height: 64px;
  padding: 8px 0;
  /*background: #00246f;*/       /* slightly lighter than bar */
  background: #b5d0ee;
  border-radius: 14px;
  color: #fff !important;
  text-decoration: none !important;
  transition: transform .2s ease, background .2s ease;
}
#lateral-bar.right .lateral-link:hover { transform: translateX(-2px); }
#lateral-bar.left  .lateral-link:hover { transform: translateX( 2px); }
#lateral-bar .lateral-link:hover        { background: #003080; }

/* Icon */
#lateral-bar .icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
#lateral-bar .icon i {
  font-size: 22px;
  line-height: 1;
  color: currentColor;       /* inherit white */
}

/* Label (always visible under icon) */
#lateral-bar .label {
  margin-top: 6px;
  font-size: 11.5px;  
  line-height: 1.3;
  color: #fff;
  text-align: center;
  white-space: normal;       /* allow wrapping (e.g., "Trouver une agence") */
  word-break: keep-all;
}

/* Hide on small screens (optional) */
@media (max-width: 1438px) {
  #lateral-bar { display: none !important; }
}

/* Avoid overlap with WP admin bar when logged in */
@media (min-width: 783px) {
  body.admin-bar #lateral-bar { top: calc(35% + 16px) !important; }
}
#floating-form {
  position: fixed;
  bottom: 90px;
  right: 30px;
  z-index: 99999;
}

/* Bubble button */
#floating-form-toggle {
  background: #0446D2;
  color: #fff;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  text-align: center;
  font-size: 26px;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(0,0,0,0.25);
  display: flex;
  align-items: center;
  justify-content: center;
}
#floating-form-toggle:hover { background: #005bb5; }

/* Popup content */
#floating-form-content {
  position: absolute;
  bottom: 35px;
  right: 80px;
  width: 380px;
  max-width: 90vw;
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 6px 25px rgba(0,0,0,0.3);
  z-index: 100000;

  /* hidden state */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .3s ease, visibility .3s ease, transform .3s ease;
  transform: translateY(20px);
}
#floating-form-content.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

/* ============ Responsive adjustments ============ */
@media (max-width: 768px) {
  /* tablette → garder la disposition desktop */
  #floating-form-content {
    bottom: 80px;
    right: 80px;
    width: 350px;
    padding: 18px;
  }
}

@media (max-width: 480px) {
  /* téléphone → centrer le formulaire */
  #floating-form-content {
    position: fixed;
    bottom: 60%;
    right: 50%;
    transform: translate(50%, 50%) scale(0.95);
    width: 90vw;
    max-height: 90vh;
    overflow-y: auto;
    padding: 15px;
    border-radius: 12px;
  }

  #floating-form-content.visible {
    transform: translate(50%, 50%) scale(1);
  }
}

