/* Product-specific suite9719/3519/5188 only; native Woo/GF forms and variation behavior retained. */
body.ds-suite-product main.site-main { width:100%; max-width:1240px; margin:0 auto; padding:0 30px; }
body.ds-suite-product .woocommerce-breadcrumb { font-size:13px; line-height:1.6; margin:18px 0 24px; color:#54595f; }
body.ds-suite-product div.product { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(400px,1fr); gap:40px; align-items:start; }
body.ds-suite-product div.product::before, body.ds-suite-product div.product::after { display:none; }
body.ds-suite-product div.product .ds-suite-overview { min-width:0; position:relative; isolation:isolate; padding:32px; border-radius:18px; background:#08090a; color:white; overflow:hidden; }
body.ds-suite-product div.product .ds-suite-overview::before { content:""; position:absolute; inset:0; z-index:-1; background:url("assets/datasure-graphite-documents.jpg") right top/cover no-repeat; opacity:.17; pointer-events:none; }
body.ds-suite-product .ds-suite-overview .woocommerce-product-details__short-description { margin:0; }
body.ds-suite-product div.product > .summary { float:none; width:auto!important; min-width:0; margin:0; padding:28px; background:#fff; border:1px solid #ddd; border-top:4px solid #000; border-radius:14px; box-shadow:0 8px 28px rgb(0 0 0 / 5%); }
body.ds-suite-product .ds-suite-kicker { margin:0 0 15px; color:#bfc2c8; font-size:12px; line-height:1.5; font-weight:600; letter-spacing:.05em; text-transform:uppercase; }
body.ds-suite-product .ds-suite-title { display:block; margin:0 0 20px; color:#fff; font-size:clamp(2rem,3.2vw,2.9rem); font-weight:600; line-height:1.12; letter-spacing:-.025em; }
body.ds-suite-product .ds-suite-lead { margin:0 0 20px; color:#eee; font-size:18px; line-height:1.6; }
body.ds-suite-product .ds-suite-facts { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0 0 24px; }
body.ds-suite-product .ds-suite-facts li { margin:0; padding:5px 8px; color:#f5f5f5; font-size:12px; line-height:1.5; border:1px solid #545454; border-radius:5px; }
body.ds-suite-product .ds-suite-start { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; border:1px solid #fff; border-radius:7px; color:#171717; background:#fff; font-weight:600; font-size:16px; text-decoration:none; }
body.ds-suite-product .ds-suite-start:hover { color:#fff; background:#081974; border-color:#737cd0; }
body.ds-suite-product .ds-suite-availability { margin:12px 0 24px; font-size:13px; line-height:1.55; color:#d6d6d6; }
body.ds-suite-product .ds-suite-preflight { margin:0; border-top:1px solid #555; padding-top:16px; }
body.ds-suite-product .ds-suite-preflight > summary { min-height:44px; font-weight:600; font-size:15px; line-height:1.5; cursor:pointer; color:#fff; }
body.ds-suite-product .ds-suite-prerequisites h2 { color:#fff; font-size:17px; font-weight:600; margin:12px 0; }
body.ds-suite-product .ds-suite-prerequisites ul { margin:0 0 14px; padding-left:20px; }
body.ds-suite-product .ds-suite-prerequisites li { margin:0 0 9px; color:#eee; font-size:14px; line-height:1.6; }
body.ds-suite-product .ds-suite-overview a:not(.ds-suite-start) { color:#fff; text-decoration:underline; text-underline-offset:3px; }
body.ds-suite-product .ds-suite-timing p { margin:0; color:#ddd; font-size:13px; line-height:1.65; }
body.ds-suite-product .ds-suite-order-heading { margin-bottom:24px; }
body.ds-suite-product .ds-suite-order-heading .ds-suite-kicker { color:#54595f; margin-bottom:10px; }
body.ds-suite-product .ds-suite-price-line { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 20px; }
body.ds-suite-product .ds-suite-price-line h2 { margin:0; color:#171717; font-size:22px; line-height:1.3; font-weight:600; max-width:13ch; }
body.ds-suite-product .ds-suite-price-line .price { margin:0; color:#171717; font-size:28px; font-weight:700; line-height:1.3; }
body.ds-suite-product .ds-suite-price-line .woocommerce-price-after { font-size:14px; font-weight:500; }
body.ds-suite-product div.product .ds-suite-price-line .price { color:#171717!important; font-size:28px!important; font-weight:700!important; }
body.ds-suite-product div.product .ds-suite-price-line .price :is(.amount,bdi) { color:inherit!important; font-size:inherit!important; font-weight:inherit!important; }
body.ds-suite-product div.product .ds-suite-price-line .price .woocommerce-price-after { color:#171717!important; font-size:14px!important; font-weight:500!important; }
body.ds-suite-product .ds-suite-order-unit { margin:12px 0 4px; font-size:14px; line-height:1.5; color:#333; }
body.ds-suite-product .ds-suite-order-caption { margin:0; font-size:13px; line-height:1.5; color:#54595f; }
body.ds-suite-product :is(#gform_wrapper_3,#gform_wrapper_5,#gform_wrapper_8) { margin:0; }
body.ds-suite-product :is(#gform_wrapper_3,#gform_wrapper_5,#gform_wrapper_8) .gf_progressbar_wrapper { margin-bottom:24px; }
body.ds-suite-product :is(#gform_wrapper_3,#gform_wrapper_5,#gform_wrapper_8) .gf_progressbar_title { color:#333; font-size:14px; font-weight:600; line-height:1.5; }
body.ds-suite-product :is(#gform_wrapper_3,#gform_wrapper_5,#gform_wrapper_8) .gf_progressbar_percentage { background:#010083; color:#fff; }
body.ds-suite-product :is(#gform_wrapper_3,#gform_wrapper_5,#gform_wrapper_8) .gform_fields { border:0; padding:0; }
body.ds-suite-product :is(#gform_wrapper_3,#gform_wrapper_5,#gform_wrapper_8) .gfield:has(input[type=file]) { min-width:0; border:1px dashed #9a9a9a; border-radius:10px; padding:16px; background:#f7f7f7; }
body.ds-suite-product :is(#gform_wrapper_3,#gform_wrapper_5,#gform_wrapper_8) .gfield:has(input[type=file]).gfield_error { border-color:#b42318; }
body.ds-suite-product :is(#gform_wrapper_3,#gform_wrapper_5,#gform_wrapper_8) input[type=file] { width:100%; min-width:0; max-width:100%; height:auto; min-height:46px; padding:0; font-size:13px; line-height:44px; color:#333; }
body.ds-suite-product .ds-suite-selected-file { margin:10px 0 0; color:#333; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
body.ds-suite-product :is(#gform_wrapper_3,#gform_wrapper_5,#gform_wrapper_8) input[type=file]::file-selector-button { min-height:44px; padding:10px 12px; margin-right:10px; border:1px solid #bbb; border-radius:5px; background:#fff; color:#171717; font:inherit; font-weight:600; cursor:pointer; }
body.ds-suite-product :is(#gform_wrapper_3,#gform_wrapper_5,#gform_wrapper_8) :is(.iti,.ginput_container) { max-width:100%; }
body.ds-suite-product :is(#gform_wrapper_3,#gform_wrapper_5,#gform_wrapper_8) .gfield_html table { font-size:14px!important; table-layout:fixed; overflow-wrap:anywhere; }
body.ds-suite-product :is(#gform_wrapper_3,#gform_wrapper_5,#gform_wrapper_8) .gfield_html td { padding:10px!important; }
body.ds-suite-product :is(#gform_wrapper_3,#gform_wrapper_5,#gform_wrapper_8) .gfield .gfield_checkbox label { font-size:13px; line-height:1.55; }
body.ds-suite-product .ds-suite-order-help { border-top:1px solid #ddd; margin-top:24px; padding-top:16px; font-size:13px; line-height:1.6; color:#54595f; }
body.ds-suite-product .ds-suite-order-help p { margin:0 0 5px; }
body.ds-suite-product .ds-suite-order-help a { color:#010083; text-decoration:underline; text-underline-offset:3px; }
body.ds-suite-product div.product > .ds-suite-details { grid-column:1/-1; min-width:0; }
body.ds-suite-product .ds-suite-how { padding:28px; border:1px solid #ddd; border-radius:14px; background:#f6f6f6; }
body.ds-suite-product .ds-suite-details h2 { margin:0 0 24px; color:#171717; font-size:clamp(1.5rem,2.4vw,2rem); line-height:1.25; font-weight:600; }
body.ds-suite-product .ds-suite-how ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; list-style:none; counter-reset:ds-suite-step; margin:0; padding:0; }
body.ds-suite-product .ds-suite-how li { counter-increment:ds-suite-step; font-size:15px; line-height:1.7; color:#444; }
body.ds-suite-product .ds-suite-how li::before { content:counter(ds-suite-step); display:flex; align-items:center; justify-content:center; width:32px; height:32px; border:1px solid #010083; color:#010083; border-radius:50%; margin-bottom:14px; font-weight:600; }
body.ds-suite-product .ds-suite-how strong { display:block; color:#171717; margin-bottom:8px; font-size:16px; }
body.ds-suite-product .ds-suite-trust { max-width:920px; margin:24px auto 0; color:#54595f; font-size:14px; line-height:1.7; }
body.ds-suite-product .ds-suite-faq { max-width:920px; margin:48px auto 0; }
body.ds-suite-product .ds-suite-faq details { border-top:1px solid #ddd; }
body.ds-suite-product .ds-suite-faq details:last-child { border-bottom:1px solid #ddd; }
body.ds-suite-product .ds-suite-faq summary { min-height:60px; padding:18px 26px 18px 0; color:#171717; cursor:pointer; font-size:16px; font-weight:600; line-height:1.5; }
body.ds-suite-product .ds-suite-faq details p { margin:0 0 18px; padding-right:22px; font-size:15px; line-height:1.7; color:#54595f; }
body.ds-suite-product .ds-suite-details a { color:#010083; text-decoration:underline; text-underline-offset:3px; }
body.ds-suite-product .ds-suite-help { margin:32px 0 48px; padding:20px; border:1px solid #ddd; border-radius:10px; text-align:center; font-size:15px; line-height:1.6; }
body.ds-suite-product .ds-suite-help p { margin:0; }
body.ds-suite-product .ds-suite-details :is(a,summary):focus-visible, body.ds-suite-product .ds-suite-overview :is(a,summary):focus-visible { outline:3px solid #010083; outline-offset:4px; }
body.ds-suite-product #ds-suite-order, body.ds-suite-product #tab-description { scroll-margin-top:24px; }
@media(max-width:960px) {
 body.ds-suite-product div.product { grid-template-columns:minmax(0,1fr); gap:24px; }
 body.ds-suite-product div.product .ds-suite-overview { padding:26px; }
 body.ds-suite-product div.product > .summary { padding:24px; }
 body.ds-suite-product .ds-suite-title { font-size:clamp(2rem,5vw,2.7rem); }
 body.ds-suite-product .ds-suite-how ol { grid-template-columns:1fr; gap:24px; }
}
@media(max-width:480px) {
 body.ds-suite-product main.site-main { padding:0 20px; }
 body.ds-suite-product .woocommerce-breadcrumb { font-size:12px; margin:14px 0 18px; }
 body.ds-suite-product div.product .ds-suite-overview { padding:22px; border-radius:12px; }
 body.ds-suite-product div.product > .summary { padding:20px; border-radius:12px; }
 body.ds-suite-product .ds-suite-title { font-size:32px; }
 body.ds-suite-product .ds-suite-lead { font-size:16px; line-height:1.55; }
 body.ds-suite-product .ds-suite-facts { margin-bottom:18px; }
 body.ds-suite-product .ds-suite-facts li { font-size:11px; }
 body.ds-suite-product .ds-suite-start { width:100%; }
 body.ds-suite-product .ds-suite-availability { margin-bottom:16px; font-size:12px; }
 body.ds-suite-product .ds-suite-price-line h2 { font-size:20px; max-width:12ch; }
 body.ds-suite-product .ds-suite-price-line .price { font-size:26px; }
 body.ds-suite-product :is(#gform_wrapper_3,#gform_wrapper_5,#gform_wrapper_8) .gfield:has(input[type=file]) { padding:12px; }
 body.ds-suite-product .ds-suite-how { padding:22px; }
 body.ds-suite-product .ds-suite-faq { margin-top:36px; }
}
@media(prefers-reduced-motion:reduce) { body.ds-suite-product * { scroll-behavior:auto; } }

/* Verified trust marks: native unaltered ANSSI and EU artwork on white. */
body.ds-suite-product .ds-suite-assurance { display:flex; align-items:center; gap:14px; margin:0 0 22px; padding:12px; border-radius:8px; background:#fff; color:#171717; }
body.ds-suite-product .ds-suite-assurance-marks { display:flex; align-items:center; gap:10px; flex:0 0 auto; }
body.ds-suite-product .ds-suite-assurance-marks > p { display:contents; }
body.ds-suite-product .ds-suite-assurance-marks a { display:flex; align-items:center; justify-content:center; min-height:56px; min-width:44px; }
body.ds-suite-product .ds-suite-assurance-marks img { display:block; height:auto; max-width:none; object-fit:contain; }
body.ds-suite-product .ds-suite-assurance-marks .ds-suite-visa { width:140px; }
body.ds-suite-product .ds-suite-assurance-marks .ds-suite-eidas { width:64px; }
body.ds-suite-product .ds-suite-assurance > p { margin:0; font-size:13px; line-height:1.45; color:#171717; min-width:0; }
body.ds-suite-product .ds-suite-assurance strong { display:block; font-weight:600; }
body.ds-suite-product .ds-suite-assurance span { display:block; margin-top:5px; font-size:12px; color:#54595f; }
body.ds-suite-product .ds-suite-assurance a:focus-visible { outline:3px solid #010083; outline-offset:2px; }
@media(max-width:480px) { body.ds-suite-product .ds-suite-assurance { flex-direction:column; gap:8px; padding:12px; } body.ds-suite-product .ds-suite-assurance > p { text-align:center; } }
body.ds-suite-product .ds-suite-details h2, body.ds-suite-product .ds-suite-order-heading h2 { color:#010083; }
body.ds-suite-product .ds-suite-order-heading h2 { margin:0 0 18px; font-size:23px; line-height:1.25; font-weight:600; }
body.ds-suite-product .ds-suite-details h3 { color:#171717; font-size:22px; line-height:1.3; }
body.ds-suite-product .ds-suite-order-kicker { margin:0 0 10px; color:#54595f; font-size:12px; text-transform:uppercase; letter-spacing:.05em; }
body.ds-suite-product .ds-suite-price-line { justify-content:flex-start; gap:10px; }
body.ds-suite-product .ds-suite-price-prefix { font-size:13px; color:#54595f; }
body.ds-suite-product .ds-suite-price, body.ds-suite-product .ds-suite-price :is(.price,.amount,bdi) { color:#171717!important; font-size:28px!important; font-weight:600!important; margin:0; line-height:1.3; }
body.ds-suite-product .ds-suite-price :is(small,.woocommerce-price-suffix,.woocommerce-price-after) { font-size:14px!important; font-weight:400!important; color:#171717; }
body.ds-suite-product .ds-suite-price-note { font-size:13px; color:#54595f; line-height:1.55; margin:8px 0 0; }
body.ds-suite-product .ds-suite-start, body.ds-suite-product form.cart .single_add_to_cart_button { background:#22117c; border:1px solid #235089; color:#fff; }
body.ds-suite-product .ds-suite-start:hover, body.ds-suite-product form.cart .single_add_to_cart_button:hover { background:#235089; border-color:#3a73b7; color:#fff; }
body.ds-suite-product .ds-suite-overview a.ds-suite-start { text-decoration:none; }
body.ds-suite-product .ds-suite-assurance { margin-top:18px; }
body.ds-suite-product :is(#gform_wrapper_3,#gform_wrapper_5,#gform_wrapper_8) { --gf-color-primary:#22117c; --gf-color-primary-rgb:34,17,124; --gf-ctrl-border-color-focus:#010083; --gf-ctrl-outline-color-focus:#010083; }
body.ds-suite-product .gform_wrapper :is(input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea) { min-height:46px; max-width:100%; min-width:0; font-size:16px; border-radius:7px; }
body.ds-suite-product .gform_wrapper .gfield_label { font-size:15px; line-height:1.5; color:#171717; }
body.ds-suite-product .gform_wrapper :is(.gfield_description,.gform_fileupload_rules) { font-size:13px; color:#54595f; line-height:1.55; overflow-wrap:anywhere; }
body.ds-suite-product .gform_wrapper :is(.gfield_consent_label,.gfield_checkbox label,.gfield_html) { font-size:13px; line-height:1.65; overflow-wrap:anywhere; }
body.ds-suite-product .gform_wrapper .gfield_html a { color:#010083; }
body.ds-suite-product .gform_wrapper .gform_page_footer { display:flex; flex-wrap:wrap; gap:12px; padding-top:20px; }
body.ds-suite-product .gform_wrapper .gform_page_footer :is(button,input[type=button],input[type=submit]) { min-height:48px!important; min-width:100px; border-radius:6px; font-size:16px; }
body.ds-suite-product .gform_wrapper .gform_page_footer :is(.gform_next_button,.gform_button) { background:#22117c; border:1px solid #235089; color:#fff; }
body.ds-suite-product .gform_wrapper .gform_page_footer :is(.gform_next_button,.gform_button):hover { background:#235089; border-color:#3a73b7; }
body.ds-suite-product .gform_wrapper .gform_page_footer .gform_previous_button { background:#fff; color:#171717; border:1px solid #bbb; }
body.ds-suite-product .gform_wrapper .gform_fields { padding:0; border:0; }
body.ds-suite-product .gform_wrapper .ginput_container { max-width:100%; }
body.ds-suite-product .gform_wrapper :is(input,select,textarea,button):focus-visible { outline:3px solid #010083; outline-offset:3px; }
body.ds-suite-product form.variations_form table.variations { display:block; margin:0 0 24px; border:0; }
body.ds-suite-product form.variations_form table.variations :is(tbody,tr,th,td) { display:block; width:100%; padding:0; background:transparent; border:0; }
body.ds-suite-product form.variations_form table.variations th { text-align:left; font-size:14px; line-height:1.5; margin:0 0 7px; }
body.ds-suite-product form.variations_form table.variations td { margin:0 0 18px; }
body.ds-suite-product form.variations_form table.variations select { width:100%; max-width:100%; min-width:0; min-height:48px; border:1px solid #999; border-radius:7px; padding:10px 30px 10px 12px; font-size:16px; color:#171717; background-color:#fff; }
body.ds-suite-product .reset_variations { font-size:13px; color:#010083; }
body.ds-suite-product .woocommerce-variation-price { margin-bottom:16px; }
body.ds-suite-product .ds-suite-supports { margin-top:40px; padding:28px; border:1px solid #ddd; border-radius:12px; background:#f6f6f6; }
body.ds-suite-product .ds-suite-support-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
body.ds-suite-product .ds-suite-support-card { background:#fff; border:1px solid #ddd; border-radius:10px; padding:24px; font-size:15px; line-height:1.65; }
body.ds-suite-product .ds-suite-support-card h3 { margin:16px 0; }
body.ds-suite-product .ds-suite-support-art { display:block; width:220px; max-width:100%; height:auto; }
body.ds-suite-product .ds-suite-support-card ul { margin:0; padding-left:20px; }
@media(max-width:600px) { body.ds-suite-product .ds-suite-supports { padding:20px; } body.ds-suite-product .ds-suite-support-grid { grid-template-columns:1fr; } body.ds-suite-product .ds-suite-assurance { flex-direction:column; } }


body.ds-suite-product .gform_wrapper .gform_page_footer :is(.gform_next_button,.gform_button), body.ds-suite-product form.cart .single_add_to_cart_button { background:#22117c!important; border-color:#235089!important; color:#fff!important; }
body.ds-suite-product .gform_wrapper .gform_page_footer :is(.gform_next_button,.gform_button):hover, body.ds-suite-product form.cart .single_add_to_cart_button:hover { background:#235089!important; border-color:#3a73b7!important; }
body.ds-suite-product .ds-suite-order-heading:focus { outline:2px solid #010083; outline-offset:4px; }
body.ds-suite-product div.product { font-family:Arial,Helvetica,sans-serif; }
