{"id":9253,"date":"2026-03-12T12:17:32","date_gmt":"2026-03-12T16:17:32","guid":{"rendered":"https:\/\/blogphotographie.com\/?page_id=9253"},"modified":"2026-03-12T13:08:13","modified_gmt":"2026-03-12T17:08:13","slug":"calculateur-destimation-seance-photo-et-mariage","status":"publish","type":"page","link":"https:\/\/blogphotographie.com\/fr_fr\/calculateur-destimation-seance-photo-et-mariage\/","title":{"rendered":"Calculateur d&rsquo;estimation s\u00e9ance photo et mariage"},"content":{"rendered":"\n<h2 class=\"wp-block-heading has-text-align-center has-medium-font-size\">Calculateur d\u2019estimation &#8211; s\u00e9ance photo et mariage<\/h2>\n\n\n\n<p>Combien \u00e7a co\u00fbte, une s\u00e9ance photo ? C&rsquo;est souvent la premi\u00e8re question et la plus difficile \u00e0 r\u00e9pondre quand on commence. Parce que le vrai co\u00fbt d&rsquo;une s\u00e9ance, c&rsquo;est pas juste le temps pass\u00e9 \u00e0 appuyer sur le d\u00e9clencheur.<\/p>\n\n\n\n<p>Ce calculateur gratuit te permet d&rsquo;estimer rapidement ce qu&rsquo;une s\u00e9ance devrait te rapporter, en tenant compte de tout, ton taux horaire, le temps de retouche, les frais, l&rsquo;amortissement de ton \u00e9quipement, et m\u00eame les taxes si t&rsquo;es inscrit.<\/p>\n\n\n\n<p>Remplis les cases bleues, les totaux se calculent tout seuls. Aucune inscription, aucune donn\u00e9e envoy\u00e9e. Le mode d&#8217;emploi est en bas si t&rsquo;en as besoin.<\/p>\n\n\n\n<p><em>\u00ab\u00a0Arr\u00eate de deviner tes prix. Calcule-les.\u00a0\u00bb<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-center has-theme-palette-13-color has-text-color has-link-color has-small-font-size wp-elements-880d1834bb8c2313a32f56119a8041de\"><strong>Les instructions sont au bas calculateur d\u2019estimation si t\u2019en as besoin<\/strong><\/h3>\n\n\n\n<!DOCTYPE html>\n<html lang=\"fr\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Calculateur d&rsquo;estimation \u2014 S\u00e9ance photo &#038; Mariage<\/title>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Playfair+Display:wght@400;600;700&#038;family=DM+Sans:wght@300;400;500;600&#038;display=swap\" rel=\"stylesheet\">\n<style>\n  :root {\n    --noir: #111318;\n    --charcoal: #1e2128;\n    --ardoise: #2c3140;\n    --or: #c9a84c;\n    --or-clair: #e8c97a;\n    --or-pale: #f5e6c0;\n    --blanc: #f8f6f1;\n    --gris-clair: #eceae4;\n    --gris-moyen: #b5b0a5;\n    --texte: #2a2825;\n    --rouge: #8b2e2e;\n    --rouge-clair: #c0392b;\n    --bleu-input: #e8f0f8;\n    --bleu-texte: #1a5c9e;\n    --vert: #2d6a4f;\n    --vert-clair: #d8eed9;\n  }\n\n  * { box-sizing: border-box; margin: 0; padding: 0; }\n\n  body {\n    font-family: 'DM Sans', sans-serif;\n    background: var(--blanc);\n    color: var(--texte);\n    line-height: 1.6;\n  }\n\n  \/* HERO *\/\n  .hero {\n    background: var(--noir);\n    padding: 48px 24px 40px;\n    text-align: center;\n    position: relative;\n    overflow: hidden;\n  }\n  .hero::before {\n    content: '';\n    position: absolute;\n    inset: 0;\n    background: radial-gradient(ellipse at 30% 50%, rgba(201,168,76,0.12) 0%, transparent 60%),\n                radial-gradient(ellipse at 70% 50%, rgba(201,168,76,0.08) 0%, transparent 60%);\n  }\n  .hero-eyebrow {\n    font-family: 'DM Sans', sans-serif;\n    font-size: 11px;\n    font-weight: 600;\n    letter-spacing: 3px;\n    text-transform: uppercase;\n    color: var(--or);\n    margin-bottom: 12px;\n    position: relative;\n  }\n  .hero h1 {\n    font-family: 'Playfair Display', serif;\n    font-size: clamp(24px, 5vw, 42px);\n    font-weight: 700;\n    color: var(--blanc);\n    line-height: 1.2;\n    position: relative;\n  }\n  .hero h1 span { color: var(--or-clair); }\n  .hero-sub {\n    margin-top: 14px;\n    font-size: 14px;\n    color: var(--gris-moyen);\n    max-width: 560px;\n    margin-left: auto;\n    margin-right: auto;\n    position: relative;\n  }\n  .hero-line {\n    width: 48px;\n    height: 2px;\n    background: var(--or);\n    margin: 20px auto 0;\n    position: relative;\n  }\n\n  \/* TABS *\/\n  .tabs-wrap {\n    background: var(--charcoal);\n    display: flex;\n    gap: 0;\n    position: sticky;\n    top: 0;\n    z-index: 100;\n    border-bottom: 2px solid var(--ardoise);\n  }\n  .tab-btn {\n    flex: 1;\n    padding: 16px 20px;\n    background: transparent;\n    border: none;\n    cursor: pointer;\n    font-family: 'DM Sans', sans-serif;\n    font-size: 13px;\n    font-weight: 600;\n    letter-spacing: 1px;\n    text-transform: uppercase;\n    color: var(--gris-moyen);\n    border-bottom: 3px solid transparent;\n    transition: all 0.25s ease;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n  }\n  .tab-btn:hover { color: var(--or-clair); background: rgba(201,168,76,0.05); }\n  .tab-btn.active { color: var(--or-clair); border-bottom-color: var(--or); background: rgba(201,168,76,0.08); }\n  .tab-icon { font-size: 16px; }\n\n  \/* CONTENT *\/\n  .container { max-width: 860px; margin: 0 auto; padding: 32px 20px 60px; }\n  .tab-panel { display: none; }\n  .tab-panel.active { display: block; animation: fadeIn 0.3s ease; }\n  @keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }\n\n  \/* SECTION *\/\n  .section {\n    margin-bottom: 28px;\n    border-radius: 12px;\n    overflow: hidden;\n    box-shadow: 0 2px 16px rgba(0,0,0,0.07);\n  }\n  .section-header {\n    padding: 14px 20px;\n    font-family: 'DM Sans', sans-serif;\n    font-size: 11px;\n    font-weight: 700;\n    letter-spacing: 2.5px;\n    text-transform: uppercase;\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    color: white;\n  }\n  .section-header.bleu { background: #1a3a5c; }\n  .section-header.rouge { background: #7b2c2c; }\n  .section-header.vert { background: #1e4d3a; }\n  .section-header.ardoise { background: var(--ardoise); }\n  .section-header .icon { font-size: 14px; opacity: 0.9; }\n\n  \/* ROWS *\/\n  .row {\n    display: grid;\n    grid-template-columns: 1fr 160px;\n    gap: 0;\n    border-bottom: 1px solid #ede9e0;\n    background: white;\n  }\n  .row:last-child { border-bottom: none; }\n  .row.has-comment { grid-template-columns: 1fr 160px; }\n  .row-label {\n    padding: 12px 18px;\n    font-size: 14px;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    background: #faf9f6;\n  }\n  .row-label span.sub {\n    font-size: 11px;\n    color: var(--gris-moyen);\n    margin-top: 2px;\n    font-style: italic;\n  }\n  .row-value {\n    padding: 10px 14px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    border-left: 1px solid #ede9e0;\n  }\n\n  \/* INPUTS *\/\n  input[type=\"number\"], input[type=\"text\"], select {\n    width: 100%;\n    padding: 8px 10px;\n    border: 2px solid #d4e3f5;\n    border-radius: 6px;\n    font-family: 'DM Sans', sans-serif;\n    font-size: 14px;\n    font-weight: 600;\n    color: var(--bleu-texte);\n    background: var(--bleu-input);\n    text-align: center;\n    transition: border-color 0.2s;\n    outline: none;\n  }\n  input:focus, select:focus { border-color: var(--bleu-texte); background: white; }\n  input[type=\"text\"] { text-align: left; }\n\n  .calc-value {\n    font-size: 14px;\n    font-weight: 600;\n    color: var(--texte);\n    text-align: center;\n    width: 100%;\n  }\n  .calc-value.muted { color: var(--gris-moyen); font-weight: 400; font-size: 13px; }\n\n  \/* CHECKBOX *\/\n  .toggle-wrap { display: flex; align-items: center; justify-content: center; gap: 8px; }\n  .toggle { position: relative; width: 40px; height: 22px; }\n  .toggle input { opacity: 0; width: 0; height: 0; }\n  .slider {\n    position: absolute; cursor: pointer; inset: 0;\n    background: #ccc; border-radius: 22px; transition: 0.3s;\n  }\n  .slider:before {\n    content: ''; position: absolute;\n    width: 16px; height: 16px; left: 3px; bottom: 3px;\n    background: white; border-radius: 50%; transition: 0.3s;\n  }\n  input:checked + .slider { background: var(--bleu-texte); }\n  input:checked + .slider:before { transform: translateX(18px); }\n\n  \/* TOTAL ROWS *\/\n  .row-subtotal { background: var(--vert-clair) !important; }\n  .row-subtotal .row-label { background: var(--vert-clair); font-weight: 600; }\n  .row-subtotal .calc-value { color: var(--vert); font-size: 15px; font-weight: 700; }\n\n  .row-total-final {\n    background: var(--noir) !important;\n    border-bottom: none !important;\n  }\n  .row-total-final .row-label {\n    background: var(--noir);\n    color: white;\n    font-family: 'DM Sans', sans-serif;\n    font-weight: 700;\n    font-size: 15px;\n    letter-spacing: 0.5px;\n  }\n  .row-total-final .row-value { border-left-color: rgba(255,255,255,0.15); }\n  .row-total-final .calc-value {\n    color: var(--or-clair);\n    font-size: 20px;\n    font-weight: 700;\n  }\n\n  \/* ACOMPTE BOX *\/\n  .acompte-box {\n    margin-top: 28px;\n    background: white;\n    border-radius: 12px;\n    box-shadow: 0 2px 16px rgba(0,0,0,0.07);\n    overflow: hidden;\n  }\n  .acompte-header {\n    padding: 14px 20px;\n    background: var(--ardoise);\n    color: white;\n    font-size: 11px;\n    font-weight: 700;\n    letter-spacing: 2.5px;\n    text-transform: uppercase;\n  }\n\n  \/* PRINT BTN *\/\n  .actions {\n    display: flex;\n    gap: 12px;\n    margin-top: 32px;\n    flex-wrap: wrap;\n  }\n  .btn {\n    padding: 12px 24px;\n    border-radius: 8px;\n    font-family: 'DM Sans', sans-serif;\n    font-size: 13px;\n    font-weight: 600;\n    letter-spacing: 0.5px;\n    cursor: pointer;\n    border: none;\n    transition: all 0.2s;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n  }\n  .btn-primary {\n    background: var(--or);\n    color: var(--noir);\n  }\n  .btn-primary:hover { background: var(--or-clair); transform: translateY(-1px); }\n  .btn-secondary {\n    background: transparent;\n    color: var(--texte);\n    border: 2px solid #ddd;\n  }\n  .btn-secondary:hover { border-color: var(--or); color: var(--or); }\n\n  \/* NOTE BAS *\/\n  .note-bas {\n    margin-top: 40px;\n    padding: 18px 20px;\n    background: var(--gris-clair);\n    border-radius: 10px;\n    font-size: 12px;\n    color: var(--gris-moyen);\n    text-align: center;\n    line-height: 1.8;\n  }\n  .note-bas a { color: var(--or); text-decoration: none; }\n  .note-bas a:hover { text-decoration: underline; }\n\n  \/* MARIAGE tabs color overrides *\/\n  #tab-mariage input[type=\"number\"] {\n    border-color: #f4cccc;\n    background: #fdf0f0;\n    color: var(--rouge-clair);\n  }\n  #tab-mariage input[type=\"number\"]:focus { border-color: var(--rouge-clair); background: white; }\n  #tab-mariage .row-subtotal { background: #fdf0f0 !important; }\n  #tab-mariage .row-subtotal .row-label { background: #fdf0f0; }\n  #tab-mariage .row-subtotal .calc-value { color: var(--rouge); }\n  #tab-mariage .row-total-final .calc-value { color: #f4c87a; }\n\n  \/* REFERENCE TAB *\/\n  .ref-card {\n    background: white;\n    border-radius: 12px;\n    box-shadow: 0 2px 16px rgba(0,0,0,0.07);\n    overflow: hidden;\n    margin-bottom: 24px;\n  }\n  .ref-card-header {\n    padding: 14px 20px;\n    background: var(--ardoise);\n    color: white;\n    font-size: 11px;\n    font-weight: 700;\n    letter-spacing: 2.5px;\n    text-transform: uppercase;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n  }\n  .ref-item {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 12px 20px;\n    border-bottom: 1px solid #ede9e0;\n    font-size: 14px;\n    background: #faf9f6;\n  }\n  .ref-item:last-child { border-bottom: none; }\n  .ref-item .badge {\n    font-weight: 700;\n    color: var(--bleu-texte);\n    background: var(--bleu-input);\n    padding: 3px 10px;\n    border-radius: 20px;\n    font-size: 13px;\n  }\n  .rappel-item {\n    padding: 12px 20px;\n    border-bottom: 1px solid #ede9e0;\n    font-size: 13.5px;\n    display: flex;\n    align-items: flex-start;\n    gap: 10px;\n    background: white;\n  }\n  .rappel-item:nth-child(even) { background: #faf9f6; }\n  .rappel-item:last-child { border-bottom: none; }\n  .rappel-emoji { font-size: 15px; flex-shrink: 0; margin-top: 1px; }\n\n  \/* PRINT STYLES *\/\n  @media print {\n    .tabs-wrap, .actions, .hero-line { display: none !important; }\n    .tab-panel { display: block !important; }\n    body { background: white; }\n    .hero { padding: 20px; }\n  }\n\n  @media (max-width: 580px) {\n    .row { grid-template-columns: 1fr 120px; }\n    .tab-btn { font-size: 11px; padding: 14px 10px; }\n    .tab-btn .tab-label { display: none; }\n  }\n<\/style>\n<\/head>\n<body>\n\n<!-- HERO -->\n<div class=\"hero\">\n  <div class=\"hero-eyebrow\">Outil gratuit \u00b7 Blog Photographie<\/div>\n  <h1>Calculateur d&rsquo;estimation<br><span>s\u00e9ance photo &#038; mariage<\/span><\/h1>\n  <p class=\"hero-sub\">Remplis les cases, les totaux se calculent automatiquement. Aucune inscription, aucune donn\u00e9e envoy\u00e9e.<\/p>\n  <div class=\"hero-line\"><\/div>\n<\/div>\n\n<!-- TABS -->\n<div class=\"tabs-wrap\">\n  <button class=\"tab-btn active\" onclick=\"showTab('tab-seance', this)\">\n    <span class=\"tab-icon\">\ud83d\udcf7<\/span>\n    <span class=\"tab-label\">S\u00e9ance r\u00e9guli\u00e8re<\/span>\n  <\/button>\n  <button class=\"tab-btn\" onclick=\"showTab('tab-mariage', this)\">\n    <span class=\"tab-icon\">\ud83d\udc8d<\/span>\n    <span class=\"tab-label\">Mariage<\/span>\n  <\/button>\n  <button class=\"tab-btn\" onclick=\"showTab('tab-reference', this)\">\n    <span class=\"tab-icon\">\ud83d\udccb<\/span>\n    <span class=\"tab-label\">R\u00e9f\u00e9rence<\/span>\n  <\/button>\n<\/div>\n\n<div class=\"container\">\n\n<!-- ===================== TAB S\u00c9ANCE ===================== -->\n<div id=\"tab-seance\" class=\"tab-panel active\">\n\n  <!-- PARAM\u00c8TRES -->\n  <div class=\"section\">\n    <div class=\"section-header bleu\"><span class=\"icon\">\u2699\ufe0f<\/span> Param\u00e8tres de la s\u00e9ance <small style=\"opacity:.7;font-size:10px;margin-left:6px;\">\u2014 remplis les cases<\/small><\/div>\n\n    <div class=\"row\">\n      <div class=\"row-label\">Ton taux horaire ($\/heure)<\/div>\n      <div class=\"row-value\"><input type=\"number\" id=\"s_taux\" value=\"85\" min=\"0\" oninput=\"calcSeance()\"><\/div>\n    <\/div>\n    <div class=\"row\">\n      <div class=\"row-label\">Dur\u00e9e de la s\u00e9ance (heures)<\/div>\n      <div class=\"row-value\"><input type=\"number\" id=\"s_duree\" value=\"1.5\" min=\"0\" step=\"0.5\" oninput=\"calcSeance()\"><\/div>\n    <\/div>\n    <div class=\"row\">\n      <div class=\"row-label\">Nombre de photos \u00e0 remettre<\/div>\n      <div class=\"row-value\"><input type=\"number\" id=\"s_photos\" value=\"30\" min=\"0\" oninput=\"calcSeance()\"><\/div>\n    <\/div>\n    <div class=\"row\">\n      <div class=\"row-label\">Temps de retouche par photo (minutes)<span class=\"sub\">Portrait : 5\u20138 min \u00b7 Famille : 8\u201315 min<\/span><\/div>\n      <div class=\"row-value\"><input type=\"number\" id=\"s_retouche\" value=\"8\" min=\"0\" oninput=\"calcSeance()\"><\/div>\n    <\/div>\n    <div class=\"row\">\n      <div class=\"row-label\">Setup \/ d\u00e9montage d\u00e9cors et flash (heures)<\/div>\n      <div class=\"row-value\"><input type=\"number\" id=\"s_setup\" value=\"0.5\" min=\"0\" step=\"0.25\" oninput=\"calcSeance()\"><\/div>\n    <\/div>\n    <div class=\"row\">\n      <div class=\"row-label\">D\u00e9placement aller-retour (heures)<span class=\"sub\">Inclure reconnaissance de site, livraison, etc.<\/span><\/div>\n      <div class=\"row-value\"><input type=\"number\" id=\"s_deplacement\" value=\"0.5\" min=\"0\" step=\"0.25\" oninput=\"calcSeance()\"><\/div>\n    <\/div>\n  <\/div>\n\n  <!-- TEMPS CALCUL\u00c9 -->\n  <div class=\"section\">\n    <div class=\"section-header ardoise\"><span class=\"icon\">\u23f1\ufe0f<\/span> Temps total estim\u00e9 (automatique)<\/div>\n    <div class=\"row\"><div class=\"row-label\">Contact client, soumission, contrat<\/div><div class=\"row-value\"><span class=\"calc-value muted\">1,00 h (forfait)<\/span><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">D\u00e9placements<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"s_t_deplacement\">\u2014<\/span><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Prise de photos<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"s_t_prise\">\u2014<\/span><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">S\u00e9lection et tri<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"s_t_tri\">\u2014<\/span><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Retouches et traitements<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"s_t_retouche\">\u2014<\/span><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Setup \/ d\u00e9montage<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"s_t_setup\">\u2014<\/span><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Livraison galerie\/cl\u00e9 USB, facturation<\/div><div class=\"row-value\"><span class=\"calc-value muted\">1,00 h (forfait)<\/span><\/div><\/div>\n    <div class=\"row row-subtotal\">\n      <div class=\"row-label\" style=\"font-weight:700;\">TOTAL DES HEURES<\/div>\n      <div class=\"row-value\"><span class=\"calc-value\" id=\"s_total_heures\" style=\"color:var(--vert);font-size:15px;font-weight:700;\">\u2014<\/span><\/div>\n    <\/div>\n  <\/div>\n\n  <!-- AUTRES FRAIS -->\n  <div class=\"section\">\n    <div class=\"section-header bleu\"><span class=\"icon\">\ud83d\udcb8<\/span> Autres frais <small style=\"opacity:.7;font-size:10px;margin-left:6px;\">\u2014 laisse \u00e0 0 si non applicable<\/small><\/div>\n    <div class=\"row\"><div class=\"row-label\">Essence \/ transport<\/div><div class=\"row-value\"><input type=\"number\" id=\"s_essence\" value=\"0\" min=\"0\" oninput=\"calcSeance()\"><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Location \/ achat mat\u00e9riel photo sp\u00e9cifique<\/div><div class=\"row-value\"><input type=\"number\" id=\"s_materiel\" value=\"0\" min=\"0\" oninput=\"calcSeance()\"><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Location accessoires (toile de fond, props\u2026)<\/div><div class=\"row-value\"><input type=\"number\" id=\"s_accessoires\" value=\"0\" min=\"0\" oninput=\"calcSeance()\"><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Location de studio ou de site<\/div><div class=\"row-value\"><input type=\"number\" id=\"s_studio\" value=\"0\" min=\"0\" oninput=\"calcSeance()\"><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Frais professionnels (mod\u00e8le, maquilleuse\u2026)<\/div><div class=\"row-value\"><input type=\"number\" id=\"s_pros\" value=\"0\" min=\"0\" oninput=\"calcSeance()\"><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Galerie en ligne (quote-part)<span class=\"sub\">Ex: abonnement annuel \u00f7 nombre de clients<\/span><\/div><div class=\"row-value\"><input type=\"number\" id=\"s_galerie\" value=\"0\" min=\"0\" oninput=\"calcSeance()\"><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Cl\u00e9 USB ou support de livraison<\/div><div class=\"row-value\"><input type=\"number\" id=\"s_usb\" value=\"0\" min=\"0\" oninput=\"calcSeance()\"><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Autres frais divers<\/div><div class=\"row-value\"><input type=\"number\" id=\"s_autres\" value=\"0\" min=\"0\" oninput=\"calcSeance()\"><\/div><\/div>\n    <div class=\"row row-subtotal\">\n      <div class=\"row-label\" style=\"font-weight:700;\">TOTAL DES FRAIS<\/div>\n      <div class=\"row-value\"><span class=\"calc-value\" id=\"s_total_frais\">\u2014<\/span><\/div>\n    <\/div>\n  <\/div>\n\n  <!-- \u00c9QUIPEMENT & TAXES -->\n  <div class=\"section\">\n    <div class=\"section-header ardoise\"><span class=\"icon\">\ud83c\udf9b\ufe0f<\/span> \u00c9quipement &#038; Taxes<\/div>\n    <div class=\"row\">\n      <div class=\"row-label\">Surcharge amortissement \u00e9quipement (%)<span class=\"sub\">10% recommand\u00e9<\/span><\/div>\n      <div class=\"row-value\"><input type=\"number\" id=\"s_amort\" value=\"10\" min=\"0\" max=\"100\" oninput=\"calcSeance()\"><\/div>\n    <\/div>\n    <div class=\"row\">\n      <div class=\"row-label\">Facturer les taxes (TPS + TVQ) ?<span class=\"sub\">Consulte ton comptable si tu n&rsquo;es pas s\u00fbr<\/span><\/div>\n      <div class=\"row-value\">\n        <div class=\"toggle-wrap\">\n          <label class=\"toggle\"><input type=\"checkbox\" id=\"s_taxes\" onchange=\"calcSeance()\"><span class=\"slider\"><\/span><\/label>\n          <span style=\"font-size:12px;color:var(--gris-moyen);\" id=\"s_taxes_label\">Non<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <!-- SOMMAIRE -->\n  <div class=\"section\">\n    <div class=\"section-header vert\"><span class=\"icon\">\ud83d\udcca<\/span> Sommaire \u2014 Estimation finale<\/div>\n    <div class=\"row\"><div class=\"row-label\">Honoraires du photographe<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"s_honoraires\">\u2014<\/span><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Autres frais et co\u00fbts<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"s_frais_som\">\u2014<\/span><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Surcharge \u00e9quipement<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"s_surcharge\">\u2014<\/span><\/div><\/div>\n    <div class=\"row row-subtotal\"><div class=\"row-label\">Sous-total avant taxes<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"s_sous_total\">\u2014<\/span><\/div><\/div>\n    <div class=\"row\" id=\"s_row_tps\" style=\"display:none\"><div class=\"row-label\">TPS (5%)<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"s_tps\">\u2014<\/span><\/div><\/div>\n    <div class=\"row\" id=\"s_row_tvq\" style=\"display:none\"><div class=\"row-label\">TVQ (9,975%)<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"s_tvq\">\u2014<\/span><\/div><\/div>\n    <div class=\"row row-total-final\"><div class=\"row-label\">TOTAL \u00c0 FACTURER AU CLIENT<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"s_grand_total\">\u2014<\/span><\/div><\/div>\n  <\/div>\n\n  <!-- ACOMPTE -->\n  <div class=\"acompte-box\">\n    <div class=\"acompte-header\">\ud83d\udcb0 Acompte &#038; Solde<\/div>\n    <div class=\"row\">\n      <div class=\"row-label\">Acompte demand\u00e9 \u00e0 la r\u00e9servation ($)<span class=\"sub\">G\u00e9n\u00e9ralement 25% \u00e0 50% du total<\/span><\/div>\n      <div class=\"row-value\"><input type=\"number\" id=\"s_acompte\" value=\"0\" min=\"0\" oninput=\"calcSeance()\"><\/div>\n    <\/div>\n    <div class=\"row row-subtotal\">\n      <div class=\"row-label\" style=\"font-weight:700;\">Solde \u00e0 payer \u00e0 la livraison<\/div>\n      <div class=\"row-value\"><span class=\"calc-value\" id=\"s_solde\">\u2014<\/span><\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"actions\">\n    <button class=\"btn btn-primary\" onclick=\"window.print()\">\ud83d\udda8\ufe0f Imprimer \/ Sauvegarder PDF<\/button>\n    <button class=\"btn btn-secondary\" onclick=\"resetSeance()\">\u21ba R\u00e9initialiser<\/button>\n  <\/div>\n\n<\/div><!-- \/tab-seance -->\n\n\n<!-- ===================== TAB MARIAGE ===================== -->\n<div id=\"tab-mariage\" class=\"tab-panel\">\n\n  <div class=\"section\">\n    <div class=\"section-header rouge\"><span class=\"icon\">\u2699\ufe0f<\/span> Param\u00e8tres du forfait mariage <small style=\"opacity:.7;font-size:10px;margin-left:6px;\">\u2014 remplis les cases<\/small><\/div>\n    <div class=\"row\"><div class=\"row-label\">Ton taux horaire ($\/heure)<\/div><div class=\"row-value\"><input type=\"number\" id=\"m_taux\" value=\"125\" min=\"0\" oninput=\"calcMariage()\"><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Dur\u00e9e couverture jour J (heures)<span class=\"sub\">Typiquement 8 \u00e0 12 heures<\/span><\/div><div class=\"row-value\"><input type=\"number\" id=\"m_duree\" value=\"10\" min=\"0\" step=\"0.5\" oninput=\"calcMariage()\"><\/div><\/div>\n    <div class=\"row\">\n      <div class=\"row-label\">S\u00e9ance de fian\u00e7ailles incluse ?<\/div>\n      <div class=\"row-value\">\n        <div class=\"toggle-wrap\">\n          <label class=\"toggle\"><input type=\"checkbox\" id=\"m_fiancailles\" checked onchange=\"calcMariage()\"><span class=\"slider\"><\/span><\/label>\n          <span style=\"font-size:12px;color:var(--gris-moyen);\" id=\"m_fianc_label\">Oui<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n    <div class=\"row\" id=\"m_row_duree_fianc\"><div class=\"row-label\">Dur\u00e9e s\u00e9ance fian\u00e7ailles (heures)<\/div><div class=\"row-value\"><input type=\"number\" id=\"m_duree_fianc\" value=\"1.5\" min=\"0\" step=\"0.5\" oninput=\"calcMariage()\"><\/div><\/div>\n    <div class=\"row\">\n      <div class=\"row-label\">2e photographe ou assistant ?<\/div>\n      <div class=\"row-value\">\n        <div class=\"toggle-wrap\">\n          <label class=\"toggle\"><input type=\"checkbox\" id=\"m_2e\" onchange=\"calcMariage()\"><span class=\"slider\"><\/span><\/label>\n          <span style=\"font-size:12px;color:var(--gris-moyen);\" id=\"m_2e_label\">Non<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n    <div class=\"row\" id=\"m_row_taux2e\" style=\"display:none\"><div class=\"row-label\">Taux du 2e photographe ($\/heure)<\/div><div class=\"row-value\"><input type=\"number\" id=\"m_taux2e\" value=\"55\" min=\"0\" oninput=\"calcMariage()\"><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Nombre de photos livr\u00e9es au couple<span class=\"sub\">Typiquement 400 \u00e0 800<\/span><\/div><div class=\"row-value\"><input type=\"number\" id=\"m_photos\" value=\"500\" min=\"0\" oninput=\"calcMariage()\"><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Temps de retouche par photo (minutes)<span class=\"sub\">Mariage : 10 \u00e0 20 min recommand\u00e9<\/span><\/div><div class=\"row-value\"><input type=\"number\" id=\"m_retouche\" value=\"12\" min=\"0\" oninput=\"calcMariage()\"><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Nombre de r\u00e9unions de planification<\/div><div class=\"row-value\"><input type=\"number\" id=\"m_reunions\" value=\"2\" min=\"0\" oninput=\"calcMariage()\"><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Temps par r\u00e9union (heures)<\/div><div class=\"row-value\"><input type=\"number\" id=\"m_t_reunion\" value=\"1.5\" min=\"0\" step=\"0.5\" oninput=\"calcMariage()\"><\/div><\/div>\n  <\/div>\n\n  <div class=\"section\">\n    <div class=\"section-header ardoise\"><span class=\"icon\">\u23f1\ufe0f<\/span> Temps total estim\u00e9 (automatique)<\/div>\n    <div class=\"row\"><div class=\"row-label\">Premiers contacts, soumission, contrat de mariage<\/div><div class=\"row-value\"><span class=\"calc-value muted\">1,50 h (forfait)<\/span><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">R\u00e9unions de planification pr\u00e9-mariage<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"m_t_reunions\">\u2014<\/span><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">S\u00e9ance de fian\u00e7ailles<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"m_t_fianc\">\u2014<\/span><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Couverture jour J<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"m_t_journee\">\u2014<\/span><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">D\u00e9placements (estimation)<\/div><div class=\"row-value\"><span class=\"calc-value muted\">2,00 h (forfait)<\/span><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">S\u00e9lection et tri des photos<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"m_t_tri\">\u2014<\/span><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Retouches et traitements<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"m_t_retouche\">\u2014<\/span><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Design et livraison galerie en ligne<\/div><div class=\"row-value\"><span class=\"calc-value muted\">3,00 h (forfait)<\/span><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Suivi post-mariage, facturation<\/div><div class=\"row-value\"><span class=\"calc-value muted\">1,00 h (forfait)<\/span><\/div><\/div>\n    <div class=\"row row-subtotal\" style=\"background:#fdf0f0!important\">\n      <div class=\"row-label\" style=\"font-weight:700;background:#fdf0f0\">TOTAL DES HEURES<\/div>\n      <div class=\"row-value\"><span class=\"calc-value\" id=\"m_total_heures\" style=\"color:var(--rouge);font-size:15px;font-weight:700;\">\u2014<\/span><\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"section\">\n    <div class=\"section-header rouge\"><span class=\"icon\">\ud83d\udcb8<\/span> Autres frais mariage <small style=\"opacity:.7;font-size:10px;margin-left:6px;\">\u2014 laisse \u00e0 0 si non applicable<\/small><\/div>\n    <div class=\"row\"><div class=\"row-label\">Essence \/ kilom\u00e9trage<\/div><div class=\"row-value\"><input type=\"number\" id=\"m_essence\" value=\"0\" min=\"0\" oninput=\"calcMariage()\"><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">2e photographe \u2014 co\u00fbt total<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"m_cout2e\" style=\"color:var(--rouge)\">0,00 $<\/span><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Galerie en ligne (quote-part)<\/div><div class=\"row-value\"><input type=\"number\" id=\"m_galerie\" value=\"0\" min=\"0\" oninput=\"calcMariage()\"><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Album photo (design + impression)<span class=\"sub\">Varie de 300$ \u00e0 1500$+<\/span><\/div><div class=\"row-value\"><input type=\"number\" id=\"m_album\" value=\"0\" min=\"0\" oninput=\"calcMariage()\"><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Cl\u00e9 USB ou bo\u00eete-cadeau livraison<\/div><div class=\"row-value\"><input type=\"number\" id=\"m_usb\" value=\"0\" min=\"0\" oninput=\"calcMariage()\"><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">\u00c9quipement de backup (location si requis)<\/div><div class=\"row-value\"><input type=\"number\" id=\"m_backup\" value=\"0\" min=\"0\" oninput=\"calcMariage()\"><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Frais professionnels (assistant, maquilleuse\u2026)<\/div><div class=\"row-value\"><input type=\"number\" id=\"m_pros\" value=\"0\" min=\"0\" oninput=\"calcMariage()\"><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Autres frais divers<\/div><div class=\"row-value\"><input type=\"number\" id=\"m_autres\" value=\"0\" min=\"0\" oninput=\"calcMariage()\"><\/div><\/div>\n    <div class=\"row row-subtotal\" style=\"background:#fdf0f0!important\">\n      <div class=\"row-label\" style=\"font-weight:700;background:#fdf0f0\">TOTAL DES FRAIS<\/div>\n      <div class=\"row-value\"><span class=\"calc-value\" id=\"m_total_frais\" style=\"color:var(--rouge)\">\u2014<\/span><\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"section\">\n    <div class=\"section-header ardoise\"><span class=\"icon\">\ud83c\udf9b\ufe0f<\/span> \u00c9quipement &#038; Taxes<\/div>\n    <div class=\"row\"><div class=\"row-label\">Surcharge amortissement \u00e9quipement (%)<span class=\"sub\">\u00c9quipement de backup obligatoire pour un mariage<\/span><\/div><div class=\"row-value\"><input type=\"number\" id=\"m_amort\" value=\"10\" min=\"0\" max=\"100\" oninput=\"calcMariage()\"><\/div><\/div>\n    <div class=\"row\">\n      <div class=\"row-label\">Facturer les taxes (TPS + TVQ) ?<\/div>\n      <div class=\"row-value\">\n        <div class=\"toggle-wrap\">\n          <label class=\"toggle\"><input type=\"checkbox\" id=\"m_taxes\" onchange=\"calcMariage()\"><span class=\"slider\"><\/span><\/label>\n          <span style=\"font-size:12px;color:var(--gris-moyen);\" id=\"m_taxes_label\">Non<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"section\">\n    <div class=\"section-header rouge\"><span class=\"icon\">\ud83d\udcca<\/span> Sommaire \u2014 Forfait mariage<\/div>\n    <div class=\"row\"><div class=\"row-label\">Honoraires photographe principal<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"m_honoraires\">\u2014<\/span><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Autres frais et co\u00fbts<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"m_frais_som\">\u2014<\/span><\/div><\/div>\n    <div class=\"row\"><div class=\"row-label\">Surcharge \u00e9quipement<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"m_surcharge\">\u2014<\/span><\/div><\/div>\n    <div class=\"row row-subtotal\" style=\"background:#fdf0f0!important\"><div class=\"row-label\" style=\"background:#fdf0f0\">Sous-total avant taxes<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"m_sous_total\" style=\"color:var(--rouge);font-weight:700;\">\u2014<\/span><\/div><\/div>\n    <div class=\"row\" id=\"m_row_tps\" style=\"display:none\"><div class=\"row-label\">TPS (5%)<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"m_tps\">\u2014<\/span><\/div><\/div>\n    <div class=\"row\" id=\"m_row_tvq\" style=\"display:none\"><div class=\"row-label\">TVQ (9,975%)<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"m_tvq\">\u2014<\/span><\/div><\/div>\n    <div class=\"row row-total-final\"><div class=\"row-label\">TOTAL DU FORFAIT MARIAGE<\/div><div class=\"row-value\"><span class=\"calc-value\" id=\"m_grand_total\">\u2014<\/span><\/div><\/div>\n  <\/div>\n\n  <div class=\"acompte-box\">\n    <div class=\"acompte-header\" style=\"background:#7b2c2c;\">\ud83d\udcb0 Acompte &#038; Solde<\/div>\n    <div class=\"row\">\n      <div class=\"row-label\">Acompte \u00e0 la signature du contrat ($)<span class=\"sub\">Typiquement 30\u201350% \u00b7 Non remboursable pour r\u00e9server la date<\/span><\/div>\n      <div class=\"row-value\"><input type=\"number\" id=\"m_acompte\" value=\"0\" min=\"0\" oninput=\"calcMariage()\"><\/div>\n    <\/div>\n    <div class=\"row row-subtotal\" style=\"background:#fdf0f0!important\">\n      <div class=\"row-label\" style=\"font-weight:700;background:#fdf0f0\">Solde \u00e0 payer avant \/ le jour du mariage<\/div>\n      <div class=\"row-value\"><span class=\"calc-value\" id=\"m_solde\" style=\"color:var(--rouge);font-weight:700;\">\u2014<\/span><\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"actions\">\n    <button class=\"btn btn-primary\" onclick=\"window.print()\">\ud83d\udda8\ufe0f Imprimer \/ Sauvegarder PDF<\/button>\n    <button class=\"btn btn-secondary\" onclick=\"resetMariage()\">\u21ba R\u00e9initialiser<\/button>\n  <\/div>\n\n<\/div><!-- \/tab-mariage -->\n\n\n<!-- ===================== TAB R\u00c9F\u00c9RENCE ===================== -->\n<div id=\"tab-reference\" class=\"tab-panel\">\n\n  <div class=\"ref-card\">\n    <div class=\"ref-card-header\">\ud83d\udcf8 Taux horaires de r\u00e9f\u00e9rence<\/div>\n    <div class=\"ref-item\"><span>S\u00e9ance portrait \/ famille<\/span><span class=\"badge\">75 \u2013 100 $\/h<\/span><\/div>\n    <div class=\"ref-item\"><span>S\u00e9ance corporate \/ commercial<\/span><span class=\"badge\">100 \u2013 140 $\/h<\/span><\/div>\n    <div class=\"ref-item\"><span>Mariage \u2014 taux premium<\/span><span class=\"badge\">110 \u2013 150 $\/h<\/span><\/div>\n    <div class=\"ref-item\"><span>Retouches seulement<\/span><span class=\"badge\">40 \u2013 60 $\/h<\/span><\/div>\n    <div class=\"ref-item\"><span>2e photographe \/ assistant<\/span><span class=\"badge\">45 \u2013 65 $\/h<\/span><\/div>\n  <\/div>\n\n  <div class=\"ref-card\">\n    <div class=\"ref-card-header\">\u23f1\ufe0f Temps de retouche par type de photo<\/div>\n    <div class=\"ref-item\"><span>Portrait simple (fond uni, lumi\u00e8re contr\u00f4l\u00e9e)<\/span><span class=\"badge\">5 \u2013 8 min<\/span><\/div>\n    <div class=\"ref-item\"><span>Portrait lifestyle \/ naturel<\/span><span class=\"badge\">8 \u2013 12 min<\/span><\/div>\n    <div class=\"ref-item\"><span>Famille \/ groupe<\/span><span class=\"badge\">8 \u2013 15 min<\/span><\/div>\n    <div class=\"ref-item\"><span>Mariage \u2014 photos de couple<\/span><span class=\"badge\">12 \u2013 18 min<\/span><\/div>\n    <div class=\"ref-item\"><span>Mariage \u2014 reportage \/ ambiance<\/span><span class=\"badge\">8 \u2013 12 min<\/span><\/div>\n    <div class=\"ref-item\"><span>Paysage \/ architecture<\/span><span class=\"badge\">10 \u2013 20 min<\/span><\/div>\n  <\/div>\n\n  <div class=\"ref-card\">\n    <div class=\"ref-card-header\">\ud83d\udca1 Rappels importants<\/div>\n    <div class=\"rappel-item\"><span class=\"rappel-emoji\">\u2705<\/span><span>Toujours utiliser un contrat \u00e9crit \u2014 m\u00eame pour la famille et les amis.<\/span><\/div>\n    <div class=\"rappel-item\"><span class=\"rappel-emoji\">\u2705<\/span><span>Pour un mariage, l&rsquo;acompte \u00e0 la signature r\u00e9serve la date. Pr\u00e9voir une clause non remboursable.<\/span><\/div>\n    <div class=\"rappel-item\"><span class=\"rappel-emoji\">\u2705<\/span><span>\u00c9quipement de backup OBLIGATOIRE pour un mariage \u2014 2e corps, flash de rechange, batteries, cartes extra.<\/span><\/div>\n    <div class=\"rappel-item\"><span class=\"rappel-emoji\">\u2705<\/span><span>Les taxes (TPS + TVQ) s&rsquo;appliquent d\u00e8s que tes revenus annuels d\u00e9passent 30 000 $. Consulte un comptable.<\/span><\/div>\n    <div class=\"rappel-item\"><span class=\"rappel-emoji\">\u2705<\/span><span>Pr\u00e9voir une surcharge de 10% minimum pour l&rsquo;amortissement de ton \u00e9quipement \u2014 il s&rsquo;use \u00e0 chaque s\u00e9ance.<\/span><\/div>\n    <div class=\"rappel-item\"><span class=\"rappel-emoji\">\u2705<\/span><span>Ne pas oublier les frais invisibles : assurances, comptabilit\u00e9, formations, logiciels (Lightroom, Capture One\u2026).<\/span><\/div>\n    <div class=\"rappel-item\"><span class=\"rappel-emoji\">\u2705<\/span><span>Pour Gatineau \/ Outaouais \u2014 tenir compte des d\u00e9placements vers la Rive-Sud (Ottawa) et les d\u00e9lais de pont.<\/span><\/div>\n  <\/div>\n\n<\/div><!-- \/tab-reference -->\n\n<!-- NOTE BAS DE PAGE -->\n<div class=\"note-bas\">\n  Outil gratuit sans inscription \u00b7 Aucune donn\u00e9e envoy\u00e9e \u00b7 Calculs locaux dans ton navigateur<br>\n  D\u00e9velopp\u00e9 par <a href=\"https:\/\/academie-photographe-gatineau.com\" target=\"_blank\">Sylvain Perrier \u2014 Acad\u00e9mie Photographe Gatineau<\/a> \u00b7 \u00a9 2026\n<\/div>\n\n<\/div><!-- \/container -->\n\n<script>\n\/\/ HELPERS\nfunction fmt(n) {\n  return n.toLocaleString('fr-CA', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + ' $';\n}\nfunction fmtH(n) {\n  return n.toLocaleString('fr-CA', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + ' h';\n}\nfunction v(id) { return parseFloat(document.getElementById(id).value) || 0; }\nfunction set(id, val) { document.getElementById(id).textContent = val; }\nfunction show(id, visible) { document.getElementById(id).style.display = visible ? '' : 'none'; }\n\n\/\/ TABS\nfunction showTab(id, btn) {\n  document.querySelectorAll('.tab-panel').forEach(p => p.classList.remove('active'));\n  document.querySelectorAll('.tab-btn').forEach(b => b.classList.remove('active'));\n  document.getElementById(id).classList.add('active');\n  btn.classList.add('active');\n}\n\n\/\/ ============ CALCUL S\u00c9ANCE ============\nfunction calcSeance() {\n  const taux = v('s_taux');\n  const duree = v('s_duree');\n  const photos = v('s_photos');\n  const retouche = v('s_retouche');\n  const setup = v('s_setup');\n  const deplacement = v('s_deplacement');\n  const taxes = document.getElementById('s_taxes').checked;\n  const amort = v('s_amort') \/ 100;\n\n  document.getElementById('s_taxes_label').textContent = taxes ? 'Oui' : 'Non';\n\n  \/\/ Temps\n  const t_dep = deplacement;\n  const t_prise = duree;\n  const t_tri = duree \/ 2;\n  const t_retouche = (photos * retouche) \/ 60;\n  const t_setup = setup;\n  const total_h = 1 + t_dep + t_prise + t_tri + t_retouche + t_setup + 1;\n\n  set('s_t_deplacement', fmtH(t_dep));\n  set('s_t_prise', fmtH(t_prise));\n  set('s_t_tri', fmtH(t_tri));\n  set('s_t_retouche', fmtH(t_retouche));\n  set('s_t_setup', fmtH(t_setup));\n  set('s_total_heures', fmtH(total_h));\n\n  \/\/ Frais\n  const frais = v('s_essence') + v('s_materiel') + v('s_accessoires') + v('s_studio') + v('s_pros') + v('s_galerie') + v('s_usb') + v('s_autres');\n  set('s_total_frais', fmt(frais));\n\n  \/\/ Sommaire\n  const honoraires = total_h * taux;\n  const surcharge = (honoraires + frais) * amort;\n  const sous_total = honoraires + frais + surcharge;\n  const tps = taxes ? sous_total * 0.05 : 0;\n  const tvq = taxes ? sous_total * 0.09975 : 0;\n  const grand_total = sous_total + tps + tvq;\n  const solde = grand_total - v('s_acompte');\n\n  set('s_honoraires', fmt(honoraires));\n  set('s_frais_som', fmt(frais));\n  set('s_surcharge', fmt(surcharge));\n  set('s_sous_total', fmt(sous_total));\n  set('s_tps', fmt(tps));\n  set('s_tvq', fmt(tvq));\n  set('s_grand_total', fmt(grand_total));\n  set('s_solde', fmt(Math.max(0, solde)));\n\n  show('s_row_tps', taxes);\n  show('s_row_tvq', taxes);\n}\n\n\/\/ ============ CALCUL MARIAGE ============\nfunction calcMariage() {\n  const taux = v('m_taux');\n  const duree = v('m_duree');\n  const has_fianc = document.getElementById('m_fiancailles').checked;\n  const duree_fianc = has_fianc ? v('m_duree_fianc') : 0;\n  const has_2e = document.getElementById('m_2e').checked;\n  const taux2e = v('m_taux2e');\n  const photos = v('m_photos');\n  const retouche = v('m_retouche');\n  const reunions = v('m_reunions');\n  const t_reunion = v('m_t_reunion');\n  const taxes = document.getElementById('m_taxes').checked;\n  const amort = v('m_amort') \/ 100;\n\n  document.getElementById('m_fianc_label').textContent = has_fianc ? 'Oui' : 'Non';\n  document.getElementById('m_2e_label').textContent = has_2e ? 'Oui' : 'Non';\n  document.getElementById('m_taxes_label').textContent = taxes ? 'Oui' : 'Non';\n  show('m_row_duree_fianc', has_fianc);\n  show('m_row_taux2e', has_2e);\n\n  \/\/ Temps\n  const t_reunions_total = reunions * t_reunion;\n  const t_tri = duree * 0.4;\n  const t_retouche = (photos * retouche) \/ 60;\n  const total_h = 1.5 + t_reunions_total + duree_fianc + duree + 2 + t_tri + t_retouche + 3 + 1;\n\n  set('m_t_reunions', fmtH(t_reunions_total));\n  set('m_t_fianc', has_fianc ? fmtH(duree_fianc) : '\u2014');\n  set('m_t_journee', fmtH(duree));\n  set('m_t_tri', fmtH(t_tri));\n  set('m_t_retouche', fmtH(t_retouche));\n  set('m_total_heures', fmtH(total_h));\n\n  \/\/ Co\u00fbt 2e photographe\n  const cout2e = has_2e ? duree * taux2e : 0;\n  set('m_cout2e', fmt(cout2e));\n\n  \/\/ Frais\n  const frais = v('m_essence') + cout2e + v('m_galerie') + v('m_album') + v('m_usb') + v('m_backup') + v('m_pros') + v('m_autres');\n  set('m_total_frais', fmt(frais));\n\n  \/\/ Sommaire\n  const honoraires = total_h * taux;\n  const surcharge = (honoraires + frais) * amort;\n  const sous_total = honoraires + frais + surcharge;\n  const tps = taxes ? sous_total * 0.05 : 0;\n  const tvq = taxes ? sous_total * 0.09975 : 0;\n  const grand_total = sous_total + tps + tvq;\n  const solde = grand_total - v('m_acompte');\n\n  set('m_honoraires', fmt(honoraires));\n  set('m_frais_som', fmt(frais));\n  set('m_surcharge', fmt(surcharge));\n  set('m_sous_total', fmt(sous_total));\n  set('m_tps', fmt(tps));\n  set('m_tvq', fmt(tvq));\n  set('m_grand_total', fmt(grand_total));\n  set('m_solde', fmt(Math.max(0, solde)));\n\n  show('m_row_tps', taxes);\n  show('m_row_tvq', taxes);\n}\n\n\/\/ RESET\nfunction resetSeance() {\n  ['s_taux','s_duree','s_photos','s_retouche','s_setup','s_deplacement','s_amort','s_acompte'].forEach(id => {\n    const defaults = {s_taux:85,s_duree:1.5,s_photos:30,s_retouche:8,s_setup:0.5,s_deplacement:0.5,s_amort:10,s_acompte:0};\n    document.getElementById(id).value = defaults[id];\n  });\n  ['s_essence','s_materiel','s_accessoires','s_studio','s_pros','s_galerie','s_usb','s_autres'].forEach(id => document.getElementById(id).value = 0);\n  document.getElementById('s_taxes').checked = false;\n  calcSeance();\n}\n\nfunction resetMariage() {\n  const defaults = {m_taux:125,m_duree:10,m_duree_fianc:1.5,m_taux2e:55,m_photos:500,m_retouche:12,m_reunions:2,m_t_reunion:1.5,m_amort:10,m_acompte:0};\n  Object.entries(defaults).forEach(([id, val]) => { document.getElementById(id).value = val; });\n  ['m_essence','m_galerie','m_album','m_usb','m_backup','m_pros','m_autres'].forEach(id => document.getElementById(id).value = 0);\n  document.getElementById('m_fiancailles').checked = true;\n  document.getElementById('m_2e').checked = false;\n  document.getElementById('m_taxes').checked = false;\n  calcMariage();\n}\n\n\/\/ Init\ncalcSeance();\ncalcMariage();\n<\/script>\n<\/body>\n<\/html>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-theme-palette-13-color has-text-color has-link-color has-large-font-size wp-elements-888c11ef515f88adc2c57643e8d25e55\"><strong>instructions<\/strong><\/h2>\n\n\n\n<!DOCTYPE html>\n<html lang=\"fr\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Mode d&#8217;emploi \u2014 Calculateur d&rsquo;estimation photo<\/title>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Playfair+Display:wght@600;700&#038;family=DM+Sans:wght@300;400;500;600&#038;display=swap\" rel=\"stylesheet\">\n<style>\n  :root {\n    --noir: #111318;\n    --or: #c9a84c;\n    --or-clair: #e8c97a;\n    --blanc: #f8f6f1;\n    --gris: #eceae4;\n    --texte: #2a2825;\n    --bleu: #1a5c9e;\n    --bleu-pale: #e8f0f8;\n    --rouge: #7b2c2c;\n    --vert: #2d6a4f;\n    --vert-pale: #d8eed9;\n  }\n\n  * { box-sizing: border-box; margin: 0; padding: 0; }\n\n  body {\n    font-family: 'DM Sans', sans-serif;\n    background: var(--blanc);\n    color: var(--texte);\n    line-height: 1.7;\n    max-width: 720px;\n    margin: 0 auto;\n    padding: 32px 20px 60px;\n  }\n\n  \/* EN-T\u00caTE *\/\n  .entete {\n    text-align: center;\n    padding: 40px 20px 36px;\n    background: var(--noir);\n    border-radius: 16px;\n    margin-bottom: 36px;\n    position: relative;\n    overflow: hidden;\n  }\n  .entete::before {\n    content: '';\n    position: absolute;\n    inset: 0;\n    background: radial-gradient(ellipse at center, rgba(201,168,76,0.15) 0%, transparent 70%);\n  }\n  .entete-eyebrow {\n    font-size: 10px;\n    font-weight: 700;\n    letter-spacing: 3px;\n    text-transform: uppercase;\n    color: var(--or);\n    margin-bottom: 10px;\n    position: relative;\n  }\n  .entete h1 {\n    font-family: 'Playfair Display', serif;\n    font-size: clamp(20px, 4vw, 30px);\n    color: white;\n    line-height: 1.3;\n    position: relative;\n  }\n  .entete h1 span { color: var(--or-clair); }\n  .entete-sub {\n    margin-top: 12px;\n    font-size: 14px;\n    color: #9a9590;\n    position: relative;\n  }\n\n  \/* INTRO BOX *\/\n  .intro-box {\n    background: var(--bleu-pale);\n    border-left: 4px solid var(--bleu);\n    border-radius: 0 10px 10px 0;\n    padding: 18px 22px;\n    margin-bottom: 36px;\n    font-size: 14.5px;\n  }\n  .intro-box strong { color: var(--bleu); }\n\n  \/* SECTION *\/\n  .section {\n    margin-bottom: 32px;\n  }\n  .section-title {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    margin-bottom: 16px;\n  }\n  .section-num {\n    width: 34px;\n    height: 34px;\n    background: var(--noir);\n    color: var(--or-clair);\n    border-radius: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 700;\n    font-size: 14px;\n    flex-shrink: 0;\n  }\n  .section-title h2 {\n    font-family: 'DM Sans', sans-serif;\n    font-size: 16px;\n    font-weight: 700;\n    color: var(--noir);\n  }\n\n  \/* STEPS *\/\n  .steps { display: flex; flex-direction: column; gap: 10px; }\n  .step {\n    display: flex;\n    align-items: flex-start;\n    gap: 14px;\n    background: white;\n    border: 1px solid #e8e4da;\n    border-radius: 10px;\n    padding: 14px 16px;\n    transition: box-shadow 0.2s;\n  }\n  .step:hover { box-shadow: 0 4px 14px rgba(0,0,0,0.07); }\n  .step-icon {\n    font-size: 20px;\n    flex-shrink: 0;\n    margin-top: 1px;\n  }\n  .step-text { font-size: 14px; }\n  .step-text strong { display: block; font-size: 14px; margin-bottom: 2px; }\n  .step-text span { color: #6b6560; font-size: 13px; }\n\n  \/* BADGE *\/\n  .badge {\n    display: inline-block;\n    padding: 2px 9px;\n    border-radius: 20px;\n    font-size: 12px;\n    font-weight: 600;\n    vertical-align: middle;\n    margin-left: 4px;\n  }\n  .badge-bleu { background: var(--bleu-pale); color: var(--bleu); }\n  .badge-vert { background: var(--vert-pale); color: var(--vert); }\n  .badge-rouge { background: #fdf0f0; color: var(--rouge); }\n\n  \/* ONGLETS VISUAL *\/\n  .onglets-demo {\n    display: flex;\n    gap: 8px;\n    background: #1e2128;\n    border-radius: 10px;\n    padding: 10px 12px;\n    margin: 12px 0;\n    flex-wrap: wrap;\n  }\n  .onglet-demo {\n    padding: 8px 16px;\n    border-radius: 6px;\n    font-size: 13px;\n    font-weight: 600;\n    display: flex;\n    align-items: center;\n    gap: 6px;\n  }\n  .onglet-demo.actif { background: rgba(201,168,76,0.15); color: var(--or-clair); }\n  .onglet-demo.inactif { color: #6b7280; }\n\n  \/* DIVIDER *\/\n  .divider {\n    height: 1px;\n    background: linear-gradient(to right, transparent, #ddd, transparent);\n    margin: 28px 0;\n  }\n\n  \/* FAQ *\/\n  .faq-item {\n    border: 1px solid #e8e4da;\n    border-radius: 10px;\n    overflow: hidden;\n    margin-bottom: 10px;\n    background: white;\n  }\n  .faq-q {\n    padding: 14px 18px;\n    font-size: 14px;\n    font-weight: 600;\n    display: flex;\n    align-items: flex-start;\n    gap: 10px;\n    background: #faf9f6;\n  }\n  .faq-q::before { content: '\u2753'; font-size: 14px; flex-shrink: 0; margin-top: 1px; }\n  .faq-a {\n    padding: 12px 18px 14px 42px;\n    font-size: 13.5px;\n    color: #4a4540;\n    border-top: 1px solid #ede9e0;\n    line-height: 1.7;\n  }\n  .faq-a strong { color: var(--texte); }\n\n  \/* NOTE FINALE *\/\n  .note-finale {\n    background: var(--noir);\n    border-radius: 14px;\n    padding: 28px 24px;\n    text-align: center;\n    margin-top: 36px;\n    color: #9a9590;\n    font-size: 13.5px;\n    line-height: 1.9;\n  }\n  .note-finale strong { color: var(--or-clair); display: block; font-family: 'Playfair Display', serif; font-size: 18px; margin-bottom: 8px; }\n  .note-finale a { color: var(--or); text-decoration: none; }\n  .note-finale a:hover { text-decoration: underline; }\n\n  \/* INPUT DEMO *\/\n  .demo-input {\n    display: inline-block;\n    background: var(--bleu-pale);\n    color: var(--bleu);\n    font-weight: 700;\n    border: 2px solid #c5d9f0;\n    border-radius: 6px;\n    padding: 2px 10px;\n    font-size: 13px;\n    font-family: 'DM Sans', sans-serif;\n  }\n\n  @media (max-width: 500px) {\n    .onglets-demo { flex-direction: column; }\n    .step { padding: 12px; }\n  }\n<\/style>\n<\/head>\n<body>\n\n<!-- EN-T\u00caTE -->\n<div class=\"entete\">\n  <div class=\"entete-eyebrow\">Guide d&rsquo;utilisation<\/div>\n  <h1>Comment utiliser le<br><span>calculateur d&rsquo;estimation photo<\/span><\/h1>\n  <p class=\"entete-sub\">Lis \u00e7a en 2 minutes \u2014 et tu seras autonome \ud83d\udc4d<\/p>\n<\/div>\n\n<!-- INTRO -->\n<div class=\"intro-box\">\n  Cet outil <strong>calcule automatiquement<\/strong> ce qu&rsquo;une s\u00e9ance photo devrait co\u00fbter selon ton temps, tes frais et ton taux horaire. Il n&rsquo;enregistre rien, n&rsquo;envoie rien tout reste dans <strong>ton navigateur<\/strong>. Tu peux l&rsquo;utiliser autant de fois que tu veux, gratuitement.\n<\/div>\n\n<!-- \u00c9TAPE 1 -->\n<div class=\"section\">\n  <div class=\"section-title\">\n    <div class=\"section-num\">1<\/div>\n    <h2>Choisis le bon onglet selon ton type de contrat<\/h2>\n  <\/div>\n  <div class=\"onglets-demo\">\n    <div class=\"onglet-demo actif\">\ud83d\udcf7 S\u00e9ance r\u00e9guli\u00e8re<\/div>\n    <div class=\"onglet-demo inactif\">\ud83d\udc8d Mariage<\/div>\n    <div class=\"onglet-demo inactif\">\ud83d\udccb R\u00e9f\u00e9rence<\/div>\n  <\/div>\n  <div class=\"steps\">\n    <div class=\"step\">\n      <div class=\"step-icon\">\ud83d\udcf7<\/div>\n      <div class=\"step-text\">\n        <strong>S\u00e9ance r\u00e9guli\u00e8re <span class=\"badge badge-bleu\">Pour toi si\u2026<\/span><\/strong>\n        <span>Tu fais une s\u00e9ance portrait, famille, b\u00e9b\u00e9, corporate, ext\u00e9rieur ou studio. Bref, tout ce qui n&rsquo;est pas un mariage.<\/span>\n      <\/div>\n    <\/div>\n    <div class=\"step\">\n      <div class=\"step-icon\">\ud83d\udc8d<\/div>\n      <div class=\"step-text\">\n        <strong>Mariage <span class=\"badge badge-rouge\">Pour toi si\u2026<\/span><\/strong>\n        <span>Tu couvres un mariage \u2014 journ\u00e9e compl\u00e8te, fian\u00e7ailles, 2e photographe, album\u2026 Les champs sont adapt\u00e9s \u00e0 cette r\u00e9alit\u00e9.<\/span>\n      <\/div>\n    <\/div>\n    <div class=\"step\">\n      <div class=\"step-icon\">\ud83d\udccb<\/div>\n      <div class=\"step-text\">\n        <strong>R\u00e9f\u00e9rence <span class=\"badge badge-vert\">Pratique \u00e0 consulter<\/span><\/strong>\n        <span>Taux horaires habituels, temps de retouche par type de photo, et rappels importants (contrat, taxes, backup, etc.).<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<div class=\"divider\"><\/div>\n\n<!-- \u00c9TAPE 2 -->\n<div class=\"section\">\n  <div class=\"section-title\">\n    <div class=\"section-num\">2<\/div>\n    <h2>Remplis seulement les cases bleues<\/h2>\n  <\/div>\n  <div class=\"steps\">\n    <div class=\"step\">\n      <div class=\"step-icon\">\ud83d\udd35<\/div>\n      <div class=\"step-text\">\n        <strong>Cases bleues = toi tu remplis<\/strong>\n        <span>C&rsquo;est l\u00e0 que tu entres tes chiffres : ton taux horaire, la dur\u00e9e de la s\u00e9ance, le nombre de photos, etc. Tout le reste se calcule tout seul.<\/span>\n      <\/div>\n    <\/div>\n    <div class=\"step\">\n      <div class=\"step-icon\">\ud83d\udd12<\/div>\n      <div class=\"step-text\">\n        <strong>Champs gris = calcul\u00e9s automatiquement<\/strong>\n        <span>Tu n&rsquo;as rien \u00e0 faire dans ces cases \u2014 le total s&rsquo;ajuste en temps r\u00e9el \u00e0 chaque fois que tu changes un chiffre.<\/span>\n      <\/div>\n    <\/div>\n    <div class=\"step\">\n      <div class=\"step-icon\">0\ufe0f\u20e3<\/div>\n      <div class=\"step-text\">\n        <strong>Laisse \u00e0 0 ce qui ne s&rsquo;applique pas<\/strong>\n        <span>Tu ne loues pas de studio ? Pas d&rsquo;assistant ? Laisse ces cases \u00e0 0. L&rsquo;outil ne les comptera pas dans le total.<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<div class=\"divider\"><\/div>\n\n<!-- \u00c9TAPE 3 -->\n<div class=\"section\">\n  <div class=\"section-title\">\n    <div class=\"section-num\">3<\/div>\n    <h2>Utilise les interrupteurs (toggles) pour les options<\/h2>\n  <\/div>\n  <div class=\"steps\">\n    <div class=\"step\">\n      <div class=\"step-icon\">\ud83d\udd18<\/div>\n      <div class=\"step-text\">\n        <strong>Taxes (TPS + TVQ)<\/strong>\n        <span>Active le toggle si tu es inscrit aux taxes. Deux lignes s&rsquo;ajoutent automatiquement au sommaire. Si tu n&rsquo;es pas s\u00fbr \u2014 laisse \u00e0 <em>Non<\/em> et consulte ton comptable.<\/span>\n      <\/div>\n    <\/div>\n    <div class=\"step\">\n      <div class=\"step-icon\">\ud83d\udd18<\/div>\n      <div class=\"step-text\">\n        <strong>S\u00e9ance de fian\u00e7ailles (onglet Mariage)<\/strong>\n        <span>Active si elle est incluse dans ton forfait. Un champ de dur\u00e9e appara\u00eetra pour que tu entres le bon nombre d&rsquo;heures.<\/span>\n      <\/div>\n    <\/div>\n    <div class=\"step\">\n      <div class=\"step-icon\">\ud83d\udd18<\/div>\n      <div class=\"step-text\">\n        <strong>2e photographe (onglet Mariage)<\/strong>\n        <span>Active si tu travailles avec un coll\u00e8gue. Le co\u00fbt se calcule automatiquement selon son taux horaire et la dur\u00e9e de couverture.<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<div class=\"divider\"><\/div>\n\n<!-- \u00c9TAPE 4 -->\n<div class=\"section\">\n  <div class=\"section-title\">\n    <div class=\"section-num\">4<\/div>\n    <h2>Lis ton estimation dans le sommaire en bas<\/h2>\n  <\/div>\n  <div class=\"steps\">\n    <div class=\"step\">\n      <div class=\"step-icon\">\ud83d\udcca<\/div>\n      <div class=\"step-text\">\n        <strong>Scroll jusqu&rsquo;en bas de l&rsquo;onglet<\/strong>\n        <span>Le <em>Sommaire<\/em> te donne le d\u00e9tail : honoraires, frais, surcharge \u00e9quipement, taxes si applicable, et le <strong>total final \u00e0 facturer<\/strong> en gros en bas.<\/span>\n      <\/div>\n    <\/div>\n    <div class=\"step\">\n      <div class=\"step-icon\">\ud83d\udcb0<\/div>\n      <div class=\"step-text\">\n        <strong>Entre ton acompte pour voir le solde<\/strong>\n        <span>Dans la section <em>Acompte &#038; Solde<\/em>, entre le montant que tu demandes \u00e0 la r\u00e9servation. Le solde restant se calcule automatiquement.<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<div class=\"divider\"><\/div>\n\n<!-- \u00c9TAPE 5 -->\n<div class=\"section\">\n  <div class=\"section-title\">\n    <div class=\"section-num\">5<\/div>\n    <h2>Sauvegarde ou imprime ton estimation<\/h2>\n  <\/div>\n  <div class=\"steps\">\n    <div class=\"step\">\n      <div class=\"step-icon\">\ud83d\udda8\ufe0f<\/div>\n      <div class=\"step-text\">\n        <strong>Clique sur \u00ab Imprimer \/ Sauvegarder PDF \u00bb<\/strong>\n        <span>La fen\u00eatre d&rsquo;impression de ton navigateur s&rsquo;ouvre. Choisis <em>Enregistrer en PDF<\/em> pour garder une copie de ton estimation sur ton ordi.<\/span>\n      <\/div>\n    <\/div>\n    <div class=\"step\">\n      <div class=\"step-icon\">\u21ba<\/div>\n      <div class=\"step-text\">\n        <strong>Clique sur \u00ab R\u00e9initialiser \u00bb pour recommencer<\/strong>\n        <span>Toutes les valeurs reviennent aux exemples de d\u00e9part. Utile quand tu veux faire une estimation pour un nouveau client.<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<div class=\"divider\"><\/div>\n\n<!-- FAQ -->\n<div class=\"section\">\n  <div class=\"section-title\">\n    <div class=\"section-num\" style=\"background:#5a5047;\">?<\/div>\n    <h2>Questions fr\u00e9quentes<\/h2>\n  <\/div>\n\n  <div class=\"faq-item\">\n    <div class=\"faq-q\">Est-ce que mes donn\u00e9es sont sauvegard\u00e9es quelque part ?<\/div>\n    <div class=\"faq-a\"><strong>Non, absolument rien n&rsquo;est envoy\u00e9.<\/strong> Tous les calculs se font directement dans ton navigateur. Si tu fermes la page, tout repart \u00e0 z\u00e9ro. C&rsquo;est pourquoi on te recommande de sauvegarder en PDF si tu veux garder ton estimation.<\/div>\n  <\/div>\n\n  <div class=\"faq-item\">\n    <div class=\"faq-q\">C&rsquo;est quoi la surcharge \u00e9quipement \u00e0 10% ?<\/div>\n    <div class=\"faq-a\">Ton appareil photo, tes objectifs et tes flashes s&rsquo;usent \u00e0 chaque utilisation. Les 10% s&rsquo;ajoutent sur le sous-total pour que tu mettes de l&rsquo;argent de c\u00f4t\u00e9 pour \u00e9ventuellement remplacer ton \u00e9quipement. <strong>C&rsquo;est ton propre argent, pas un profit.<\/strong> Tu peux ajuster ce pourcentage selon la valeur de ton parc d&rsquo;\u00e9quipement.<\/div>\n  <\/div>\n\n  <div class=\"faq-item\">\n    <div class=\"faq-q\">Je ne suis pas inscrit aux taxes \u2014 je fais quoi ?<\/div>\n    <div class=\"faq-a\">Laisse le toggle <em>Taxes<\/em> sur <strong>Non<\/strong>. L&rsquo;outil ne les calculera pas. Tu n&rsquo;es pas oblig\u00e9 de facturer les taxes si tes revenus annuels sont sous 30 000 $. Au-del\u00e0 de ce seuil, l&rsquo;inscription devient obligatoire \u2014 <strong>parle \u00e0 un comptable pour \u00eatre s\u00fbr<\/strong>.<\/div>\n  <\/div>\n\n  <div class=\"faq-item\">\n    <div class=\"faq-q\">Les chiffres de l&rsquo;onglet R\u00e9f\u00e9rence, c&rsquo;est une obligation ?<\/div>\n    <div class=\"faq-a\"><strong>Non, ce sont des fourchettes sugg\u00e9r\u00e9es<\/strong> bas\u00e9es sur le march\u00e9 Gatineau \/ Outaouais. Tu restes libre de fixer tes propres tarifs. Ces chiffres sont l\u00e0 pour t&rsquo;aider \u00e0 calibrer tes estimations, pas pour te dicter quoi charger.<\/div>\n  <\/div>\n\n  <div class=\"faq-item\">\n    <div class=\"faq-q\">Le total me semble trop \u00e9lev\u00e9 \u2014 est-ce que c&rsquo;est normal ?<\/div>\n    <div class=\"faq-a\">Souvent oui ! On sous-estime beaucoup le temps r\u00e9el qu&rsquo;une s\u00e9ance demande. <strong>La prise de photos, c&rsquo;est seulement une partie du travail.<\/strong> Le temps de communication avec le client, les retouches, la livraison \u2014 tout \u00e7a s&rsquo;additionne vite. L&rsquo;outil te montre la vraie valeur de ton travail.<\/div>\n  <\/div>\n\n  <div class=\"faq-item\">\n    <div class=\"faq-q\">Est-ce que \u00e7a fonctionne sur t\u00e9l\u00e9phone ?<\/div>\n    <div class=\"faq-a\"><strong>Oui, l&rsquo;outil est adapt\u00e9 pour mobile.<\/strong> L&rsquo;affichage s&rsquo;ajuste automatiquement \u00e0 la taille de ton \u00e9cran. Pour sauvegarder en PDF sur t\u00e9l\u00e9phone, utilise la fonction de partage de ton navigateur et choisis <em>Imprimer<\/em>.<\/div>\n  <\/div>\n\n<\/div>\n\n<!-- NOTE FINALE -->\n<div class=\"note-finale\">\n  <strong>Un outil cr\u00e9\u00e9 pour toi, par un photographe d&rsquo;ici \ud83d\udcf8<\/strong>\n  Ce calculateur a \u00e9t\u00e9 d\u00e9velopp\u00e9 par <a href=\"https:\/\/academie-photographe-gatineau.com\" target=\"_blank\">Sylvain Perrier<\/a>, photographe professionnel et formateur bas\u00e9 \u00e0 Gatineau. Il fait partie de la bo\u00eete \u00e0 outils gratuite du Blog Photographie.<br><br>\n  Bonne estimation \u2014 et bonne s\u00e9ance ! \ud83c\udfaf\n<\/div>\n\n<\/body>\n<\/html>\n\n\n\n<div class=\"article-signature\">\n    \u2014 Sylvain Perrier \u00b7 Photographe &#038; formateur  \n    <a href=\"https:\/\/academiephotographegatineau.com\/\" target=\"_blank\">\n        Acad\u00e9mie Photographe Gatineau\n    <\/a>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Calculateur d\u2019estimation &#8211; s\u00e9ance photo et mariage Combien \u00e7a co\u00fbte, une s\u00e9ance photo ? C&rsquo;est souvent la premi\u00e8re question et la plus difficile \u00e0 r\u00e9pondre quand on commence. Parce que le vrai co\u00fbt d&rsquo;une s\u00e9ance, c&rsquo;est pas juste le temps pass\u00e9 \u00e0 appuyer sur le d\u00e9clencheur. Ce calculateur gratuit te permet d&rsquo;estimer rapidement ce qu&rsquo;une&#8230;<\/p>","protected":false},"author":1,"featured_media":9266,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_post_transparent":"enable","_kad_post_title":"hide","_kad_post_layout":"default","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"hide","_kad_post_feature_position":"above","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","jetpack_post_was_ever_published":false,"footnotes":""},"class_list":["post-9253","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Calculateur d&#039;estimation s\u00e9ance photo et mariage - Blog photographie<\/title>\n<meta name=\"description\" content=\"Calculateur d&#039;estimation - s\u00e9ance photo et mariage. tout se calcule automatiquement. Aucune inscription requise.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogphotographie.com\/fr_fr\/calculateur-destimation-seance-photo-et-mariage\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Calculateur d&#039;estimation s\u00e9ance photo et mariage - Blog photographie\" \/>\n<meta property=\"og:description\" content=\"Calculateur d&#039;estimation - s\u00e9ance photo et mariage. tout se calcule automatiquement. Aucune inscription requise.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogphotographie.com\/fr_fr\/calculateur-destimation-seance-photo-et-mariage\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog photographie\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/leblogphotographie\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-12T17:08:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogphotographie.com\/wp-content\/uploads\/Calculateur-destimation.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2311\" \/>\n\t<meta property=\"og:image:height\" content=\"736\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@sylvainxperrier\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogphotographie.com\\\/calculateur-destimation-seance-photo-et-mariage\\\/\",\"url\":\"https:\\\/\\\/blogphotographie.com\\\/calculateur-destimation-seance-photo-et-mariage\\\/\",\"name\":\"Calculateur d'estimation s\u00e9ance photo et mariage - Blog photographie\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogphotographie.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogphotographie.com\\\/calculateur-destimation-seance-photo-et-mariage\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogphotographie.com\\\/calculateur-destimation-seance-photo-et-mariage\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogphotographie.com\\\/wp-content\\\/uploads\\\/Calculateur-destimation.jpg\",\"datePublished\":\"2026-03-12T16:17:32+00:00\",\"dateModified\":\"2026-03-12T17:08:13+00:00\",\"description\":\"Calculateur d'estimation - s\u00e9ance photo et mariage. tout se calcule automatiquement. Aucune inscription requise.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogphotographie.com\\\/calculateur-destimation-seance-photo-et-mariage\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogphotographie.com\\\/calculateur-destimation-seance-photo-et-mariage\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/blogphotographie.com\\\/calculateur-destimation-seance-photo-et-mariage\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogphotographie.com\\\/wp-content\\\/uploads\\\/Calculateur-destimation.jpg\",\"contentUrl\":\"https:\\\/\\\/blogphotographie.com\\\/wp-content\\\/uploads\\\/Calculateur-destimation.jpg\",\"width\":2311,\"height\":736,\"caption\":\"Calculateur d'estimation\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogphotographie.com\\\/calculateur-destimation-seance-photo-et-mariage\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/blogphotographie.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculateur d&rsquo;estimation s\u00e9ance photo et mariage\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blogphotographie.com\\\/#website\",\"url\":\"https:\\\/\\\/blogphotographie.com\\\/\",\"name\":\"Blog photographie\",\"description\":\"Le Chemin Photographique \u2014 De l\u2019\u0152il \u00e0 l\u2019Image\",\"publisher\":{\"@id\":\"https:\\\/\\\/blogphotographie.com\\\/#\\\/schema\\\/person\\\/5059e59b1012006c7ca43b6330053a01\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blogphotographie.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/blogphotographie.com\\\/#\\\/schema\\\/person\\\/5059e59b1012006c7ca43b6330053a01\",\"name\":\"Blog Photographie\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/blogphotographie.com\\\/wp-content\\\/uploads\\\/logo.png\",\"url\":\"https:\\\/\\\/blogphotographie.com\\\/wp-content\\\/uploads\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/blogphotographie.com\\\/wp-content\\\/uploads\\\/logo.png\",\"width\":800,\"height\":800,\"caption\":\"Blog Photographie\"},\"logo\":{\"@id\":\"https:\\\/\\\/blogphotographie.com\\\/wp-content\\\/uploads\\\/logo.png\"},\"sameAs\":[\"https:\\\/\\\/blogphotographie.com\",\"https:\\\/\\\/www.facebook.com\\\/leblogphotographie\",\"https:\\\/\\\/www.instagram.com\\\/leblogphotographie\",\"https:\\\/\\\/www.pinterest.ca\\\/sylvain_perrier\",\"https:\\\/\\\/x.com\\\/sylvainxperrier\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/lencadreursylvain\",\"https:\\\/\\\/www.tumblr.com\\\/blog\\\/sylvainperrierfotografi\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Calculateur d'estimation s\u00e9ance photo et mariage - Blog photographie","description":"Calculateur d'estimation - s\u00e9ance photo et mariage. tout se calcule automatiquement. Aucune inscription requise.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogphotographie.com\/fr_fr\/calculateur-destimation-seance-photo-et-mariage\/","og_locale":"fr_FR","og_type":"article","og_title":"Calculateur d'estimation s\u00e9ance photo et mariage - Blog photographie","og_description":"Calculateur d'estimation - s\u00e9ance photo et mariage. tout se calcule automatiquement. Aucune inscription requise.","og_url":"https:\/\/blogphotographie.com\/fr_fr\/calculateur-destimation-seance-photo-et-mariage\/","og_site_name":"Blog photographie","article_publisher":"https:\/\/www.facebook.com\/leblogphotographie","article_modified_time":"2026-03-12T17:08:13+00:00","og_image":[{"width":2311,"height":736,"url":"https:\/\/blogphotographie.com\/wp-content\/uploads\/Calculateur-destimation.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_site":"@sylvainxperrier","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blogphotographie.com\/calculateur-destimation-seance-photo-et-mariage\/","url":"https:\/\/blogphotographie.com\/calculateur-destimation-seance-photo-et-mariage\/","name":"Calculateur d'estimation s\u00e9ance photo et mariage - Blog photographie","isPartOf":{"@id":"https:\/\/blogphotographie.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogphotographie.com\/calculateur-destimation-seance-photo-et-mariage\/#primaryimage"},"image":{"@id":"https:\/\/blogphotographie.com\/calculateur-destimation-seance-photo-et-mariage\/#primaryimage"},"thumbnailUrl":"https:\/\/blogphotographie.com\/wp-content\/uploads\/Calculateur-destimation.jpg","datePublished":"2026-03-12T16:17:32+00:00","dateModified":"2026-03-12T17:08:13+00:00","description":"Calculateur d'estimation - s\u00e9ance photo et mariage. tout se calcule automatiquement. Aucune inscription requise.","breadcrumb":{"@id":"https:\/\/blogphotographie.com\/calculateur-destimation-seance-photo-et-mariage\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogphotographie.com\/calculateur-destimation-seance-photo-et-mariage\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blogphotographie.com\/calculateur-destimation-seance-photo-et-mariage\/#primaryimage","url":"https:\/\/blogphotographie.com\/wp-content\/uploads\/Calculateur-destimation.jpg","contentUrl":"https:\/\/blogphotographie.com\/wp-content\/uploads\/Calculateur-destimation.jpg","width":2311,"height":736,"caption":"Calculateur d'estimation"},{"@type":"BreadcrumbList","@id":"https:\/\/blogphotographie.com\/calculateur-destimation-seance-photo-et-mariage\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/blogphotographie.com\/"},{"@type":"ListItem","position":2,"name":"Calculateur d&rsquo;estimation s\u00e9ance photo et mariage"}]},{"@type":"WebSite","@id":"https:\/\/blogphotographie.com\/#website","url":"https:\/\/blogphotographie.com\/","name":"Blog photographie","description":"Le Chemin Photographique \u2014 De l\u2019\u0152il \u00e0 l\u2019Image","publisher":{"@id":"https:\/\/blogphotographie.com\/#\/schema\/person\/5059e59b1012006c7ca43b6330053a01"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogphotographie.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":["Person","Organization"],"@id":"https:\/\/blogphotographie.com\/#\/schema\/person\/5059e59b1012006c7ca43b6330053a01","name":"Blog Photographie","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blogphotographie.com\/wp-content\/uploads\/logo.png","url":"https:\/\/blogphotographie.com\/wp-content\/uploads\/logo.png","contentUrl":"https:\/\/blogphotographie.com\/wp-content\/uploads\/logo.png","width":800,"height":800,"caption":"Blog Photographie"},"logo":{"@id":"https:\/\/blogphotographie.com\/wp-content\/uploads\/logo.png"},"sameAs":["https:\/\/blogphotographie.com","https:\/\/www.facebook.com\/leblogphotographie","https:\/\/www.instagram.com\/leblogphotographie","https:\/\/www.pinterest.ca\/sylvain_perrier","https:\/\/x.com\/sylvainxperrier","https:\/\/www.youtube.com\/user\/lencadreursylvain","https:\/\/www.tumblr.com\/blog\/sylvainperrierfotografi"]}]}},"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/blogphotographie.com\/fr_fr\/wp-json\/wp\/v2\/pages\/9253","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogphotographie.com\/fr_fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blogphotographie.com\/fr_fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blogphotographie.com\/fr_fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogphotographie.com\/fr_fr\/wp-json\/wp\/v2\/comments?post=9253"}],"version-history":[{"count":25,"href":"https:\/\/blogphotographie.com\/fr_fr\/wp-json\/wp\/v2\/pages\/9253\/revisions"}],"predecessor-version":[{"id":9284,"href":"https:\/\/blogphotographie.com\/fr_fr\/wp-json\/wp\/v2\/pages\/9253\/revisions\/9284"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogphotographie.com\/fr_fr\/wp-json\/wp\/v2\/media\/9266"}],"wp:attachment":[{"href":"https:\/\/blogphotographie.com\/fr_fr\/wp-json\/wp\/v2\/media?parent=9253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}