/* Composants d’installation et d’abonnement : grands boutons et aide ciblée. */
#tt-install-dialog{box-sizing:border-box;width:min(94vw,580px);max-width:580px;max-height:90vh;max-height:90dvh;margin:auto;padding:24px;border:0;border-radius:22px;background:#fffdf8;color:#163c3b;font:17px/1.55 Inter,Arial,sans-serif;overflow:auto;overscroll-behavior:contain;box-shadow:0 18px 80px #09272455;text-align:left}
#tt-install-dialog::backdrop{background:#0b2424b8}
#tt-install-dialog *{box-sizing:border-box}
#tt-install-dialog h2{margin:18px 0 10px;font-size:clamp(24px,5vw,30px);line-height:1.2;color:#0f3d3e}
#tt-install-dialog p{margin:8px 0 16px}
#tt-install-dialog button,#tt-install-dialog a,#tt-install-dialog input{font:inherit}
#tt-install-dialog button,#tt-install-dialog a{min-height:48px;cursor:pointer}
#tt-install-dialog button{border-radius:12px;padding:12px 16px}
#tt-install-dialog .tt-help-close{display:block;margin:0 0 8px auto;border:1px solid #b8c6c0;background:white;color:#163c3b}
.tt-help-brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700}
.tt-help-brand img{border-radius:12px;flex:none}
#tt-install-dialog .tt-install-steps{list-style:none;margin:20px 0;padding:0;display:grid;gap:12px}
.tt-install-steps li{display:flex;gap:12px;padding:16px 12px;background:#f0f5f1;border:1px solid #dbe6df;border-radius:14px}
.tt-install-steps .tt-step-number{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:#0f3d3e;color:white;font-weight:800}
.tt-install-steps strong{display:flex;align-items:center;gap:8px;font-size:18px;line-height:1.4}
#tt-install-dialog .tt-install-steps p{font-size:16px;margin:7px 0 0;line-height:1.5}
.tt-install-steps svg{flex:none;width:28px;height:28px}
.tt-help-before{padding:14px;border-left:4px solid #e8562f;background:#fff0dc;border-radius:8px}
#tt-install-dialog .tt-help-primary{display:block;width:100%;padding:14px;text-align:center;background:#0f3d3e;color:white;border:0;border-radius:12px;font-weight:800;text-decoration:none}
#tt-install-dialog .tt-help-secondary{display:block;width:100%;margin-top:18px;background:#fff;border:1px solid #9aada4;color:#163c3b}
.tt-copy-box{background:#fff0dc;padding:16px;border-radius:14px}.tt-copy-box label{display:block;font-size:15px;font-weight:700}
#tt-install-dialog .tt-copy-box input{display:block;width:100%;font-size:16px;padding:12px 8px;margin:10px 0;border:1px solid #b5bfb5;border-radius:8px;background:white;color:#163c3b}
#tt-install-dialog .tt-copy-box button{width:100%;background:#0f3d3e;color:white;border:0}
#tt-copy-status:empty{display:none}.tt-help-more{margin-top:20px}.tt-help-more summary{cursor:pointer;padding:10px 0;font-weight:700}
#tt-barre .tt-b-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
#tt-barre{scroll-margin-top:12px}
#tt-barre .tt-b-label{font-size:22px;color:#0f3d3e}
#tt-barre .tt-b-row input{min-height:54px;font-size:18px;border-width:2px}
#tt-barre .tt-b-row button{min-height:54px;font-size:18px}
#tt-barre .tt-b-row{flex-wrap:wrap}
#tt-barre .tt-b-destination{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px}
#tt-barre .tt-b-destination label{font-size:15px;font-weight:700}
#tt-barre .tt-b-destination select{max-width:100%;flex:1;min-width:160px;min-height:46px;font:16px Inter,Arial,sans-serif;border:1px solid #b8c7bd;border-radius:10px;padding:10px;background:#f7faf6;color:#163c3b}
#tt-barre .tt-search-destination{font-size:13px;line-height:1.5;margin:8px 0 0;color:#50645a}
#tt-barre .tt-b-photo{font-size:14px;text-align:center;margin:12px 0 0}
#tt-barre .tt-b-photo a{color:#355951}
#tt-barre .tt-b-actions .tt-b-install{margin:0;height:100%;min-height:64px;font-size:16px;white-space:normal}
#tt-barre .tt-b-subscribe{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:3px;padding:13px 16px;border:2px solid #0f3d3e;border-radius:14px;color:#0f3d3e;background:#fff6df;text-decoration:none;font-size:16px;font-weight:800;line-height:1.35;min-height:64px}
#tt-barre .tt-b-subscribe small{font-size:13px;font-weight:500}
#tt-install-dialog [hidden],#tt-barre [hidden],[data-tt-installed] .tt-b-install,[data-tt-installed] [data-tt-install],[data-tt-installed] #tt-install{display:none!important}
[data-tt-installed] #tt-barre .tt-b-actions{grid-template-columns:1fr}
.tt-help-open{overflow:hidden}
#tt-install-dialog :focus-visible,#tt-barre :focus-visible{outline:3px solid #e8562f;outline-offset:4px}
@media(max-width:520px){#tt-barre .tt-b-actions{grid-template-columns:1fr}#tt-install-dialog{padding:18px}.tt-install-steps li{padding:14px 10px}#tt-barre .tt-b-row input{flex:1 1 100%;width:100%}#tt-barre .tt-b-row button{flex:1 1 100%;width:100%;padding:13px}}
@media(prefers-reduced-motion:reduce){#tt-install-dialog *{scroll-behavior:auto!important}}

.tt-play-link{display:block;padding:14px 18px;background:#0f3d3e;color:#fff!important;border-radius:12px;text-align:center;font-weight:700;text-decoration:none;min-height:48px;box-sizing:border-box}.tt-play-link:focus-visible{outline:3px solid #e8562f;outline-offset:4px}[data-google-play-slot][hidden]{display:none!important}

#tt-barre h2{font:700 22px/1.3 system-ui,sans-serif;margin:0 0 10px;color:#0f3d3e}.tt-gift-entry,.tt-return-entry{border-top:1px solid #e4dcc9;margin-top:22px;padding-top:20px}.tt-gift-entry p,.tt-separate-note{font-size:15px;line-height:1.6}.tt-gift-start{display:inline-block;padding:14px 20px;min-height:48px;box-sizing:border-box;background:#e8562f;color:#fff!important;font-weight:700;border-radius:12px;text-decoration:none}.tt-secondary-links a{text-underline-offset:3px}.tt-more{max-width:1000px;margin:18px auto;border:1px solid #e4dcc9;border-radius:14px;background:#fff;padding:14px 18px;box-sizing:border-box}.tt-more>summary{cursor:pointer;min-height:44px;font-weight:700;color:#0f3d3e;line-height:1.6}.tt-more[open]>summary{margin-bottom:15px}.tt-more .vitrine{max-width:100%}.tt-local-filters{display:flex;flex-wrap:wrap;gap:12px;border:0;margin:12px 0;padding:0}.tt-local-filters label{flex:1;min-width:180px;font-size:15px}.tt-local-filters select{display:block;width:100%;font:inherit;padding:12px;border:1px solid #81978c;border-radius:8px;background:#fff;color:#163c3b}.tt-local-filters[hidden]{display:none}.tt-search-external{display:flex;flex-direction:column;gap:8px;margin:16px 0}.tt-search-external a{padding:12px;min-height:44px;box-sizing:border-box}.tt-criteria{font-size:14px;color:#52635c;line-height:1.6}.tt-gift-start:focus-visible,.tt-more summary:focus-visible{outline:3px solid #163c3b;outline-offset:4px}@media(max-width:600px){.tt-more{margin:14px 12px}.tt-local-filters{display:block}.tt-local-filters label{display:block;margin:10px 0}}

/* V37 : recherche compacte, options secondaires repliées, tailles flexibles Firefox. */
#tt-barre{min-width:0;max-width:960px}#tt-barre form,#tt-barre .tt-b-row,#tt-barre .tt-b-actions{min-width:0;max-width:100%}#tt-barre .tt-b-row{display:flex;flex-wrap:wrap;align-items:stretch}#tt-barre input[type=search]{flex:1 1 180px;width:auto;max-width:100%;min-width:0}#tt-barre .tt-b-row button{min-height:48px;white-space:normal;max-width:100%;padding:12px 18px}#tt-barre .tt-search-options{margin:8px 0 12px}#tt-barre summary{cursor:pointer;font-size:14px;padding:8px 0;line-height:1.5}#tt-barre .tt-filter-options{margin:10px 0}#tt-barre .tt-filter-options[hidden]{display:none}#tt-barre .tt-search-destination{font-size:14px;line-height:1.5}#tt-barre .tt-b-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#tt-barre .tt-b-actions>*{min-width:0;margin:0;overflow-wrap:anywhere}#tt-barre .tt-b-actions .tt-b-install{margin:0}#tt-barre .tt-play-link{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:10px 18px;box-sizing:border-box;max-width:100%;border-radius:12px;background:#16231f;color:white;text-decoration:none;font-weight:700;overflow-wrap:anywhere}#tt-barre [data-google-play-slot]{margin:12px 0}#tt-search-res{scroll-margin-top:20px;overflow-wrap:anywhere}#tt-search-res .lina-results{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}#tt-barre img{max-width:100%}#tt-barre :focus-visible{outline:3px solid #0f3d3e;outline-offset:3px}@media(max-width:480px){#tt-barre .tt-b-actions{grid-template-columns:minmax(0,1fr)}#tt-barre .tt-b-row button{flex:1 1 100%}#tt-barre .tt-local-filters label{min-width:0}#tt-barre .tt-b-destination select{min-width:0;width:100%}}
