.linkbim-formula,
.linkbim-access {
    --lb-bg: #f6f6f6;
    --lb-text: #171717;
    --lb-input: #fff;
    --lb-border: #ccc;
    box-sizing: border-box;
    max-width: 1200px;
    margin: 24px auto;
    padding: clamp(16px, 3vw, 32px);
    border-radius: 18px;
    background: var(--lb-bg);
    color: var(--lb-text);
}
.linkbim-formula *,
.linkbim-access * { box-sizing: border-box; }
.linkbim-formula__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 24px;
}
.linkbim-formula label,
.linkbim-access label {
    display: block;
    margin-top: 18px;
    font-weight: 600;
}
.linkbim-formula textarea,
.linkbim-formula input,
.linkbim-formula select,
.linkbim-access input[type="email"] {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 8px 0;
    padding: 12px;
    border: 1px solid var(--lb-border);
    border-radius: 12px;
    background: var(--lb-input);
    color: var(--lb-text);
    font: inherit;
}
.linkbim-formula textarea { resize: vertical; }
.linkbim-formula [data-field="result"] { font-family: monospace; }
.linkbim-formula button,
.linkbim-access button {
    padding: 12px 18px;
    border: 2px solid transparent;
    border-radius: 12px;
    background: #ffea00;
    color: #000;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.linkbim-formula button:focus-visible,
.linkbim-access button:focus-visible,
.linkbim-formula input:focus-visible,
.linkbim-formula textarea:focus-visible,
.linkbim-formula select:focus-visible,
.linkbim-access input:focus-visible {
    outline: 3px solid #0077cc;
    outline-offset: 3px;
}
.linkbim-formula__languages { display: flex; gap: 8px; }
.linkbim-formula__languages button { padding: 6px 12px; }
.linkbim-formula__languages button[aria-pressed="true"] { border-color: #000; }
.linkbim-formula__help {
    margin-top: 20px;
    padding: 16px;
    border-left: 6px solid #ffea00;
    border-radius: 12px;
    background: #171717;
    color: #fff;
}
.linkbim-formula__help p { margin: 8px 0 0; }
.linkbim-formula__buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.linkbim-formula__buttons button { flex: 1 1 140px; }
.linkbim-formula [data-action="copy"] { background: #171717; color: #fff; }
.linkbim-formula__status { min-height: 1.5em; overflow-wrap: anywhere; }
.linkbim-formula__footer { margin-top: 24px; text-align: center; font-size: .875em; }
.linkbim-formula__footer a,
.linkbim-access a { color: #005fa3; text-decoration: underline; }
.linkbim-access [hidden] { display: none !important; }
.linkbim-access [role="alert"] { font-weight: 700; }

@media (prefers-color-scheme: dark) {
    .linkbim-formula,
    .linkbim-access {
        --lb-bg: #181818;
        --lb-text: #eee;
        --lb-input: #252525;
        --lb-border: #666;
    }
    .linkbim-formula__footer a,
    .linkbim-access a { color: #87c8ff; }
}
@media (max-width: 480px) {
    .linkbim-formula,
    .linkbim-access { padding: 16px; }
    .linkbim-formula__buttons { flex-direction: column; }
    .linkbim-formula__buttons button { flex: none; width: 100%; }
}

/* Pop-up d'accès aux outils */
.linkbim-access-launch {
    margin: 24px 0;
    text-align: center;
}
.linkbim-access-launch [hidden] {
    display: none !important;
}
.linkbim-access-launch button {
    padding: 14px 24px;
    border: 2px solid transparent;
    border-radius: 12px;
    background: #ffea00;
    color: #171717;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.linkbim-access-launch button:focus-visible,
.linkbim-access__languages a:focus-visible {
    outline: 3px solid #0077cc;
    outline-offset: 3px;
}
.linkbim-access--popup {
    position: relative;
    width: min(560px, calc(100% - 32px));
    max-width: 560px;
    max-height: calc(100dvh - 32px);
    margin: auto;
    padding: 32px;
    border: 1px solid var(--lb-border);
    overflow-y: auto;
    box-shadow: 0 24px 80px rgb(0 0 0 / 25%);
}
.linkbim-access--popup::backdrop {
    background: rgb(0 0 0 / 65%);
    backdrop-filter: blur(3px);
}
.linkbim-access--popup .linkbim-access__close {
    position: absolute;
    top: 12px;
    right: 12px;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    background: transparent;
    color: var(--lb-text);
    font-size: 28px;
    line-height: 1;
}
.linkbim-access--popup .linkbim-access__languages {
    display: flex;
    gap: 8px;
    padding-right: 48px;
    margin-bottom: 22px;
}
.linkbim-access--popup .linkbim-access__languages a {
    padding: 6px 12px;
    border: 1px solid var(--lb-border);
    border-radius: 8px;
    color: var(--lb-text);
    text-decoration: none;
}
.linkbim-access--popup .linkbim-access__languages a[aria-current="true"] {
    border-color: #ffea00;
    background: #ffea00;
    color: #171717;
    font-weight: 700;
}
.linkbim-access--popup h2 {
    margin: 0 0 16px;
    color: inherit;
    font-size: clamp(24px, 4vw, 32px);
    line-height: 1.2;
}
.linkbim-access--popup form > p {
    margin: 18px 0;
    font-size: 13px;
    line-height: 1.6;
}
.linkbim-access--popup button[type="submit"] {
    width: 100%;
}
@media (max-width: 480px) {
    .linkbim-access--popup {
        padding: 24px 20px;
    }
}
/* Mise en page intégrée du générateur */
.linkbim-formula--integrated {
    --lb-text: #171717;
    --lb-input: #fff;
    --lb-border: #d8d8d8;
    max-width: 1200px;
    margin: 24px auto;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--lb-text);
}
.linkbim-formula--integrated .linkbim-formula__header {
    padding-bottom: 20px;
    border-bottom: 1px solid var(--lb-border);
    margin-bottom: 24px;
}
.linkbim-formula--integrated .linkbim-formula__back {
    color: inherit;
    text-decoration: none;
    font-size: 14px;
}
.linkbim-formula--integrated .linkbim-formula__back:hover {
    text-decoration: underline;
}
.linkbim-formula--integrated .linkbim-formula__languages button {
    background: transparent;
    color: inherit;
    border: 1px solid var(--lb-border);
    border-radius: 8px;
}
.linkbim-formula--integrated .linkbim-formula__languages button[aria-pressed="true"] {
    background: #ffea00;
    color: #171717;
    border-color: #ffea00;
}
.linkbim-formula--integrated .linkbim-formula__intro {
    margin: 0 0 28px;
}
.linkbim-formula__workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(24px, 4vw, 56px);
    align-items: start;
}
.linkbim-formula__settings,
.linkbim-formula__output {
    min-width: 0;
}
.linkbim-formula--integrated .linkbim-formula__settings > label:first-child {
    margin-top: 0;
}
.linkbim-formula--integrated textarea,
.linkbim-formula--integrated input,
.linkbim-formula--integrated select {
    border-radius: 8px;
    padding: 14px;
}
.linkbim-formula--integrated small {
    display: block;
    font-size: 13px;
    line-height: 1.5;
    color: #595959;
}
.linkbim-formula__options {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
}
.linkbim-formula__guide {
    margin-top: 24px;
    border-top: 1px solid var(--lb-border);
    border-bottom: 1px solid var(--lb-border);
    padding: 16px 0;
}
.linkbim-formula__guide summary {
    cursor: pointer;
    font-weight: 600;
}
.linkbim-formula__guide p {
    margin: 12px 0 0;
    font-size: 14px;
    line-height: 1.6;
}
.linkbim-formula--integrated .linkbim-formula__buttons {
    margin-top: 24px;
}
.linkbim-formula--integrated .linkbim-formula__buttons button {
    flex: none;
    width: 100%;
    border-radius: 8px;
}
.linkbim-formula--integrated .linkbim-formula__status {
    margin: 12px 0 0;
}
.linkbim-formula__output {
    padding: 24px;
    border: 1px solid var(--lb-border);
    border-radius: 12px;
    background: #f7f7f7;
}
.linkbim-formula__output-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}
.linkbim-formula--integrated .linkbim-formula__output-header label {
    margin: 0;
}
.linkbim-formula--integrated .linkbim-formula__output-header button {
    flex-shrink: 0;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 14px;
}
.linkbim-formula--integrated [data-field="result"] {
    min-height: 320px;
    margin: 0;
    line-height: 1.7;
    font-size: 14px;
}
.linkbim-formula--integrated .linkbim-formula__footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px;
    margin-top: 32px;
    padding-top: 20px;
    border-top: 1px solid var(--lb-border);
    text-align: left;
    font-size: 12px;
}
.linkbim-formula--integrated .linkbim-formula__footer a {
    color: #005fa3;
}
@media (max-width: 767px) {
    .linkbim-formula__workspace {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }
    .linkbim-formula__output {
        padding: 18px;
    }
    .linkbim-formula--integrated [data-field="result"] {
        min-height: 220px;
    }
}
@media (max-width: 480px) {
    .linkbim-formula--integrated {
        padding: 0;
    }
    .linkbim-formula__options {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }
}

/* Fond et espacement des pages outils */
body.single-linkbim_tool,
body.single-linkbim_tool #content,
body.single-linkbim_tool main.site-main {
    background-color: #f6f6f6;
}
.linkbim-formula--integrated {
    margin-top: clamp(48px, 6vw, 80px);
    margin-bottom: clamp(64px, 8vw, 100px);
}
.linkbim-formula--integrated .linkbim-formula__title {
    flex: 0 0 100%;
    margin: 0 0 16px;
    color: #000;
    font-size: clamp(28px, 3.5vw, 42px);
    font-weight: 700;
    line-height: 1.2;
    overflow-wrap: anywhere;
}
/* Le titre est désormais affiché dans le bandeau de l’outil */
body.single-linkbim_tool .entry-header .entry-title {
    display: none;
}

.linkbim-formula--integrated .linkbim-formula__title {
    text-align: center;
}
.linkbim-formula--integrated [data-action="generate"],
.linkbim-formula--integrated [data-action="copy"] {
    transition: background-color .2s ease, color .2s ease;
}
.linkbim-formula--integrated [data-action="generate"]:hover {
    background-color: #000;
    color: #fff;
}
.linkbim-formula--integrated [data-action="copy"]:hover {
    background-color: #ffea00;
    color: #000;
}

.linkbim-formula--integrated [data-action="generate"]:hover {
    background-color: #ffea00;
    color: #000;
    border-color: #000;
}

.linkbim-formula--integrated .linkbim-formula__footer {
    align-items: center;
}
.linkbim-formula--integrated .linkbim-formula__footer [data-i18n="feedback"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border: 2px solid #171717;
    border-radius: 8px;
    color: #171717;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: background-color .2s ease;
}
.linkbim-formula--integrated .linkbim-formula__footer [data-i18n="feedback"]:hover {
    background-color: #ffea00;
    color: #000;
}
.linkbim-formula--integrated .linkbim-formula__footer [data-i18n="feedback"]:focus-visible {
    outline: 3px solid #0077cc;
    outline-offset: 3px;
}

/* Curseur visible dans la pop-up d’accès */
dialog.linkbim-access--popup,
dialog.linkbim-access--popup * {
    cursor: auto !important;
}
dialog.linkbim-access--popup button,
dialog.linkbim-access--popup button *,
dialog.linkbim-access--popup a,
dialog.linkbim-access--popup a * {
    cursor: pointer !important;
}
dialog.linkbim-access--popup input[type="email"] {
    cursor: text !important;
}
dialog.linkbim-access--popup::backdrop {
    cursor: default !important;
}
