/* QooKey legal pages (Terms, Privacy…): any page whose Elementor data has a container with the class "qk-legal".
   Elementor Canvas template, classic widgets so every word stays editable in the Text Editor. */
body.qk-legal{margin:0;background:#F3EFE6;color:#15181E;font-family:"Manrope","Segoe UI",system-ui,sans-serif;-webkit-text-size-adjust:100%}
body.qk-legal .qk-legal{--qk-blue:#0B3F75;--qk-gold:#F2A900;--qk-ink:#15181E;--qk-muted:#5B6270;--qk-line:#DDD6C7;
  padding:0!important;gap:0!important;font-family:inherit;color:var(--qk-ink)}
body.qk-legal .qk-legal .e-con-inner{max-width:none;padding:0;gap:0}

/* header: quiet, on the page colour, scrolls away (reading pages need the whole screen). Logo left, "Back to home" right,
   both on the same 760px column as the text. */
body.qk-legal .qk-legal-head{background:transparent;padding:16px max(16px,calc((100% - 760px) / 2))!important;position:relative;z-index:2;
  flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;border-bottom:1px solid var(--qk-line)}
body.qk-legal .qk-legal-head img{height:36px;width:auto;display:block}
body.qk-legal .qk-legal-head .elementor-widget-image{width:auto;margin:0;flex:0 0 auto}
body.qk-legal .qk-legal-head .elementor-widget-text-editor{width:auto;margin:0;flex:0 0 auto}
body.qk-legal .qk-legal-head .elementor-widget-text-editor p{margin:0;font-size:14px;font-weight:700}
body.qk-legal .qk-legal-head .elementor-widget-text-editor a{text-decoration:none;color:var(--qk-blue);display:inline-flex;align-items:center;gap:6px;min-height:44px}
body.qk-legal .qk-legal-head .elementor-widget-text-editor a:hover{color:#072E58;text-decoration:underline}

/* document */
body.qk-legal .qk-legal-main{padding:32px max(16px,calc((100% - 760px) / 2)) 48px!important}   /* 760px reading column, centred */
body.qk-legal .qk-legal h1,body.qk-legal .qk-legal .elementor-heading-title{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:800;
  font-size:clamp(40px,9vw,64px);line-height:.95;letter-spacing:.01em;text-transform:uppercase;color:var(--qk-blue);margin:0 0 10px}
/* the Elementor kit sets Roboto on widgets; legal pages use the QooKey font */
body.qk-legal .qk-legal .elementor-widget,body.qk-legal .qk-legal .elementor-widget :is(p,li,a,strong,h2,h3,summary){font-family:"Manrope","Segoe UI",system-ui,sans-serif}
body.qk-legal .qk-legal .elementor-widget-text-editor{font-size:16px;line-height:1.65;color:var(--qk-ink)}
body.qk-legal .qk-legal .elementor-widget-text-editor p{margin:0 0 14px}
body.qk-legal .qk-legal .qk-legal-date{font-size:14px;color:var(--qk-muted);margin:0 0 22px!important}
body.qk-legal .qk-legal h2{font-family:inherit;font-weight:800;font-size:clamp(20px,4.6vw,24px);line-height:1.25;color:var(--qk-blue);
  margin:34px 0 12px;padding-top:18px;border-top:1px solid var(--qk-line);scroll-margin-top:80px}
body.qk-legal .qk-legal ul,body.qk-legal .qk-legal ol{margin:0 0 14px;padding-left:22px}
body.qk-legal .qk-legal li{margin:0 0 8px}
body.qk-legal .qk-legal li::marker{color:var(--qk-gold)}
body.qk-legal .qk-legal strong{font-weight:800}
body.qk-legal .qk-legal a{color:var(--qk-blue);text-decoration:underline;text-decoration-color:rgba(11,63,117,.35);text-underline-offset:3px}
body.qk-legal .qk-legal a:hover{text-decoration-color:currentColor}

/* contents */
body.qk-legal .qk-legal-toc{background:#fff;border:1px solid var(--qk-line);border-radius:12px;margin:22px 0 8px;padding:0}
body.qk-legal .qk-legal-toc summary{cursor:pointer;list-style:none;padding:14px 16px;font-weight:800;color:var(--qk-blue);display:flex;justify-content:space-between;align-items:center}
body.qk-legal .qk-legal-toc summary::-webkit-details-marker{display:none}
body.qk-legal .qk-legal-toc summary::after{content:"+";font-size:22px;line-height:1;color:var(--qk-gold)}
body.qk-legal .qk-legal-toc[open] summary::after{content:"\2212"}
body.qk-legal .qk-legal-toc ol{margin:0;padding:0 16px 14px 38px;columns:1}
body.qk-legal .qk-legal-toc li{margin:0 0 6px;font-size:15px}
body.qk-legal .qk-legal-toc a{text-decoration:none}
@media (min-width:700px){body.qk-legal .qk-legal-toc ol{columns:2;column-gap:28px}
  body.qk-legal .qk-legal-main{padding:48px max(24px,calc((100% - 760px) / 2)) 72px!important}
  body.qk-legal .qk-legal .elementor-widget-text-editor{font-size:17px}}

/* footer */
body.qk-legal .qk-legal-foot{background:var(--qk-blue);color:#D3DFF0;padding:22px max(16px,calc((100% - 760px) / 2)) calc(22px + env(safe-area-inset-bottom,0px))!important}
body.qk-legal .qk-legal-foot .e-con-inner{max-width:760px;margin:0 auto;width:100%}
body.qk-legal .qk-legal .qk-legal-foot .elementor-widget-text-editor{color:#D3DFF0}
body.qk-legal .qk-legal-foot p{margin:0;font-size:14px;line-height:1.8;text-align:center}
body.qk-legal .qk-legal-foot a{color:#fff;text-decoration:none;margin:0 8px;white-space:nowrap}
body.qk-legal .qk-legal-foot a:hover{color:var(--qk-gold)}
@media (prefers-reduced-motion:no-preference){html:has(body.qk-legal){scroll-behavior:smooth}}

/* tables (Privacy: data processors) */
body.qk-legal .qk-legal table{width:100%;border-collapse:collapse;margin:6px 0 16px;font-size:15px;line-height:1.5;background:#fff;border:1px solid var(--qk-line);border-radius:10px;overflow:hidden}
body.qk-legal .qk-legal th,body.qk-legal .qk-legal td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--qk-line)}
body.qk-legal .qk-legal th{font-weight:800;color:var(--qk-blue);background:#FBF8F1}
body.qk-legal .qk-legal tr:last-child td{border-bottom:0}
@media (max-width:600px){body.qk-legal .qk-legal table,body.qk-legal .qk-legal tbody,body.qk-legal .qk-legal tr,body.qk-legal .qk-legal td{display:block;width:100%}
  body.qk-legal .qk-legal thead{display:none}
  body.qk-legal .qk-legal td:first-child{font-weight:800;color:var(--qk-blue);border-bottom:0;padding-bottom:2px}}
body.qk-legal .qk-legal h3{font-family:inherit;font-weight:800;font-size:17px;line-height:1.3;color:var(--qk-ink);margin:22px 0 8px}
/* a section kept in the page but hidden (Elementor: Advanced → Responsive → hide on all devices) sits flush with the text around it */
body.qk-legal .qk-legal-main .elementor-widget-text-editor + .elementor-widget-text-editor{margin-top:0}

/* support form (Elementor Pro form) in the QooKey look */
body.qk-legal .qk-legal .elementor-widget-form{margin:6px 0 18px;padding:18px 16px;background:#fff;border:1px solid var(--qk-line);border-radius:14px}
body.qk-legal .qk-legal .elementor-form .elementor-field-group{margin-bottom:14px}
body.qk-legal .qk-legal .elementor-form .elementor-field-label{font:800 14px/1.3 "Manrope","Segoe UI",system-ui,sans-serif;color:var(--qk-ink);margin-bottom:6px}
body.qk-legal .qk-legal .elementor-form .elementor-mark-required .elementor-field-label:after{color:#C2410C}
body.qk-legal .qk-legal .elementor-form .elementor-field-textual,body.qk-legal .qk-legal .elementor-form select{
  font:500 16px/1.4 "Manrope","Segoe UI",system-ui,sans-serif;color:var(--qk-ink);background:#FBF8F1;border:1px solid #CFC6B3;border-radius:10px;min-height:48px;padding:10px 12px}
body.qk-legal .qk-legal .elementor-form textarea.elementor-field-textual{min-height:130px}
body.qk-legal .qk-legal .elementor-form .elementor-field-textual:focus,body.qk-legal .qk-legal .elementor-form select:focus{outline:none;border-color:var(--qk-blue);box-shadow:0 0 0 3px rgba(242,169,0,.35);background:#fff}
body.qk-legal .qk-legal .elementor-form .elementor-field-subgroup .elementor-field-option{margin:0 14px 8px 0;font-size:15px}
body.qk-legal .qk-legal .elementor-form .elementor-field-subgroup .elementor-field-option label{font-weight:600}
body.qk-legal .qk-legal .elementor-form input[type=radio],body.qk-legal .qk-legal .elementor-form input[type=checkbox]{accent-color:var(--qk-blue);width:18px;height:18px;vertical-align:-3px;margin-right:6px}
body.qk-legal .qk-legal .elementor-form .elementor-field-type-acceptance label{font-size:14px;font-weight:500;color:var(--qk-muted)}
body.qk-legal .qk-legal .elementor-form .elementor-button{width:100%;min-height:52px;border-radius:10px;background:var(--qk-gold);color:#15181E;
  font:800 15px/1 "Manrope","Segoe UI",system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;border:0;transition:background-color .2s}
body.qk-legal .qk-legal .elementor-form .elementor-button:hover{background:#FFBC33;color:#15181E}
body.qk-legal .qk-legal .elementor-form .elementor-button:focus-visible{outline:3px solid var(--qk-blue);outline-offset:2px}
body.qk-legal .qk-legal .elementor-message{font-size:15px;font-weight:600;margin-top:12px}
body.qk-legal .qk-legal .elementor-message.elementor-message-success{color:#15803D}
body.qk-legal .qk-legal .elementor-message.elementor-message-danger,body.qk-legal .qk-legal .elementor-form .elementor-error .elementor-field-textual{color:#B91C1C;border-color:#B91C1C}
@media (min-width:700px){body.qk-legal .qk-legal .elementor-widget-form{padding:24px 24px 18px}}
body.qk-legal .qk-legal .elementor-form .elementor-field-type-acceptance > .elementor-field-label{display:none}
body.qk-legal .qk-legal .elementor-form .elementor-field-subgroup label{color:var(--qk-ink)}
body.qk-legal .qk-legal .elementor-form .elementor-field-type-acceptance .elementor-field-subgroup label{color:var(--qk-muted);font-weight:500}
body.qk-legal .qk-legal .elementor-form button.elementor-button,body.qk-legal .qk-legal .elementor-form button.elementor-button .elementor-button-text{color:#15181E}
body.qk-legal .qk-legal .elementor-form .elementor-message{padding:0;margin:8px 0 0;font-size:14px;line-height:1.4}
body.qk-legal .qk-legal .elementor-form .elementor-message:before{display:none}
body.qk-legal .qk-legal .elementor-form label,body.qk-legal .qk-legal .elementor-form .elementor-message{font-family:"Manrope","Segoe UI",system-ui,sans-serif}
