/* cf-vault-core module "legal" 1.0.3: the legal prose layout (Terms, Privacy, DMCA) and the Sell Your Software landing.
   Linked only on those views, after core.css. Components at html .cfv-scope .cfl-x (0,2,1)+ like core components;
   the Elementor form skin needs the kit-neutraliser level (html body.cf-vault.cf-vault.cf-vault ..., 0,3,3+).
   1.0.2 (browser QA): anchors and the sticky sidebar clear the sticky header; prose measure ~75 characters a line;
   hanging indent on the plain (emoji) list; print: list dots, icon, underlines and the Sell form labels in black.
   1.0.3 (owner polish a, 2026-09-26): the "Legal pages" box sits below the text under 1024px (.cfl-rel--foot). */

/* The site header (Elementor 40435) stays stuck with its nav row showing: 56px up to 1024px wide, 48px above, plus the
   WordPress admin bar when it is fixed (46px at 601-782px, 32px from 783px). --cfl-top = that band + 16px of air. */
html .cfv-scope .cfl{--cfl-top:72px}
@media(min-width:1025px){html .cfv-scope .cfl{--cfl-top:64px}}
@media(min-width:601px) and (max-width:782px){html body.admin-bar .cfl{--cfl-top:118px}}
@media(min-width:783px) and (max-width:1024px){html body.admin-bar .cfl{--cfl-top:104px}}
@media(min-width:1025px){html body.admin-bar .cfl{--cfl-top:96px}}

