/* Elédone — présentation commune des quatre outils publics. */
body .wp-block-post-content :is(.epg-wrap, .edns-wrap, .eledone-ipgeo-page, .eledone-whois) {
  --epg-text: #18202d;
  --epg-muted: #566174;
  --epg-red: #c51f2b;
  --epg-panel: #f5f6f8;
  --edns-text: #18202d;
  --edns-muted: #566174;
  --edns-red: #c51f2b;
  --ipgeo-text: #18202d;
  --ipgeo-muted: #566174;
  --ipgeo-red: #c51f2b;
  box-sizing: border-box;
  width: min(100% - 40px, 1120px);
  max-width: 1120px;
  margin: 40px auto 48px;
  padding: 0;
  color: #18202d;
  font-family: inherit;
  font-size: 16px;
}
body :is(.epg-wrap, .edns-wrap, .eledone-ipgeo-page, .eledone-whois) *,
body :is(.epg-wrap, .edns-wrap, .eledone-ipgeo-page, .eledone-whois) *::before,
body :is(.epg-wrap, .edns-wrap, .eledone-ipgeo-page, .eledone-whois) *::after { box-sizing: border-box; }

body .wp-block-post-content :is(.epg-card, .edns-hero, .edns-panel, .eledone-ipgeo-hero, .eledone-ipgeo-card, .eledone-whois) {
  padding: clamp(24px, 4vw, 48px);
  border: 1px solid #e0e5ec;
  border-top: 3px solid #c51f2b;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(17, 20, 26, .065);
}
body .epg-glow { display: none; }
body :is(.edns-hero, .edns-panel, .eledone-ipgeo-hero, .eledone-ipgeo-card) { margin-bottom: 24px; }
body .wp-block-post-content :is(.epg-header, .edns-hero, .eledone-ipgeo-hero, .eledone-whois) :is(h1, h2) {
  max-width: 900px;
  margin: 16px 0 20px;
  color: #11141a;
  font-size: clamp(30px, 3.8vw, 50px);
  font-weight: 750;
  letter-spacing: -.045em;
  line-height: 1.08;
  text-wrap: balance;
}
body .wp-block-post-content :is(.edns-panel h2, .eledone-ipgeo-result h3) {
  color: #18202d;
  font-weight: 720;
  font-size: clamp(24px, 2.3vw, 30px);
  line-height: 1.2;
}
body :is(.epg-badge, .edns-badge, .eledone-ipgeo-kicker, .eledone-whois__kicker) {
  display: inline-block;
  margin: 0;
  padding: 6px 10px;
  border: 1px solid #f3d6d9;
  border-radius: 6px;
  background: #fff3f4;
  color: #a31d27;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
body :is(.epg-intro, .epg-intro p, .edns-subtitle, .eledone-ipgeo-hero p, .eledone-whois__intro p) {
  max-width: 830px;
  margin: 0;
  color: #566174;
  font-size: 17px;
  line-height: 1.7;
}
body :is(.epg-label, .epg-check, .epg-special-item, .epg-meter-top, .edns-label, .eledone-ipgeo-form label) { color: #253044; }
body :is(.epg-help, .epg-meter-top, .edns-note, .edns-tips, .eledone-ipgeo-help, .eledone-whois__hint) { color: #566174; font-size: 13px; line-height: 1.65; }

body :is(.epg-output-block, .epg-panel, .eledone-whois__form) {
  min-width: 0;
  padding: 24px;
  border: 1px solid #e0e5ec;
  border-radius: 12px;
  background: #f5f6f8;
  backdrop-filter: none;
}
body .epg-output-block { border-color: #d3dbe6; }
body .epg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body .epg-output-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
body .epg-range-row input[type="range"] { min-width: 0; width: 100%; }
body .epg-range-row input[type="number"] { flex: 0 0 76px; width: 76px; padding-inline: 10px; }
body .epg-check { min-height: 32px; align-items: flex-start; line-height: 1.5; }
body .epg-check input { flex-shrink: 0; margin-top: 5px; }
body .epg-special-item { min-height: 48px; background: #fff; border: 1px solid #d5dce6; border-radius: 8px; }
body .epg-special-item:has(input:checked) { background: #fff3f4; border-color: #e3b4ba; color: #8f1721; }
body .epg-meter-track { background: #e0e5ec; border: 0; height: 8px; }
body .epg-meter-bar { background: #c51f2b; box-shadow: none; }

body :is(.epg-wrap, .edns-wrap, .eledone-ipgeo-page, .eledone-whois) :is(input[type="text"], input[type="number"], select) {
  min-width: 0;
  min-height: 52px;
  border: 1px solid #bcc6d3;
  border-radius: 8px;
  padding: 12px 14px;
  color: #18202d;
  background: #fff;
  font-family: inherit;
  font-size: 16px;
}
body .epg-wrap .epg-output { font-family: ui-monospace, Consolas, monospace; font-size: 18px; }
body :is(.epg-wrap, .edns-wrap, .eledone-ipgeo-page, .eledone-whois) input::placeholder { color: #697587; opacity: 1; }
body :is(.epg-btn, .edns-button, .edns-copy-btn, .eledone-ipgeo-input-row button, .eledone-ipgeo-copy, .eledone-whois__row button) {
  min-height: 48px;
  height: auto;
  padding: 13px 22px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #fff;
  background: #c51f2b;
  box-shadow: none;
  font-family: inherit;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.5;
  cursor: pointer;
}
body :is(.epg-btn, .edns-button, .edns-copy-btn, .eledone-ipgeo-input-row button, .eledone-ipgeo-copy, .eledone-whois__row button):hover { background: #961923; color: #fff; box-shadow: none; }
body :is(.epg-wrap, .edns-wrap, .eledone-ipgeo-page) :is(.epg-btn-copy, .edns-copy-btn, .eledone-ipgeo-copy) { background: #fff; border-color: #bcc6d3; color: #253044; }
body :is(.epg-wrap, .edns-wrap, .eledone-ipgeo-page, .eledone-whois) :is(button, input, select, a):focus-visible { outline: 3px solid #a31d27; outline-offset: 3px; }
body :is(.epg-wrap, .edns-wrap, .eledone-ipgeo-page, .eledone-whois) button:disabled { opacity: .65; cursor: wait; }

body .edns-grid { grid-template-columns: minmax(0, 1fr) 160px auto; gap: 14px; margin-top: 30px; }
body .edns-tips { margin-top: 14px; overflow-wrap: anywhere; }
body :is(.edns-cards article, .eledone-ipgeo-item, .eledone-ipgeo-reasons, .eledone-ipgeo-notes) { background: #f5f6f8; border: 1px solid #e0e5ec; border-radius: 10px; }
body .edns-cards article strong { color: #a31d27; }
body .edns-cards article span { color: #566174; }
body :is(.edns-table, .edns-table th, .edns-table td) { background: #fff; color: #253044; border-color: #e0e5ec; }
body .edns-table th { background: #f5f6f8; }
body .edns-table { min-width: 560px; }
body .edns-table-wrap { max-width: 100%; border: 1px solid #e0e5ec; border-radius: 10px; }
body :is(.edns-table code, .edns-tips code) { color: #253044; background: #edf0f4; overflow-wrap: anywhere; }
body .edns-status { color: #253044; background: #f5f6f8; border-color: #e0e5ec; }
body .edns-status.is-success { background: #edf8f1; color: #24593a; border-color: #b4dbc3; }
body :is(.edns-status.is-error, .eledone-ipgeo-alert) { background: #fff2f2; color: #9b1c26; border-color: #ecc0c4; }
body .eledone-ipgeo-copy-status.is-ok { color: #24593a; }
body .eledone-ipgeo-result { border-color: #e0e5ec; }
body .eledone-whois__result { max-width: 100%; font-size: 13px; }
body:is(.page-id-123, .page-id-1000039, .page-id-1000046, .page-id-1000068) .wp-block-post-content { padding-inline: 0; }
body:is(.page-id-123, .page-id-1000039, .page-id-1000046, .page-id-1000068) .eledone-seo-context-link {
  width: min(100% - 40px, 1120px);
  margin: 0 auto 64px;
  border-color: #e0e5ec !important;
  border-radius: 12px !important;
  font-size: 15px;
}

@media (max-width: 760px) {
  body .wp-block-post-content :is(.epg-header, .edns-hero, .eledone-ipgeo-hero, .eledone-whois) :is(h1, h2) { font-size: clamp(26px, 7.7vw, 30px); overflow-wrap: anywhere; }
  body .wp-block-post-content :is(.epg-wrap, .edns-wrap, .eledone-ipgeo-page, .eledone-whois) { width: calc(100% - 32px); margin-top: 24px; margin-bottom: 28px; }
  body .wp-block-post-content :is(.epg-card, .edns-hero, .edns-panel, .eledone-ipgeo-hero, .eledone-ipgeo-card, .eledone-whois) { padding: 24px; border-radius: 14px; }
  body :is(.epg-grid, .edns-grid, .eledone-whois__row) { grid-template-columns: minmax(0, 1fr); }
  body :is(.epg-output-block, .epg-panel, .eledone-whois__form) { padding: 16px; }
  body :is(.edns-panel-head, .eledone-ipgeo-result-head) { flex-direction: column; align-items: stretch; }
  body .edns-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .epg-output-row { grid-template-columns: minmax(0, 1fr); }
  body .epg-btn-generate { width: 100%; }
  body .epg-actions { display: block; }
  body .epg-options { grid-template-columns: minmax(0, 1fr); }
  body .epg-specials-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  body .eledone-whois__result { padding: 16px; }
  body:is(.page-id-123, .page-id-1000039, .page-id-1000046, .page-id-1000068) .eledone-seo-context-link { width: calc(100% - 32px); margin-bottom: 40px; }
}
