/* ===== RESPONSIVE ===== */

.nav-burger {
    display:none;
    background:none;
    border:2px solid var(--border);
    color:var(--text-white);
    font-size:var(--text-display);
    cursor:pointer;
    padding:4px 10px;
    line-height:1;
    position:relative;
    z-index:1001;
}
.nav-burger:hover { border-color:var(--accent-red); color:var(--role-brand-text, var(--accent-red)); }

/* Tablette + mobile : plein écran, scroll unique, strips simplifiées */
@media(max-width:1024px){
    :root {
        --container-max-app:100%;
        --pdm-resize-hit:0px;
    }
    html {
        overflow-x:hidden;
        overscroll-behavior-x:none;
    }
    body {
        overscroll-behavior-x:none;
    }
    .container,
    #main-nav .container,
    #main-footer .container,
    .section:not(#section-landing) > .container,
    .section.active,
    .prm-wrap,
    .prm-grid,
    .prm-col,
    .stg-wrap,
    .stg-layout,
    .cfg-wrap {
        max-width:100%;
        min-width:0;
    }
    .prm-card,
    .ws-panel,
    .cfg-card,
    .stg-card {
        padding-left:0;
        padding-right:0;
        border-radius:0;
    }
    .system-prompt-head,
    .prm-title-with-icon,
    .prm-context-section-title,
    .prm-context-options,
    .prm-context-list > .prm-context-section-title,
    .prm-context-list .profile-counter,
    .prm-context-list .profile-order-hint,
    .profiles-sortable,
    .stg-header,
    .ws-panel-head {
        padding-left:10px;
        padding-right:10px;
    }
    .stg-card-head {
        padding:12px 10px 10px;
    }
    .stg-card-body {
        padding:12px 10px 14px;
    }
    .ws-panel { padding:12px 0; }
    .cfg-wrap { padding:12px 0; max-width:100%; }
    .cfg-card { padding:12px 0; overflow:hidden; }
    .stg-wrap { padding:12px 0; max-width:100%; }
    .stg-header { margin-bottom:16px; padding:0 10px 12px; }
    .prm-wrap { padding:12px 0; max-width:100%; min-width:0; }
    .prm-card { padding:0; overflow:hidden; }
    .prm-context-options {
        padding:12px 10px 14px;
    }
    .context-inject-box {
        padding:10px 10px;
    }
    .pdm-resize-grip {
        display:none !important;
    }
    .pdm-resize-wrap,
    .pdm-resize-host {
        max-width:100%;
        min-width:0;
    }
    .pdm-resize-target,
    .cfg-ta,
    .prm-system-ta,
    .profile-prompt,
    .ws-textarea,
    .output-text,
    .thinking-text,
    .form-textarea {
        resize:none !important;
        overflow-y:hidden !important;
        overflow-x:hidden !important;
        padding-bottom:12px !important;
        padding-right:10px !important;
        max-width:100%;
        touch-action:pan-y;
    }
    .stt-strip-row {
        justify-content:space-between;
        gap:8px;
        padding-bottom:2px;
    }
    .stt-strip-status {
        display:none !important;
    }
    .stt-strip-dictate-btn {
        flex-shrink:0;
    }
    .stt-strip-options-btn {
        flex-shrink:0;
        margin-left:0;
    }
    .llm-strip-field-label {
        display:none;
    }
    .llm-strip-config {
        flex:1 1 auto;
        min-width:0;
    }
    .llm-strip-row {
        overflow-x:hidden;
        -webkit-overflow-scrolling:auto;
    }
    .ws-input-tools {
        position:static;
        margin-top:8px;
        flex-wrap:wrap;
        max-width:100%;
    }
    .ws-textarea {
        padding-bottom:12px;
    }
    .ws-output-actions-primary {
        flex-wrap:wrap;
    }
    #profile-json-card .stg-profile-toolbar {
        flex-direction:column;
        align-items:stretch;
    }
    #profile-json-card .stg-profile-select,
    #profile-json-card .stg-profile-btn {
        width:100%;
        flex:1 1 auto;
    }
    .stg-llm-row,
    .stg-llm-row:has(#llm-endpoint-wrap[hidden]) {
        grid-template-columns:1fr;
    }
    .stg-llm-field-test .stg-label-action {
        display:none;
    }
    .profile-head {
        display:grid;
        grid-template-columns:min-content 1fr;
        grid-template-areas:
            "order identity"
            "order actions";
        gap:8px 10px;
        align-items:start;
    }
    .profile-order-col { grid-area:order; }
    .profile-identity {
        grid-area:identity;
        width:100%;
        min-width:0;
    }
    .profile-head-actions {
        grid-area:actions;
        width:auto;
        justify-self:end;
    }
    .profile-tag-wrap {
        min-width:0;
        width:100%;
    }
    #main-footer .footer-row {
        grid-template-columns:1fr;
        gap:28px;
    }
    #main-footer .footer-menus-primary {
        grid-template-columns:1fr;
        gap:0;
    }
    #main-footer .footer-menus-primary .footer-nav + .footer-nav {
        padding-left:0;
        border-left:none;
        padding-top:18px;
        border-top:1px solid color-mix(in srgb, var(--border) 45%, transparent);
    }
}

