/* Global overrides (loaded last)
 *
 * Purpose: unify & increase corner roundness across the site.
 * Keep changes minimal and scoped to common "card/box/dropdown" components.
 */

/* Form required asterisk: red on all pages */
.required-asterisk,
.eurodib-training-required,
.eurodib-signin-required,
.eurodib-create-required {
  color: #c00 !important;
}

 :root{
  --edb-radius-card: 28px;
  --edb-radius-card-sm: 24px;
  --edb-radius-input: 24px;
  --edb-radius-btn: 999px;
}

/* Cards / boxes */
.news-card,
.products-scroller .product-card,
.feature-box,
.brands-card,
.wtb-card,
.wtb-mapcard,
.euq8f3-panel,
.edb-reps__panel,
.brema-product-card,
.brema-description,
.dropdown-cooking,
.dropdown-brands,
.search-dropdown{
  border-radius: var(--edb-radius-card) !important;
}

/* Account dropdown — отдельный радиус */
.account-dropdown-menu{
  border-radius: 10px !important;
}

/* Ensure nested content respects rounding where needed */
.news-card,
.products-scroller .product-card,
.wtb-mapcard,
.search-dropdown,
.dropdown-cooking,
.dropdown-brands,
.account-dropdown-menu{
  overflow: hidden;
}

/* ===== Brands / Marques dropdown (match design screenshot) ===== */
.dropdown-brands-wrapper{
  z-index: 1000;
}
.dropdown-brands-wrapper::before{
  border-bottom-color: #fff !important;
  filter: drop-shadow(0 10px 22px rgba(40, 106, 184, 0.20));
}
.dropdown-brands{
  width: 181px !important;
  height: auto !important;
  max-height: 560px;
  padding: 15px 0 !important;
  background: #fff !important;
  box-shadow:
    0 14px 40px rgba(40, 106, 184, 0.20),
    0 10px 26px rgba(0, 0, 0, 0.14) !important;
}
.dropdown-brands ul{
  gap: 10px !important;
  padding: 0 25px !important;
}
.dropdown-brands ul li{
  font-size: 34px !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
  padding: 0 !important;
}
.dropdown-brands ul li a{
  color: #827F7F !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
.dropdown-brands ul li a:hover{
  color: #286AB8 !important;
}

/* Atmovac brand page: do not use -80px margin on .category-section__container */
body.term-atmovac .category-section__container,
body.term-atmovac-fr .category-section__container{
  margin: auto !important;
  margin-bottom: 20px !important;
}

/* Home feature boxes icon sizing */
.feature-box img{
  width: 50px;
  margin-bottom: 15px;
  height: 50px;
}

/* Inputs / selects / textareas (keep pill feel consistent) — only on desktop; disabled on mobile */
@media (min-width: 981px) {
  input[type="text"],
  input[type="search"],
  input[type="email"],
  input[type="tel"],
  input[type="password"],
  input[type="number"],
  input[type="url"],
  select,
  textarea {
    border-radius: var(--edb-radius-input);
  }
}

/* Search bar needs asymmetric rounding */
.search-box input{
  border-radius: 30px 0 0 30px !important;
}

/* Header search should always use Montserrat */
.search-box,
.search-box input,
.search-box button,
.search-box button img,
.search-box .search-dropdown,
.search-box .search-section,
.search-box .search-section h3,
.search-box .search-section ul,
.search-box .search-section li,
.search-box #productResults,
.search-box #categoryResults{
  font-family: "Montserrat", Arial, sans-serif !important;
}

/* Header search categories: match requested typography */
.search-box #categoryResults li,
.search-box #categoryResults li a{
  font-family: "Montserrat", Arial, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 16px !important;
  line-height: 28px !important;
  letter-spacing: 0 !important;
}
.search-box #categoryResults li a{
  text-decoration: none !important;
  color: inherit;
}
.search-box #categoryResults li a:hover,
.search-box #categoryResults li a:focus{
  text-decoration: none !important;
}

/* Header search: product items padding */
.search-box .product-item{
  padding: 10px;
}