/* ---------- hero ---------- */
html .cfv-scope .cfl-hero{padding-bottom:clamp(18px,2.6vw,30px)}
html .cfv-scope .cfl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:2px 0 0;font-size:14.5px;line-height:1.4;color:var(--cv-mu)}
html .cfv-scope .cfl-meta__d{display:inline-flex;align-items:center;gap:8px}
html .cfv-scope .cfl-meta__d svg{width:17px;height:17px;color:var(--cv-g)}
html .cfv-scope .cfl-meta time{font-weight:700;color:var(--cv-text-2)}
html .cfv-scope .cfl-print{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid rgba(240,195,90,.45);border-radius:999px;background:rgba(240,195,90,.06);color:#ffe7a6;font:700 14px/1.1 var(--cv-font);letter-spacing:normal;text-transform:none;cursor:pointer}
html body.cf-vault.cf-vault.cf-vault .cfl .cfl-print:is(:hover,:focus-visible){border-color:#ffd978;background:rgba(240,195,90,.15);color:#fff3cf}
html .cfv-scope .cfl-review{margin:18px 0 0}
html .cfv-scope .cfl-review a{margin-right:4px}

/* ---------- body: TOC column + 70ch prose ---------- */
html .cfv-scope .cfl-body{padding-top:clamp(22px,3.2vw,40px)}
html .cfv-scope .cfl-aside{display:flex;flex-direction:column;gap:14px;min-width:0}
@media(min-width:1024px){
 html .cfv-scope .cfl-aside{position:sticky;top:var(--cfl-top);max-height:calc(100vh - var(--cfl-top) - 24px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
}
html .cfv-scope .cfl-toc__s{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;margin:0 6px;cursor:pointer;list-style:none}
html .cfv-scope .cfl-toc__s::-webkit-details-marker{display:none}
html .cfv-scope .cfl-toc__s::after{content:"";width:9px;height:9px;margin-right:4px;border-right:2px solid var(--cv-g);border-bottom:2px solid var(--cv-g);transform:rotate(45deg) translateY(-3px);transition:transform .2s}
html .cfv-scope .cfl-toc__d[open]>.cfl-toc__s::after{transform:rotate(-135deg) translateY(-2px)}
@media(min-width:1024px){
 html .cfv-scope .cfl-toc__s{min-height:0;margin:0 6px 6px;cursor:default;pointer-events:none}
 html .cfv-scope .cfl-toc__s::after{display:none}
}
html .cfv-scope .cfl-rel{padding:12px 12px 10px;border:1px solid var(--cv-line-1);border-radius:var(--cv-r);background:var(--cv-fill-1)}
html .cfv-scope .cfl-rel__t{margin:0 6px 4px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cv-g)}
html .cfv-scope .cfl-rel ul{display:grid;gap:2px;margin:0;padding:0;list-style:none}
html .cfv-scope .cfl-rel a{display:flex;align-items:center;min-height:44px;padding:4px 10px;border-radius:10px;font-size:14.5px;font-weight:600;color:var(--cv-body);text-decoration:none}
html .cfv-scope .cfl-rel a:hover{background:var(--cv-fill-2);color:#fff}
html .cfv-scope .cfl-rel a[aria-current]{color:#fff;box-shadow:inset 2px 0 0 var(--cv-g)}
/* The box is printed twice (module.php): in the sidebar on desktop, right below the text in the one-column layout under
   1024px, so reading starts right after the contents list. One copy shows per breakpoint (display:none keeps the other
   out of the tab order and the accessibility tree). */
html .cfv-scope .cfl-rel--foot{display:none}
@media(max-width:1023.98px){
 html .cfv-scope .cfl-rel--side{display:none}
 html .cfv-scope .cfl-rel--foot{display:block;max-width:612px}
}
html .cfv-scope .cfl-main{display:flex;flex-direction:column;gap:clamp(28px,4vw,44px);min-width:0}
/* 36em = about 75 characters a line in DM Sans at 17px (70ch measured about 100, because ch is the wide "0") */
html .cfv-scope .cfl-doc{max-width:36em}
html .cfv-scope .cfl-doc [id]{scroll-margin-top:var(--cfl-top)}
html .cfv-scope .cfl-doc>h2:first-child{margin-top:0}
/* Legal lists: plain gold dots and numbers, not the approval ticks the prose uses elsewhere */
html .cfv-scope .cfl-doc ul>li{padding-left:24px}
html .cfv-scope .cfl-doc ul>li::before{top:.66em;left:6px;width:7px;height:7px;border-radius:50%;background:#f0c35a;box-shadow:none}
html .cfv-scope .cfl-doc ol>li{padding-left:36px}
html .cfv-scope .cfl-doc ul.cfl-plain>li{padding-left:1.6em;text-indent:-1.6em}
html .cfv-scope .cfl-doc ul.cfl-plain>li::before{display:none}
html .cfv-scope .cfl-doc blockquote{padding:14px 18px;border-left:3px solid #f0c35a;border-radius:0 12px 12px 0;background:rgba(240,195,90,.06);font-size:1em}
html .cfv-scope .cfl-doc blockquote>p{margin:0}
html .cfv-scope .cfl-doc .cfl-caps{font-size:14px;line-height:1.7;letter-spacing:.01em;color:#b8bfcd}
html .cfv-scope .cfl-doc a[href^="mailto:"]{overflow-wrap:anywhere}
html .cfv-scope .cfl-help{max-width:612px}

/* Proposal box (previews only, until the owner approves the id) */
html .cfv-scope .cfl-prop{margin:clamp(36px,4vw,52px) 0 0;padding:4px 18px 18px;border:1px dashed rgba(255,217,120,.75);border-radius:16px;background:rgba(240,195,90,.05)}
html .cfv-scope .cfl-prop__tag{display:inline-block;margin:14px 0 0;padding:3px 10px;border-radius:999px;background:#ffd978;color:#1d1203;font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.04em}
html .cfv-scope .cfl-doc .cfl-prop>h2{margin-top:22px}

/* Change list (?cfl=diff, previews only) */
html .cfv-scope .cfl-diff__t{font-size:14px}
html .cfv-scope .cfl-diff__t :is(th,td){padding:12px 14px;border-bottom:1px solid var(--cv-line-1);vertical-align:top;color:var(--cv-body)}
html .cfv-scope .cfl-diff__t thead th{color:var(--cv-g-2)}
html .cfv-scope .cfl-diff__t tbody th{color:#fff;white-space:nowrap}
html .cfv-scope .cfl-diff__t td p+p{margin-top:6px}
html .cfv-scope .cfl-diff__note{color:#fff}
html .cfv-scope .cfl-diff__old{color:#ffb1b1}
html .cfv-scope .cfl-diff__new{color:#a6f3c6}
html .cfv-scope :is(.cfl-diff__old,.cfl-diff__new)>span{display:inline-block;min-width:36px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.85}

/* ---------- Sell Your Software (738) ---------- */
html .cfv-scope .cfl-sellgrid{padding-top:clamp(22px,3.2vw,40px)}
html .cfv-scope .cfl-formcard{display:flex;flex-direction:column;gap:12px}
html .cfv-scope .cfl-note{display:flex;align-items:flex-start;gap:8px;margin:0 0 6px;font-size:14.5px;line-height:1.5;color:var(--cv-mu)}
html .cfv-scope .cfl-note svg{width:18px;height:18px;margin-top:1px;color:var(--cv-g)}
html .cfv-scope .cfl-sellside .cv-feature p{font-size:15px;line-height:1.6;color:var(--cv-body)}
html .cfv-scope .cfl-latest .cv-pgrid{margin-bottom:22px}
html .cfv-scope .cfl-browse{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px}
html .cfv-scope .cfl-browse .cfl-search{flex:1 1 320px}
html .cfv-scope .cfl-assure{padding-bottom:clamp(8px,2vw,24px)}

/* The page's Elementor Pro form, in the vault's form style (post-738 Elementor CSS is dropped by the shell) */
html .cfv-scope .cfl-form .elementor-form-fields-wrapper{display:flex;flex-wrap:wrap;margin:0 -7px -14px}
/* Row-wrap like Elementor's own layout, every child on its own full-width row (a column flexbox would let Elementor's
   flex-basis:100% on fields and the stretched submit button resolve against the group's height). */
html .cfv-scope .cfl-form .elementor-field-group{display:flex;flex-wrap:wrap;align-items:center;margin:0 0 14px;padding:0 7px;min-width:0}
html .cfv-scope .cfl-form .elementor-field-group>*{flex:0 0 100%;max-width:100%}
html .cfv-scope .cfl-form .elementor-field-label{display:block;margin:0 0 7px;padding:0;font-size:13.5px;font-weight:600;line-height:1.3;color:#e6e9f0}
html .cfv-scope .cfl-form .elementor-field-required>.elementor-field-label::after{content:" *";color:var(--cv-g)}
html body.cf-vault.cf-vault.cf-vault .cfl-form :is(input,textarea).elementor-field-textual{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--cv-input-line);border-radius:var(--cv-r-sm);background-color:#0b1020;color:#f5f2ea;font:400 16px/1.3 var(--cv-font);box-shadow:none}
html body.cf-vault.cf-vault.cf-vault .cfl-form textarea.elementor-field-textual{min-height:120px;resize:vertical}
html body.cf-vault.cf-vault.cf-vault .cfl-form :is(input,textarea).elementor-field-textual::placeholder{color:#7f889b;opacity:1}
html body.cf-vault.cf-vault.cf-vault .cfl-form :is(input,textarea).elementor-field-textual:focus{outline:0;border-color:var(--cv-g);box-shadow:0 0 0 3px rgba(255,215,106,.38)}
html body.cf-vault.cf-vault.cf-vault .cfl-form input[type=file]{width:100%;min-height:56px;padding:10px 12px;border:1px dashed rgba(240,195,90,.55);border-radius:var(--cv-r-sm);background:#0b1020;color:var(--cv-body);font:500 15px/1.4 var(--cv-font);cursor:pointer}
html body.cf-vault.cf-vault.cf-vault .cfl-form input[type=file]::file-selector-button{min-height:40px;margin-right:12px;padding:0 16px;border:1px solid rgba(240,195,90,.6);border-radius:999px;background:rgba(240,195,90,.1);color:#ffe7a6;font:700 14px/1 var(--cv-font);cursor:pointer}
html body.cf-vault.cf-vault.cf-vault .cfl-form input[type=file]:focus-visible{outline:3px solid var(--cv-focus);outline-offset:3px}
html .cfv-scope .cfl-form .elementor-field-subgroup{display:flex;flex-wrap:wrap;gap:4px 20px}
html .cfv-scope .cfl-form .elementor-field-option{display:inline-flex;align-items:center;gap:10px;min-height:44px}
html .cfv-scope .cfl-form .elementor-field-option label{margin:0;font-size:15px;font-weight:500;color:var(--cv-text-2);cursor:pointer}
html .cfv-scope .cfl-form .elementor-field-option input{width:20px;height:20px;margin:0;accent-color:#f0c35a;cursor:pointer}
html .cfv-scope .cfl-form .e-form__buttons{margin-top:6px}
html body.cf-vault.cf-vault.cf-vault .cfl-form .elementor-button[type=submit]{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:56px;padding:0 24px;border:0;border-radius:999px;background:linear-gradient(180deg,#48ea8b,#22c463 55%,#16a954);color:#03160a;font:700 17px/1.15 var(--cv-font);letter-spacing:normal;text-transform:none;box-shadow:0 12px 30px -10px rgba(34,196,99,.7),inset 0 1px 0 rgba(255,255,255,.5);cursor:pointer}
html body.cf-vault.cf-vault.cf-vault .cfl-form .elementor-button[type=submit]:is(:hover,:focus-visible){background:linear-gradient(180deg,#48ea8b,#22c463 55%,#16a954);color:#03160a;filter:brightness(1.07)}
html .cfv-scope .cfl-form .elementor-button-icon{display:none}
html .cfv-scope .cfl-form .elementor-message{width:100%;margin:12px 0 0;padding:12px 14px;border-radius:12px;font-size:15px;line-height:1.5}
html .cfv-scope .cfl-form .elementor-message-success{border:1px solid var(--cv-ok-line);background:var(--cv-ok-bg);color:var(--cv-ok)}
html .cfv-scope .cfl-form .elementor-message-danger,html .cfv-scope .cfl-form .elementor-error .elementor-message{border:1px solid var(--cv-err-line);background:var(--cv-err-bg);color:var(--cv-err)}
html .cfv-scope .cfl-form .elementor-field-group .elementor-message{margin-top:6px;padding:0;border:0;background:none;font-size:13px}
html .cfv-scope .cfl-form .cf-turnstile,html .cfv-scope .cfl-form .elementor-turnstile-field{margin:4px 7px 12px;max-width:100%}
@media(max-width:767px){html .cfv-scope .cfl-form .elementor-field-group{width:100%}}

/* ---------- print: the text only, black on white ---------- */
@media print{
 html body.cf-vault.cfv-legal{background:#fff!important;color:#000!important}
 body.cfv-legal>:not(#page),body.cfv-legal #page>:not(#content),body.cfv-legal .cfl-aside,body.cfv-legal .cfl-rel,body.cfv-legal .cfl-print,body.cfv-legal .cfl-review,body.cfv-legal .cfl-help,body.cfv-legal .cfl-diff,body.cfv-legal .cv-bc{display:none!important}
 html .cfv-scope.cfv-legal .cv-main{padding:0;background:none}
 html .cfv-scope.cfv-legal .cv-main::before{display:none}
 html .cfv-scope.cfv-legal .cv-w{width:100%;max-width:none}
 html .cfv-scope.cfv-legal .cv-layout--toc{display:block}
 html .cfv-scope.cfv-legal .cfl :is(h1,h2,h3,p,li,a,time,strong,b,span,blockquote){color:#000!important;background:none!important;-webkit-text-fill-color:#000!important;text-shadow:none!important;box-shadow:none!important}
 html .cfv-scope.cfv-legal .cfl-doc{max-width:none;font-size:11pt;line-height:1.5}
 html .cfv-scope.cfv-legal .cfl-doc h2{margin-top:18pt;padding-top:0;font-size:14pt;break-after:avoid}
 html .cfv-scope.cfv-legal .cfl-doc h2::before,html .cfv-scope.cfv-legal .cfl-doc h2::after{display:none}
 html .cfv-scope.cfv-legal .cfl-doc :is(p,li){break-inside:avoid}
 html .cfv-scope.cfv-legal .cfl-doc ul>li::before{box-sizing:border-box;border:3.5px solid #000;background:none}
 html .cfv-scope.cfv-legal .cfl a{text-decoration-color:currentColor}
 html .cfv-scope.cfv-legal .cfl-meta svg{color:#000}
 html .cfv-scope.cfv-legal .cfl :is(label,input,textarea){color:#000!important;-webkit-text-fill-color:#000!important}
 html .cfv-scope.cfv-legal .cfl :is(input,textarea){background:none!important;border-color:#000!important}
 html .cfv-scope.cfv-legal .cfl-doc ol>li::before{background:none;border:1px solid #000;color:#000}
 html .cfv-scope.cfv-legal .cfl-doc a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt}
 html .cfv-scope.cfv-legal .cfl-hero{padding:0 0 12pt;border-bottom:1px solid #000}
 html .cfv-scope.cfv-legal .cfl-hero .cv-h1{font-size:22pt}
 html .cfv-scope.cfv-legal .cfl-prop{border-color:#000}
}