/* Header : gouttière 3px (tablette + smartphone) */
@media(max-width:1024px){
    #main-nav .container {
        padding-left:3px;
        padding-right:3px;
    }
    #main-nav .nav-row {
        padding-left:0;
        padding-right:0;
    }
    .nav-burger { display:block; }
    .nav-right { display:none; }
    .nav-row { position:relative; flex-wrap:nowrap; }
    .nav-logo { min-width:0; max-width:calc(100vw - 72px); overflow:hidden; text-overflow:ellipsis; }
    .nav-links {
        display:none;
        flex-direction:column;
        position:fixed;
        top:0;
        left:0;
        right:0;
        background:var(--bg-dark);
        padding:72px 20px 20px;
        transform:translateY(-110%);
        transition:transform .3s ease;
        z-index:999;
        border-bottom:2px solid var(--accent-red);
        box-shadow:0 8px 24px rgba(0,0,0,.45);
        pointer-events:none;
        visibility:hidden;
    }
    .nav-links.open {
        display:flex;
        transform:translateY(0);
        pointer-events:auto;
        visibility:visible;
    }
    .nav-links a {
        display:block;
        padding:12px 0;
        border-bottom:1px solid var(--border);
        width:100%;
        text-align:center;
    }
    .nav-links.open .nav-links-info {
        display:flex;
        justify-content:center;
        gap:12px;
        margin-top:8px;
    }
}

/* Tablette seule (769–1024px) : gouttière 3px contenu — smartphones ≤768px inchangés */
@media(min-width:769px) and (max-width:1024px){
    #main-footer .container,
    .section:not(#section-landing) > .container {
        padding-left:3px;
        padding-right:3px;
    }
    #main-footer .footer-row {
        padding-left:0;
        padding-right:0;
    }
}