/* Header search: fixed image slot so text is always same distance from the left */
.search-box .product-item .search-result-img-slot{
  flex-shrink: 0 !important;
  width: 60px !important;
  height: 60px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.search-box .product-item .search-result-img-slot img{
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block;
}

/* Header search: brand between product name and model */
.search-box .product-info .brand-text{
  display: block;
  font-size: 0.9em;
  color: #555;
}

/* Header search: make input and blue button same height */
.main-header .search-box{
  align-items: stretch;
}
.main-header .search-box input,
.main-header .search-box button{
  height: 40px !important;
}
.main-header .search-box button{
  padding: 0 12px !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
.main-header .search-box button img{
  width: 20px;
  height: 20px;
  display: block;
}

/* Header mega-menu (dropdown-cooking): allow wrapping + typography */
.dropdown-cooking-content ul li{
  /* Allow long labels to wrap instead of ellipsis */
  overflow: visible !important;
  text-overflow: unset !important;
  white-space: normal !important;
  line-height: 1.25 !important;
}
.dropdown-cooking-content ul li a{
  font-family: "Montserrat", Arial, sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  white-space: normal !important;
}

/* Home essentials carousel tweaks (match Figma) */
.products-scroller{
  margin: 74px auto 0 !important; /* tighter spacing to next section */
}
.products-scroller h2{
  margin-bottom: 24px !important; /* closer to section above */
}
.products-scroller .product-card img{
  min-height: 0 !important;
  max-height: none !important;
  height: 180px !important;
  object-fit: contain !important;
  padding: 14px 14px 6px;
  background: transparent !important;
}
.products-scroller .product-info{
  padding: 10px 18px 12px !important;
  text-align: center !important;
}
.products-scroller .product-info h4{
  margin-bottom: 6px !important;
}
.products-scroller .product-info p{
  margin: 0 !important;
}
.products-scroller .read-more-btn{
  border-radius: 0 0 var(--edb-radius-card) var(--edb-radius-card) !important;
}
.products-scroller .swiper-button-next,
.products-scroller .swiper-button-prev{
  top: 35% !important;
}

/* Reduce gap before Categories section */
.category-section{
  padding-top: 0 !important;
}

/* Language switcher flags should be identical size */
.language-switcher-amazon-style .lang-flag{
  width: 30px !important;
  height: 15px !important;
  display: inline-block;
  /* Keep flags crisp: avoid stretching the SVG into 2:1 */
  background-size: 30px 20px !important; /* preserves 3:2, crops vertically */
  background-position: center !important;
  background-repeat: no-repeat !important;
  flex: 0 0 30px;
}

/* Header contact (phone) icon slightly bigger (+5%) */
.header-actions .action.action-contact img{
  width: calc(24px * 1.05) !important;
  height: calc(24px * 1.05) !important;
}

/* Prevent cart in header from stretching (blog, category, single post, etc.) */
.main-header .header-actions .cart-img{
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  min-width: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
.main-header .header-actions .cart-img img{
  width: 35px !important;
  height: 32px !important;
  display: block !important;
}

/* Buttons / link-buttons — only on desktop; disabled on mobile */
@media (min-width: 981px) {
  button,
  .btn,
  .btn-cta,
  .btn-circle,
  .news-card-btn,
  .footer-btn,
  .wtb-btn,
  .edb-reps__btn {
    border-radius: var(--edb-radius-btn);
  }
}

/* Home About section logo: +25% */
.text-block .logo-eurodib{
  max-width: 251px !important;
  height: 55px;
}
@media (max-width: 600px){
  .text-block .logo-eurodib{
    max-width: 175px !important; /* 140px * 1.25 */
  }
}

/* Footer email signup: keep button shape like design (no full pill on left) */
.custom-email-signup .custom-signup-form{
  align-items: stretch;
}
.custom-email-signup .custom-signup-form input[type="email"]{
  width: auto;
  min-width: 0;
}
.custom-email-signup .custom-signup-form button{
  border-radius: 0 !important; /* override global button rounding */
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border-left: 0 !important; /* no divider (match design) */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-width: 170px;
}

/* Footer signup typography */
.custom-email-signup .custom-signup-form,
.custom-email-signup .custom-signup-form input[type="email"],
.custom-email-signup .custom-signup-form button{
  font-family: "Montserrat", Arial, sans-serif !important;
  font-weight: 600 !important;
}

/* Desktop look (match screenshot 2) */
@media (min-width: 481px){
  .custom-email-signup .custom-signup-form{
    flex: 0 1 583px;
    width: min(583px, 100%);
    height: 40px;
    border-radius: 999px;
    overflow: hidden;
    background: #fff;
  }
  .custom-email-signup .custom-signup-form input[type="email"]{
    flex: 1 1 auto;          /* input grows to fill space */
    height: 100%;
    padding: 0 22px;
    font-size: 16px;
  }
  .custom-email-signup .custom-signup-form input[type="email"]::placeholder{
    color: #c9cdd3;
    font-weight: 400 !important;
    font-size: 16px;
  }
  .custom-email-signup .custom-signup-form button{
    height: 100%;
    padding: 0 6px !important;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .2px;
    min-width: 168px;
  }
}

/* Contact/Forms: custom radios (newsletter signup, etc.) */
.edbcu-radio input[type="radio"]{
  -webkit-appearance: none;
  appearance: none;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid #d5d5d5;
  background: #fff;
  margin: 0;
  flex: 0 0 auto;
  cursor: pointer;
}
.edbcu-radio input[type="radio"]:checked{
  border-color: var(--edbcu-blue, #286ab8);
  background: radial-gradient(circle at center, var(--edbcu-blue, #286ab8) 0 6px, transparent 7px), #fff;
}
.edbcu-radio input[type="radio"]:focus-visible{
  outline: 3px solid rgba(40, 106, 184, 0.25);
  outline-offset: 2px;
}

/* Same-as-above checkboxes in .edbcu-radio: match newsletter radio look */
.edbcu-radio input[type="checkbox"]{
  -webkit-appearance: none;
  appearance: none;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid #d5d5d5;
  background: #fff;
  margin: 0;
  flex: 0 0 auto;
  cursor: pointer;
}
.edbcu-radio input[type="checkbox"]:checked{
  border-color: var(--edbcu-blue, #286ab8);
  background: radial-gradient(circle at center, var(--edbcu-blue, #286ab8) 0 6px, transparent 7px), #fff;
}
.edbcu-radio input[type="checkbox"]:focus-visible{
  outline: 3px solid rgba(40, 106, 184, 0.25);
  outline-offset: 2px;
}
.edbcu-radio-same{ margin: 6px 0 10px; }

/* Careers: make Yes/No radios match legal checkbox size */
.page-template-template-career-v2 .edbcu-inline .edbcu-radio input[type="radio"],
.page-template-template-career-v2-php .edbcu-inline .edbcu-radio input[type="radio"]{
  width: 24px;
  height: 24px;
}
.page-template-template-career-v2 .edbcu-inline .edbcu-radio input[type="radio"]:checked,
.page-template-template-career-v2-php .edbcu-inline .edbcu-radio input[type="radio"]:checked{
  background: radial-gradient(circle at center, var(--edbcu-blue, #286ab8) 0 5px, transparent 6px), #fff;
}

/* Careers / forms: legal consent checkboxes (make them match radio style) */
.edbcu-legal label{
  /* Keep text + links inline (flex breaks anchor/text into separate flex items) */
  display: block;
  cursor: pointer;
}
.edbcu-legal input[type="checkbox"]{
  -webkit-appearance: none;
  appearance: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid #d5d5d5;
  background: #fff;
  display: inline-block;
  vertical-align: top;
  margin: 2px 10px 0 0;
  cursor: pointer;
}
.edbcu-legal input[type="checkbox"]:checked{
  border-color: var(--edbcu-blue, #286ab8);
  background: radial-gradient(circle at center, var(--edbcu-blue, #286ab8) 0 6px, transparent 7px), #fff;
}
.edbcu-legal input[type="checkbox"]:focus-visible{
  outline: 3px solid rgba(40, 106, 184, 0.25);
  outline-offset: 2px;
}
.edbcu-legal a{
  color: var(--edbcu-blue);
  text-decoration: none !important;
}

/* Home page image block rounding */
.image-block img{
  border-radius: 25px;
  display: block;
}

/* Careers (Carrières): submit button */
.page-template-template-career-v2 .edbcu-actions .edbcu-btn,
.page-template-template-career-v2-php .edbcu-actions .edbcu-btn{
  appearance: none !important;
  border: 0 !important;
  cursor: pointer !important;
  background: #009CFF !important;
  color: #fff !important;
  font-weight: 700 !important;
  padding: 10px 20px !important;
  border-radius: 999px !important;
  font-size: 18px !important;
  font-family: "Montserrat", Arial, sans-serif !important;
}

/* Home page: force primary button blue */
.home .features-grid-v3 .btn-circle,
.home .news-card .news-card-btn{
  appearance: none !important;
  border: 0 !important;
  cursor: pointer !important;
  background: #009CFF !important;
  color: #fff !important;
  font-weight: 700 !important;
  padding: 10px 20px !important;
  border-radius: 999px !important;
  font-size: 18px !important;
  font-family: "Montserrat", Arial, sans-serif !important;
}

/* Home: disable btn-circle hover effects */
.home .features-grid-v3 .btn-circle:hover{
  background: #009CFF !important;
  transform: none !important;
}

/* Blog (Latest News section): make buttons blue pill */
.blog .latest-news .news-card__body > a.btn,
.archive .latest-news .news-card__body > a.btn,
.page-template-template-archive-blogv2 .latest-news .news-card__body > a.btn,
.page-template-template-archive-blogv2-php .latest-news .news-card__body > a.btn{
  appearance: none !important;
  border: 0 !important;
  cursor: pointer !important;
  background: #009CFF !important;
  color: #fff !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  font-size: 18px !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  box-shadow: none !important; /* remove "Read more" button shadow */
}

.blog .latest-news .news-card__body > a.btn:hover,
.archive .latest-news .news-card__body > a.btn:hover,
.page-template-template-archive-blogv2 .latest-news .news-card__body > a.btn:hover,
.page-template-template-archive-blogv2-php .latest-news .news-card__body > a.btn:hover{
  box-shadow: none !important;
}

/* Brand (Atmovac): force brema-description layout only on desktop (не на мобилке) */
@media (min-width: 981px) {
  body.term-atmovac .brema-description,
  body.term-atmovac-fr .brema-description,
  body.page-template-template-brand-atmovac .brema-description,
  body.page-template-template-brand-atmovac-php .brema-description{
    height: 140px !important;
    padding-left: 120px !important;
    padding-right: 120px !important;
    margin: 85px auto !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #333 !important;
    text-align: left !important;
    display: flex !important;
    justify-content: center !important;
    flex-direction: column !important;
  }
}

body.term-atmovac .brema-description h2,
body.term-atmovac-fr .brema-description h2,
body.page-template-template-brand-atmovac .brema-description h2,
body.page-template-template-brand-atmovac-php .brema-description h2{
  text-align: left !important;
  color: #286AB8 !important;
  font-size: 32px !important;
  font-weight: 700 !important;
}

/* Brand (Eurodib): match Atmovac brema-description spacing — только десктоп */
@media (min-width: 981px) {
  body.term-eurodib .brema-description,
  body.term-eurodib-fr .brema-description,
  body.page-template-template-brand-eurodib .brema-description,
  body.page-template-template-brand-eurodib-php .brema-description{
    height: 140px !important;
    padding-left: 120px !important;
    padding-right: 120px !important;
    margin: 85px auto !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #333 !important;
    text-align: left !important;
    display: flex !important;
    justify-content: center !important;
    flex-direction: column !important;
  }
}

body.term-eurodib .brema-description h2,
body.term-eurodib-fr .brema-description h2,
body.page-template-template-brand-eurodib .brema-description h2,
body.page-template-template-brand-eurodib-php .brema-description h2{
  text-align: left !important;
  color: #286AB8 !important;
  font-size: 32px !important;
  font-weight: 700 !important;
}

/* Brand (Resolute): match Atmovac brema-description spacing — только десктоп */
@media (min-width: 981px) {
  body.term-resolute .brema-description,
  body.term-resolute-fr .brema-description,
  body.page-template-template-brand-resolute .brema-description,
  body.page-template-template-brand-resolute-php .brema-description{
    height: 140px !important;
    padding-left: 120px !important;
    padding-right: 120px !important;
    margin: 85px auto !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #333 !important;
    text-align: left !important;
    display: flex !important;
    justify-content: center !important;
    flex-direction: column !important;
  }
}

body.term-resolute .brema-description h2,
body.term-resolute-fr .brema-description h2,
body.page-template-template-brand-resolute .brema-description h2,
body.page-template-template-brand-resolute-php .brema-description h2{
  text-align: left !important;
  color: #286AB8 !important;
  font-size: 32px !important;
  font-weight: 700 !important;
}

.wp-block-heading {
  color: #286AB8;
}

/* Brand Showcase template (Louis Tellier): .brema-description block */
body.page-template-template-brand-showcase .brema-description,
body.page-template-template-brand-showcase-php .brema-description {
  height: 250px;
  padding-left: 120px;
  padding-right: 120px;
  margin: 40px auto;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  text-align: left;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

/* Brand Showcase template: centered CTA, same style as categories (no shadow) */
body.page-template-template-brand-showcase .brand-showcase-cta,
body.page-template-template-brand-showcase-php .brand-showcase-cta {
  text-align: center;
  margin-top: 24px;
  margin-bottom: 40px;
}
body.page-template-template-brand-showcase .brand-showcase-cta .btn-cta,
body.page-template-template-brand-showcase-php .brand-showcase-cta .btn-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border-radius: 30px;
  font-weight: 700;
  text-decoration: none;
  background: var(--edb-accent, #286ab8);
  color: #fff;
  box-shadow: none;
}
body.page-template-template-brand-showcase .brand-showcase-cta .btn-cta:hover,
body.page-template-template-brand-showcase-php .brand-showcase-cta .btn-cta:hover {
  filter: brightness(1.05);
}
