/* Diomidis native footer — approved September 2026 layout. */
.dpf-footer {
  --dpf-green: #a6ce39;
  --dpf-ink: #111c17;
  --dpf-text: #c4cdc6;
  --dpf-line: rgba(255,255,255,.13);
  width: 100%;
  margin: 0;
  color: var(--dpf-text);
  background: radial-gradient(ellipse at 0 0,rgba(166,206,57,.08),transparent 55%),var(--dpf-ink);
  font-family: "Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size: 14px;
  line-height: 1.6;
}
.dpf-footer *, .dpf-footer *::before, .dpf-footer *::after { box-sizing: border-box; }
.dpf-footer .dpf-footer__inner { width: 100%; max-width: 1264px; padding: 60px 32px 28px; margin: 0 auto; }
.dpf-footer .dpf-footer__grid { display: grid; grid-template-columns: minmax(112px,.75fr) repeat(3,minmax(0,1fr)) max-content; gap: clamp(16px,2vw,28px); align-items: start; }
.dpf-footer .dpf-footer__grid > * { min-width: 0; }
.dpf-footer .dpf-footer__brand { padding-right: 0; display: flex; flex-direction: column; align-items: center; text-align: center; }
.dpf-footer .dpf-footer__logo-link { display: block; width: fit-content; max-width: 100%; flex: 0 0 auto; }
.dpf-footer .dpf-footer__logo-link > picture { display: block; }
.dpf-footer .dpf-footer__logo { display: block; width: 124px; height: 124px; object-fit: contain; max-width: 100%; margin: 0; }
.dpf-footer .dpf-footer__tagline { margin: 12px 0 0; font-size: 12px; color: var(--dpf-text); }
.dpf-footer .dpf-footer__section { margin: 0; padding: 0; border: 0; background: transparent; }
.dpf-footer .dpf-footer__section > summary,
.dpf-footer .dpf-footer__contact h2 { margin: 0 0 20px; padding: 0; color: var(--dpf-green); font: 800 16px/1.4 "Manrope",system-ui,sans-serif; text-transform: none; letter-spacing: 0; }
.dpf-footer .dpf-footer__section > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.dpf-footer summary::-webkit-details-marker { display: none; }
.dpf-footer .dpf-footer__chevron { width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); flex: 0 0 auto; }
.dpf-footer details[open] > summary .dpf-footer__chevron { transform: rotate(225deg); }
.dpf-footer .dpf-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.dpf-footer .dpf-footer__links li { margin: 0; padding: 0; }
.dpf-footer .dpf-footer__links li > * { display: block; padding: 5px 0; color: var(--dpf-text); font-size: 13px; font-weight: 500; text-decoration: none; overflow-wrap: anywhere; }
.dpf-footer .dpf-footer__links a:hover { color: var(--dpf-green); }
.dpf-footer address { margin: 0; padding: 0; font-style: normal; display: grid; gap: 14px; }
.dpf-footer .dpf-footer__contact-row { display: flex; align-items: flex-start; gap: 10px; color: var(--dpf-text); text-decoration: none; font-size: 13px; }
.dpf-footer .dpf-footer__contact-row > span { min-width: 0; overflow-wrap: anywhere; }
.dpf-footer svg { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.dpf-footer .dpf-footer__contact-row > svg { color: var(--dpf-green); margin-top: 1px; }
/* Brand SVGs: retain the filled Facebook and the updated Viber rendering. */
.dpf-footer svg.dpf-icon-facebook { fill: currentColor; stroke: none; }
.dpf-footer svg.dpf-icon-viber { fill: currentColor; stroke: none; }
.dpf-footer .dpf-footer__bottom { margin-top: 42px; padding-top: 24px; border-top: 1px solid var(--dpf-line); display: flex; justify-content: space-between; align-items: center; gap: 32px; }
.dpf-footer .dpf-footer__social p { margin: 0 0 12px; color: var(--dpf-green); font-size: 13px; font-weight: 800; }
.dpf-footer .dpf-footer__social-icons { display: flex; gap: 10px; }
.dpf-footer .dpf-footer__social-icons > * { width: 44px; height: 44px; display: grid; place-items: center; color: #fff; border: 1px solid var(--dpf-line); border-radius: 12px; background: rgba(255,255,255,.035); }
.dpf-footer .dpf-footer__legal { max-width: 570px; text-align: right; min-width: 0; }
.dpf-footer .dpf-footer__legal p { margin: 0; }
.dpf-footer .dpf-footer__copyright { color: #f3f6f1; font-size: 12px; font-weight: 700; }
.dpf-footer .dpf-footer__legal .dpf-footer__credits { margin-top: 8px; font-size: 11px; color: #acb9b0; }
.dpf-footer .dpf-footer__heart { color: #ef7183; }
.dpf-footer a:focus-visible, .dpf-footer summary:focus-visible { outline: 2px solid var(--dpf-green); outline-offset: 5px; border-radius: 3px; }
@media (min-width: 768px) {
  .dpf-footer[data-dpf-ready] summary { cursor: default; }
  .dpf-footer[data-dpf-ready] .dpf-footer__chevron { display: none; }
  .dpf-footer .dpf-footer__contact address { row-gap: 7px; }
  .dpf-footer .dpf-footer__contact-row { padding: 5px 0; line-height: 1.6; font-weight: 500; }
  .dpf-footer .dpf-footer__links li > * { line-height: 1.6; }
  .dpf-footer .dpf-footer__contact-row > svg { margin-top: 0; }
}

/* The contact track measures the complete lines, rather than breaking them. */
@media (min-width: 1024px) {
  .dpf-footer .dpf-footer__contact-row > span { white-space: nowrap; overflow-wrap: normal; }
}

/* Tablet portrait, including 1024px portrait tablets, and narrow landscape.
   Wide logo, three equal navigation columns, then centred contact details. */
@media (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) and (orientation: portrait) {
  .dpf-footer .dpf-footer__inner { max-width: 860px; padding: 44px 32px 26px; }
  .dpf-footer .dpf-footer__grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px 24px; }
  .dpf-footer .dpf-footer__brand { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: center; padding: 0; text-align: center; }
  .dpf-footer .dpf-footer__logo-link { width: 380px; }
  .dpf-footer .dpf-footer__logo { width: 100%; height: auto; aspect-ratio: 1050 / 240; }
  .dpf-footer .dpf-footer__tagline { margin: 16px 0 0; font-size: 13px; }
  .dpf-footer .dpf-footer__section { text-align: center; }
  .dpf-footer .dpf-footer__section > summary { justify-content: center; }
  .dpf-footer .dpf-footer__contact { grid-column: 1 / -1; width: 100%; max-width: 640px; margin: 0 auto; text-align: center; }
  .dpf-footer .dpf-footer__contact address { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 24px; }
  .dpf-footer .dpf-footer__contact-row { justify-content: center; padding: 0; }
  .dpf-footer .dpf-footer__bottom { margin-top: 32px; flex-direction: column; align-items: center; gap: 24px; text-align: center; }
  .dpf-footer .dpf-footer__social-icons { justify-content: center; }
  .dpf-footer .dpf-footer__legal { max-width: 100%; text-align: center; }
}
@media (max-width: 767px) {
  .dpf-footer .dpf-footer__inner { padding: 32px 18px 24px; }
  .dpf-footer .dpf-footer__grid { display: flex; flex-direction: column; gap: 0; }
  .dpf-footer .dpf-footer__grid > * { width: 100%; }
  .dpf-footer .dpf-footer__brand { padding: 0 0 28px; display: flex; flex-direction: column; align-items: center; gap: 0; text-align: center; }
  .dpf-footer .dpf-footer__logo-link { width: 320px; }
  .dpf-footer .dpf-footer__logo { width: 100%; height: auto; aspect-ratio: 1050 / 240; }
  .dpf-footer .dpf-footer__tagline { margin: 14px 0 0; font-size: 13px; }
  .dpf-footer .dpf-footer__section { border-top: 1px solid var(--dpf-line); }
  .dpf-footer .dpf-footer__section > summary { min-height: 58px; margin: 0; padding: 17px 2px; cursor: pointer; font-size: 15px; }
  .dpf-footer .dpf-footer__links { gap: 0; padding: 0 2px 16px; }
  .dpf-footer .dpf-footer__links li > * { padding: 11px 0; font-size: 14px; }
  .dpf-footer .dpf-footer__contact { margin-top: 0; padding-top: 26px; border-top: 1px solid var(--dpf-line); }
  .dpf-footer .dpf-footer__contact h2 { margin-bottom: 18px; font-size: 15px; }
  .dpf-footer .dpf-footer__contact-row { font-size: 14px; }
  .dpf-footer .dpf-footer__bottom { margin-top: 28px; padding-top: 24px; flex-direction: column; align-items: flex-start; gap: 24px; }
  .dpf-footer .dpf-footer__legal { text-align: left; max-width: 100%; }
}

.dpf-footer .dpf-footer__credits a { color: inherit; text-decoration: none; }