@media(max-width:768px){
    #main-footer .container,
    .section:not(#section-landing) > .container {
        padding-left:0;
        padding-right:0;
    }
    .system-prompt-head,
    .prm-title-with-icon,
    .prm-context-section-title,
    .prm-context-options,
    .prm-context-list > .prm-context-section-title,
    .prm-context-list .profile-counter,
    .prm-context-list .profile-order-hint,
    .profiles-sortable,
    .stg-header,
    .ws-panel-head {
        padding-left:8px;
        padding-right:8px;
    }
    .stg-card-head {
        padding:12px 8px 10px;
    }
    .stg-card-body {
        padding:12px 8px 14px;
    }
    .stg-header { padding:0 8px 12px; }
    .prm-context-options {
        padding:12px 8px 14px;
    }
    .context-inject-box {
        padding:10px 8px;
    }
    #main-footer .footer-row {
        padding-left:8px;
        padding-right:8px;
    }
    .hero { padding:30px 0; }
    .hero-title { font-size:var(--text-display); }
    .hero-content { grid-template-columns:1fr; gap:25px; }
    .hero-subtitle { font-size:var(--text-title); }
    .hero-right { transform:none; padding:20px; }
    .section-title { font-size:var(--text-display); }
    .cta-title { font-size:var(--text-display); }
    .problem { padding:40px 0; }
    .problem::before { font-size:var(--text-hero); }
    .bad-prompt { padding:15px; }
    .solution { padding:40px 0; }
    .solution-grid { grid-template-columns:1fr; }
    .solution-card { padding:20px; }
    .pricing { padding:40px 0; }
    .pricing-card { padding:20px; }
    .pricing-price { font-size:var(--text-hero); }
    .pricing-features li { font-size:var(--text-small); padding:6px 0; }
    .plan-display { flex-direction:column; align-items:flex-start; gap:4px; }
    .ws-bar-info { flex-direction:column; align-items:flex-start; }
    .cta-block { padding:40px 0; }
    .proof { padding:40px 0; }
    .stats { grid-template-columns:1fr 1fr; }

    .ws-grid { grid-template-columns:1fr; }
    .history-card-head { flex-direction:column; align-items:stretch; }
    .history-head-tools { justify-content:flex-end; }
    .history-zones { grid-template-columns:1fr; }
    .history-block-body--pair { grid-template-columns:1fr; }
    .history-view-modal { padding:8px; }
    .history-modal-shell { max-height:calc(100vh - 16px); min-width:0; width:100%; }
    .history-modal-head { flex-direction:column; padding:12px; }
    .history-modal-actions { width:100%; justify-content:flex-end; flex-wrap:wrap; }
    .history-modal-body { grid-template-columns:1fr; padding:10px; }
    .stt-device-row { flex-direction:column; align-items:stretch; }
    .stt-device-select { max-width:100%; }
    .ws-bar { align-items:flex-start; }
    .ws-bar-fields { flex-direction:column; align-items:stretch; width:100%; }
    .ws-bar-fields .select-mini { max-width:100%; }
    .ws-bar-fields .cfg-input { max-width:100%; }
    .ws-panel { padding:12px 0; }
    .cfg-actions, .danger-actions { flex-direction:column; }
    .cfg-actions button { width:100%; }

    .cfg-wrap { padding:12px 0; max-width:100%; }
    .cfg-card { padding:12px 0; overflow:hidden; }
    .cfg-select, .cfg-input, .cfg-ta, .stg-select, .prm-card { max-width:100%; width:100%; box-sizing:border-box; font-size:var(--text-body); }
    .stg-wrap { padding:12px 0; max-width:100%; }
    .stg-header { margin-bottom:16px; padding:0 8px 12px; }
    .stg-page-title { font-size:var(--text-title); }
    .stg-card { overflow:hidden; }
    .stg-block-test { flex-direction: column; align-items: stretch; }
    .stg-action-grid { grid-template-columns: 1fr; }
    /* Strip STT : mobile = Dictée vocale + Options uniquement */
    .stt-strip-row {
        justify-content:space-between;
        gap:8px;
        padding-bottom:2px;
    }
    .stt-strip-status {
        display:none !important;
    }
    .stt-strip-dictate-btn {
        flex-shrink:0;
        padding:8px 14px !important;
        min-height:36px;
        font-size:var(--text-small);
    }
    .stt-strip-hint {
        max-width:none;
    }
    .stt-strip-options-btn {
        flex-shrink:0;
        margin-left:0;
        padding:6px 10px;
        font-size:var(--text-caption);
    }
    .stt-opt-row {
        gap:6px;
        min-width:0;
        max-width:100%;
    }
    .stt-strip-options {
        padding-left:4px;
        padding-right:4px;
        min-width:0;
        max-width:100%;
        overflow-x:clip;
        box-sizing:border-box;
    }
    /* Lignes toggle (Insertion, Suppression dernier mot) : libellé sur 2 lignes, switch centré */
    .stt-opt-row--toggle {
        flex-wrap:nowrap;
        align-items:center;
        justify-content:flex-start;
        gap:8px 10px;
    }
    .stt-opt-row--toggle .stt-opt-label {
        flex:1 1 0;
        min-width:0;
        max-width:none;
        white-space:normal;
        line-height:1.35;
        overflow-wrap:anywhere;
        hyphens:auto;
    }
    .stt-opt-row--toggle .ws-stt-insert-toggle {
        margin-left:auto;
        align-self:center;
        flex:0 0 auto;
    }
    /* Touches / Cible : label au-dessus, select pleine largeur */
    .stt-opt-row:not(.stt-opt-row--toggle):not(.stt-opt-row--mic) {
        flex-direction:column;
        align-items:stretch;
        gap:4px;
    }
    .stt-opt-row:not(.stt-opt-row--toggle) .stt-opt-label {
        min-width:0;
        white-space:normal;
    }
    .stt-opt-row .stt-opt-select {
        width:100%;
        max-width:100%;
        box-sizing:border-box;
    }
    .stt-opt-row--mic {
        flex-wrap:wrap;
        flex-direction:row;
        align-items:center;
    }
    .stt-opt-row--mic .stt-opt-select {
        flex:1 1 10rem;
        width:auto;
        min-width:0;
    }
    .stt-opt-row--mic .stt-opt-action-btn {
        flex:0 0 auto;
    }
    .stt-opt-row:not(.stt-opt-row--toggle):not(.stt-opt-row--mic) .stt-preload-btn,
    .stt-opt-row:not(.stt-opt-row--toggle):not(.stt-opt-row--mic) .stt-opt-action-btn {
        width:100%;
        justify-content:center;
    }
    /* Strip LLM : select modèle pleine largeur, label masqué */
    .llm-strip-row {
        gap:4px;
        padding-bottom:2px;
    }
    .llm-strip-field-label {
        display:none;
    }
    .llm-strip-config {
        flex:1 1 auto;
        min-width:0;
    }
    .llm-strip-options-btn {
        flex-shrink:0;
        padding:6px 10px;
        font-size:var(--text-caption);
    }
    .llm-opt-row {
        gap:6px;
    }
    .llm-opt-row--toggle {
        flex-wrap:wrap;
    }
    .llm-opt-row--range .llm-opt-label {
        flex:1 1 100%;
        min-width:0;
    }
    .llm-opt-range-wrap {
        flex:1 1 100%;
        gap:6px;
    }
    .llm-opt-slider {
        min-width:0;
    }
    .llm-opt-value {
        min-width:3em;
    }
    .llm-strip-hint {
        max-width:10em;
    }
    .stg-danger-btn { max-width: 100%; }
    .prm-wrap { padding:12px 0; max-width:100%; min-width:0; }
    .prm-grid { gap:18px; }
    .prm-card { padding:0; overflow:hidden; }
    .prm-context-options {
        padding:12px 8px 14px;
    }
    .context-inject-box {
        padding:10px 8px;
    }
    .context-inject-diagram {
        font-size:var(--text-caption);
        overflow-wrap:anywhere;
        word-break:break-word;
    }
    .profile-item {
        padding:12px 8px;
    }
    .profile-head {
        display:grid;
        grid-template-columns:min-content 1fr;
        grid-template-areas:
            "order identity"
            "order actions";
        gap:8px 10px;
        align-items:start;
    }
    .profile-order-col {
        grid-area:order;
    }
    .profile-identity {
        grid-area:identity;
        width:100%;
        min-width:0;
    }
    .profile-head-actions {
        grid-area:actions;
        width:auto;
        justify-self:end;
    }
    .profile-tag-wrap {
        min-width:0;
        width:100%;
    }
    .profile-tag {
        font-size:var(--text-body);
    }
    .profile-prompt,
    .pdm-resize-target.profile-prompt {
        font-size:var(--text-body);
    }
    .prm-card-context { max-height:none; overflow:visible; }
    .prm-card-system .prm-system-ta { min-height:220px; }
    .token-wrap .cfg-input { padding-right:40px; }
    .cfg-custom-model { overflow:hidden; }
    .cfg-custom-model .cfg-input { max-width:100%; }

    .nav-prompt-row { display:none; }
    .nav-prompt { display:none; }

    .stg-theme-picker { gap: 8px; }
    .stg-theme-picker .theme-swatch-preview { height: 26px; }
    .stg-theme-picker .theme-swatch-meta { padding: 8px 10px; }

    #notif-box { right:8px; left:8px; }
    .notif { max-width:100%; }
    #main-footer .footer-row {
        padding-left:8px;
        padding-right:8px;
    }

    .form-textarea { min-height:100px; }
    .ws-textarea {
        min-height:140px;
        padding-bottom:12px;
    }
    .ws-input-tools {
        position:static;
        margin-top:8px;
        flex-wrap:wrap;
        max-width:100%;
    }
    .ws-output-actions-primary {
        flex-wrap:wrap;
    }
    #profile-json-card .stg-profile-toolbar {
        flex-direction:column;
        align-items:stretch;
    }
    #profile-json-card .stg-profile-select,
    #profile-json-card .stg-profile-btn {
        width:100%;
        flex:1 1 auto;
    }
    .stg-llm-row,
    .stg-llm-row:has(#llm-endpoint-wrap[hidden]) {
        grid-template-columns:1fr;
    }
    .stg-llm-field-test .stg-label-action {
        display:none;
    }

    .legal-section { padding:88px 0 40px; }
    .legal-section > .container {
        min-width:0;
        max-width:100%;
        box-sizing:border-box;
    }
    .legal-content {
        min-width:0;
        max-width:100%;
        box-sizing:border-box;
        overflow-x:clip;
        overflow-wrap:anywhere;
    }
    .legal-content table { table-layout:fixed; width:100%; }
    .legal-content th,
    .legal-content td { word-break:break-word; overflow-wrap:anywhere; padding:8px 10px; }

    .video-section { padding:36px 0 44px; }
    .video-section-lead {
        margin-bottom:24px;
        font-size:var(--text-body);
        padding:0 4px;
    }
    .demo-media-shell { padding:16px 14px 18px; }
    .demo-media-tabs-nav {
        justify-content:center;
        margin-bottom:16px;
        padding-bottom:14px;
    }
    .demo-media-tab { padding:9px 14px; font-size:var(--text-small); }
    .demo-media-info-panel { padding:20px 16px 22px; }
    .demo-media-info-hero { font-size:var(--text-title); margin-bottom:20px; }
    .demo-media-info-lead,
    .demo-media-info-outro { font-size:var(--text-body); }
    .demo-media-stage--shorts,
    .demo-media-stage--wide {
        grid-template-columns:1fr;
    }
    .demo-media-aside { gap:12px; }
    .demo-video-carousel-nav--stack {
        flex-direction:row;
        flex-wrap:wrap;
    }
    .demo-video-carousel-nav--stack .demo-video-carousel-tab {
        width:auto;
        flex:1 1 calc(50% - 4px);
        text-align:center;
    }
    .video-play-btn { width:56px; height:56px; font-size:var(--text-display); }
}

