/* Pôle Digital – design details that used to come from the Thegov theme.
   Classes (pds-*) are set on Elementor widgets by the migration (Advanced > CSS Classes). */

:root {
  --pds-theme: #336e3f;
  --pds-heading: #212121;
  --pds-text: #616161;
}

/* ---------- Base rules Thegov applied site-wide ---------- */
/* Thegov removed Elementor's 10px top/bottom padding inside columns */
.elementor-section .elementor-container > .elementor-column > .elementor-widget-wrap { padding-top: 0; padding-bottom: 0; }
.elementor-widget-spacer { margin-bottom: 0 !important; }
.elementor-widget-text-editor p,
.elementor-widget-icon-box p,
.elementor-widget-image-box p,
.entry-content p { margin: 0 0 20px; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol { margin: 0; padding: 0 0 20px 1.1em; }
.elementor-widget-text-editor li { line-height: 38px; }
.elementor-image-gallery .gallery-item { margin-top: 0 !important; }
.elementor-image-gallery img { border: 0 !important; }

/* Form fields: underlined, no box (WPForms and others) */
body input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=file]),
body select,
body textarea {
  height: 50px;
  max-width: 100%;
  padding: 10px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.7;
  font-family: inherit;
  border-radius: 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #dedede;
  box-shadow: none;
}
body textarea { height: 120px; min-height: 50px; border: 1px solid #dedede; }
body input:focus, body select:focus, body textarea:focus { outline: none; border-color: var(--pds-theme); box-shadow: none; }
.wpforms-container input.wpforms-field-medium,
.wpforms-container .wpforms-field-row.wpforms-field-medium { max-width: 100% !important; }

/* ---------- Page title bar ---------- */
.pds-page-title {
  background: #2a6d37;
  color: #fefefe;
  min-height: 160px;
  padding: 40px 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.pds-page-title--dark { background: #232323; }
.pds-page-title[style] { background-size: cover; background-position: center center; background-repeat: no-repeat; }
.pds-page-title .pds-page-title__text { /* beats the kit h1 color */
  margin: 0;
  color: inherit;
  font-family: "Quicksand", sans-serif;
  font-weight: 700;
  font-size: 48px;
  line-height: 52px;
}
@media (max-width: 767px) {
  .pds-page-title { min-height: 230px; padding: 15px 15px 40px; }
  .pds-page-title__text { font-size: 40px; line-height: 48px; }
}

/* ---------- Headings with the little "– —— –" divider (Thegov double heading) ---------- */
.pds-dbl .elementor-heading-title { position: relative; padding-bottom: 17px; }
.pds-dbl .elementor-heading-title::before {
  content: "";
  position: absolute;
  bottom: 0;
  height: 2px;
  width: 10px;
  background-color: var(--pds-theme);
}
.pds-dbl.pds-aleft .elementor-heading-title::before,
.pds-dbl.pds-ajustify .elementor-heading-title::before {
  left: 0;
  box-shadow: 10px 0 0 0 var(--pds-theme), 20px 0 0 0 var(--pds-theme), 30px 0 0 0 var(--pds-theme), 50px 0 0 0 var(--pds-theme);
}
.pds-dbl.pds-acenter .elementor-heading-title::before {
  left: 50%;
  margin-left: -40px;
  box-shadow: 20px 0 0 0 var(--pds-theme), 30px 0 0 0 var(--pds-theme), 40px 0 0 0 var(--pds-theme), 50px 0 0 0 var(--pds-theme), 70px 0 0 0 var(--pds-theme);
}
.pds-dbl.pds-aright .elementor-heading-title::before {
  right: 0;
  box-shadow: -10px 0 0 0 var(--pds-theme), -20px 0 0 0 var(--pds-theme), -30px 0 0 0 var(--pds-theme), -50px 0 0 0 var(--pds-theme);
}
.pds-dbl-sub .elementor-heading-title { margin-top: 10px; }

/* ---------- Info box ---------- */
.pds-ib .elementor-icon-box-title,
.pds-ib .elementor-image-box-title { margin-top: 0; }
.pds-ib .elementor-icon-box-description p:last-child { margin-bottom: 0; }
.pds-ib.elementor-position-left .elementor-icon-box-icon { margin-top: 4px; }
.pds-ib-bg .elementor-heading-title { word-break: break-word; }
.pds-ib-divider .elementor-icon-box-title { position: relative; padding-bottom: 22px; }
.pds-ib-divider .elementor-icon-box-title::before {
  content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 10px; background: #336e3f; color: #336e3f;
  box-shadow: 10px 0 0 0 currentColor, 20px 0 0 0 currentColor, 30px 0 0 0 currentColor, 50px 0 0 0 currentColor;
}
.pds-readmore .elementor-button { background: transparent; padding: 0; }

/* ---------- Services 2: image in a dashed circle with two dots ---------- */
.pds-s2 .elementor-image-box-img {
  position: relative;
  width: 72px !important;
  height: 72px;
  margin-left: auto !important;
  margin-right: auto !important;
  border: 1px dashed #cfcfcf;
  border-radius: 50%;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.pds-s2 .elementor-image-box-img img { width: 64px !important; height: 64px; object-fit: contain; }
.pds-s2 .elementor-image-box-img::before,
.pds-s2 .elementor-image-box-img::after {
  content: ""; position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #6e201c;
}
.pds-s2 .elementor-image-box-img::before { top: 4px; right: 6px; }
.pds-s2 .elementor-image-box-img::after { bottom: 6px; left: 4px; }
.pds-s2 .elementor-image-box-title { margin-bottom: 0; }

/* ---------- Services 6: colored card, icon in a dark corner circle ---------- */
.pds-s6 > .elementor-widget-container { position: relative; overflow: hidden; padding: 25px 20px 30px; box-shadow: 11px 10px 38px rgba(0, 0, 0, .1); }
.pds-s6 .elementor-icon-box-wrapper { position: static; }
.pds-s6 .elementor-icon-box-icon {
  position: absolute;
  top: -40px;
  right: -40px;
  margin: 0 !important;
}
.pds-s6 .elementor-icon {
  width: 120px;
  height: 120px;
  font-size: 26px !important;
  padding: 40px 40px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pds-s6 .elementor-icon-box-title { margin: 0 0 14px; }
.pds-s6 .elementor-icon-box-description::after {
  content: ""; display: block; width: 40px; height: 2px; background: rgba(214, 214, 214, .8); margin: 14px auto 0;
}

/* ---------- Services 7: image card with title and arrow ---------- */
.pds-s7 .elementor-cta__title { position: relative; padding-top: 17px; }
.pds-s7 .elementor-cta__title::before {
  content: ""; position: absolute; top: 0; left: 0; height: 2px; width: 10px; background: #336e3f; color: #336e3f;
  box-shadow: 10px 0 0 0 currentColor, 20px 0 0 0 currentColor, 30px 0 0 0 currentColor, 50px 0 0 0 currentColor;
}
.pds-s7 .elementor-cta__content { padding: 40px; }
.pds-s7 .elementor-cta__content::after {
  content: "\f108";
  font-family: "Flaticon";
  display: block;
  width: 40px; height: 40px; line-height: 38px;
  margin-top: 15px;
  text-align: center;
  color: #fff;
  border: 1px solid #c2bdb8;
  border-radius: 50%;
}

/* ---------- Progress bar: value shown at the right above the bar ---------- */
.pds-pb .elementor-progress-wrapper { position: relative; overflow: visible; border-radius: 0; }
.pds-pb .elementor-progress-bar { border-radius: 0; }
.pds-pb .elementor-progress-percentage {
  position: absolute; right: 0; top: -28px; color: var(--pds-heading); font-size: 14px; font-weight: 700; padding: 0;
}
.pds-pb .elementor-title { display: block; margin-bottom: 10px; }

/* ---------- Posts cards (news) ---------- */
.pds-blog .elementor-post__card { border-radius: 0; box-shadow: 0 5px 25px rgba(0, 0, 0, .07); }
.pds-blog .elementor-post__badge { border-radius: 12px; font-weight: 700; }
.pds-blog { padding-bottom: 50px; } /* room the Thegov carousel kept for its arrows */

/* ---------- Header ---------- */
.pds-logo img { max-width: 100%; }
.pds-menu .elementor-nav-menu--main .elementor-item { letter-spacing: 0; }

/* Thegov wrapped the page content in 40px top/bottom padding */
body:not(.elementor-template-canvas) .site-main { padding: 40px 0; }
.pds-ib-text p:last-child { margin-bottom: 0; }
/* Thegov rows: inner-section columns overhang the parent by the 10px gap on each side, like Bootstrap rows */
.elementor-inner-section:has(> .elementor-container.elementor-column-gap-default) { width: calc(100% + 20px) !important; max-width: none; margin-left: -10px !important; margin-right: -10px !important; }
/* divider-only double heading (empty Thegov title under a text) */
.pds-dbl-empty .elementor-heading-title { padding-bottom: 0; height: 2px; }
.pds-ib-divider.pds-acenter .elementor-icon-box-title::before { left: 50%; margin-left: -30px; }
.pds-ib-divider.pds-aright .elementor-icon-box-title::before { left: auto; right: 50px; }
.elementor-widget-html:has(.pds-dbl-empty) { margin-top: -17px; }
/* Thegov link colors, kept at element specificity so widget colors (buttons...) win */
a { color: #336e3f; }
a:hover { color: #212121; }

/* ---------- Single post (Thegov layout) ---------- */
.pds-single-img img { width: 100%; display: block; }
.pds-single-cats { margin-top: -32px !important; position: relative; z-index: 1; }
.pds-single-cats .elementor-post-info__terms-list-item,
.pds-single-cats a { display: inline-block; background: #336e3f; color: #fff !important; border-radius: 12px; padding: 1px 12px; font: 700 12px/22px "Nunito Sans", sans-serif; }
.pds-single-cats .elementor-post-info__terms-list { color: transparent; }
.pds-single-date { font-size: 12px; color: #9a9a9a; }
.pds-single-date * { color: #9a9a9a !important; }
.pds-single-share { border-top: 1px solid #e5e5e5; padding-top: 25px; margin-top: 10px; }
.pds-single-share .elementor-share-btn { width: 22px !important; height: 22px !important; font-size: 10px !important; }
.pds-single-nav .post-navigation__arrow-wrapper { color: #9a9a9a; }
.pds-single-nav .elementor-post-navigation__link a { color: #212121; font: 700 15px/1.4 "Quicksand", sans-serif; }
.pds-side-search .elementor-search-form__container { box-shadow: 0 5px 25px rgba(0, 0, 0, .08); border: 0; background: #fff; }
.pds-side-search .elementor-search-form__submit { background: #fff; color: #212121; }
.pds-side-cats h5 { font: 700 20px/1.5 "Quicksand", sans-serif; color: #212121; margin: 40px 0 15px; }
.pds-side-cats ul { list-style: none; margin: 0; padding: 0; }
.pds-side-cats li { border-bottom: 1px solid #e5e5e5; line-height: 1.5; padding: 9px 0; }
.pds-side-cats li a { color: #212121; font: 700 15px/1.5 "Quicksand", sans-serif; }
/* below 1200px Thegov's boxed container kept a 10px gutter on top of the column padding */
@media (max-width: 1199px) {
  .elementor-top-section.elementor-section-boxed > .elementor-container { padding-left: 10px; padding-right: 10px; }
}