@media(max-width:480px){
    .system-prompt-head,
    .prm-title-with-icon,
    .prm-context-section-title,
    .prm-context-options,
    .prm-context-list > .prm-context-section-title,
    .prm-context-list .profile-counter,
    .prm-context-list .profile-order-hint,
    .profiles-sortable,
    .stg-header,
    .ws-panel-head,
    .stg-card-head,
    .stg-card-body {
        padding-left:6px;
        padding-right:6px;
    }
    .prm-context-options,
    .context-inject-box { padding-left:6px; padding-right:6px; }
    .profile-item { padding:10px 6px; }
    #main-nav .nav-row { padding:2px 0; gap:4px; }

    .nav-logo { font-size:var(--text-title); }
    .nav-logo .logo-gt { padding:2px 4px; font-size:var(--text-caption); }
    html[data-pdm-brand-nav-ext="1"] #main-nav .nav-logo .logo-dotcom { font-size:0.55em; }
    .nav-links a { font-size:var(--text-small); padding:10px 0; }
    .nav-links { padding:72px 2px 2px; }

    .hero { padding:20px 0; }
    .hero-title,
    .hero-brand { font-size:var(--text-display); }
    .hero-subtitle { font-size:var(--text-body); }
    .hero-right { padding:15px; }
    .section-title { font-size:var(--text-display); }
    .cta-title { font-size:var(--text-display); }
    .cta-subtitle { font-size:var(--text-title); }
    .problem::before { font-size:var(--text-display); }
    .bad-prompt-text { font-size:var(--text-body); }
    .solution-icon { font-size:var(--text-display); }
    .solution-title { font-size:var(--text-title); }
    .pricing-price { font-size:var(--text-display); }
    .pricing-tier-label { font-size:var(--text-small); }
    .pricing-card { padding:16px; }
    .stats { grid-template-columns:1fr; }
    .stat-number { font-size:var(--text-display); }

    .btn { padding:14px 20px; font-size:var(--text-body); }
    .btn-ghost { padding:10px 16px; font-size:var(--text-small); }
    .btn-sm { padding:8px 14px; }

    .stg-card-body { padding:10px 6px 12px; }
    .cfg-title { font-size:var(--text-title); }
    .stg-title { font-size:var(--text-small); }
    .stg-page-title { font-size:var(--text-title); }
    .prm-title { font-size:var(--text-title); }

    .form-label { font-size:var(--text-body); }
    .form-textarea { min-height:80px; }
    .ws-sniperise-btn {
        flex:1 1 100%;
    }
    .char-count {
        font-size:var(--text-caption);
    }

    .stt-opt-row--toggle .stt-opt-label {
        font-size:var(--text-caption);
        letter-spacing:.2px;
    }
    .ws-stt-insert-toggle {
        font-size:var(--text-caption);
    }
    .ws-stt-insert-toggle span {
        min-width:2.8em;
    }

    #main-footer .footer-row {
        padding-left:6px;
        padding-right:6px;
    }
    #notif-box { right:6px; left:6px; }
    .history-view-modal { padding:2px; }
    #main-footer { padding:28px 0 36px; }
    .footer-row {
        grid-template-columns:1fr;
        gap:28px;
    }
    .footer-menus-primary {
        grid-template-columns:1fr;
        gap:0;
    }
    .footer-menus-primary .footer-nav + .footer-nav {
        padding-left:0;
        border-left:none;
        padding-top:18px;
        border-top:1px solid color-mix(in srgb, var(--border) 45%, transparent);
    }
    .footer-commercify {
        width:100%;
        max-width:none;
    }
    .footer-nav a { padding:5px 0; font-size:var(--text-ui); }
    .footer-text { font-size:var(--text-small); }
}
@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

