/* WebCraftura © 2026 — Smart Start, scoped styles to avoid Elementor/theme clashes. */
.wcsf-footer, .wcsf-legal, .wcsf-cookie-banner, .wcsf-cookie-overlay { box-sizing: border-box; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
.wcsf-footer *, .wcsf-legal *, .wcsf-cookie-banner *, .wcsf-cookie-overlay * { box-sizing: border-box; }
.wcsf-cookie-banner[hidden], .wcsf-cookie-overlay[hidden] { display: none !important; }
body.wcsf-hide-original-footer footer.site-footer:not(#wcsf-footer),
body.wcsf-hide-original-footer footer#colophon:not(#wcsf-footer),
body.wcsf-hide-original-footer .elementor-location-footer:not(#wcsf-footer),
body.wcsf-hide-original-footer footer#footer:not(#wcsf-footer) { display: none !important; }

/* ========== FOOTER ========== */
#wcsf-footer { position: relative; isolation: isolate; width: 100%; max-width: none; margin: 0; overflow: hidden; padding: 68px 0 0; background: radial-gradient(ellipse at 83% 24%, rgba(44,98,165,.22), transparent 45%), radial-gradient(ellipse at -10% 95%, rgba(199,29,53,.10), transparent 30%), linear-gradient(127deg,#071b32,#0a2647 58%,#07172f); color: #f7faff; border-top: 4px solid #d51e35; font-size: 15px; line-height: 1.65; }
#wcsf-footer a, #wcsf-footer button { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
#wcsf-footer a { text-decoration: none; }
#wcsf-footer a:focus-visible, #wcsf-footer button:focus-visible, .wcsf-cookie-banner button:focus-visible, .wcsf-cookie-overlay button:focus-visible, .wcsf-legal a:focus-visible { outline: 3px solid #f7afba; outline-offset: 3px; }
#wcsf-footer .wcsf-footer-glow { pointer-events: none; position: absolute; z-index: -1; right: -14%; top: 22%; width: 60%; height: 120%; opacity: .12; transform: rotate(-27deg); border-left: 1px solid #fff; border-right: 1px solid #fff; background: repeating-linear-gradient(90deg,transparent 0,transparent 38px,rgba(255,255,255,.23) 39px, transparent 40px); }
#wcsf-footer .wcsf-container { width: min(1280px, calc(100% - 64px)); margin: 0 auto; }
#wcsf-footer .wcsf-cta { position: relative; display: flex; align-items: center; gap: 24px; padding: 29px 34px; margin-bottom: 67px; background: linear-gradient(120deg,rgba(255,255,255,.115),rgba(255,255,255,.045)); border: 1px solid rgba(230,238,255,.2); border-radius: 20px; box-shadow: 0 22px 70px rgba(1,10,25,.22); backdrop-filter: blur(10px); }
#wcsf-footer .wcsf-cta::after { content: ""; position: absolute; top: 0; left: 46px; width: 74px; height: 3px; background: #ef334a; border-radius: 0 0 4px 4px; }
#wcsf-footer .wcsf-cta-marker { flex: 0 0 52px; height: 52px; display: grid; place-items: center; border: 1px solid rgba(241,67,91,.45); border-radius: 16px; background: rgba(234,43,63,.12); }
#wcsf-footer .wcsf-cta-marker span { width: 22px; height: 22px; background: #e73146; box-shadow: 0 0 0 6px rgba(238,57,75,.12); border-radius: 50%; position: relative; }
#wcsf-footer .wcsf-cta-marker span::after { content: ""; position: absolute; width: 10px; height: 10px; border-radius: 50%; background: #fff; left: 6px; top: 6px; }
#wcsf-footer .wcsf-cta-copy { flex: 1; min-width: 0; }
#wcsf-footer .wcsf-eyebrow { letter-spacing: .21em; font-size: 10px; font-weight: 800; color: #ff8595; }
#wcsf-footer .wcsf-cta h2 { margin: 4px 0; color: #fff !important; font-size: clamp(22px,2.6vw,30px); font-weight: 760; letter-spacing: -.035em; line-height: 1.3; }
#wcsf-footer .wcsf-cta p { margin: 2px 0 0; font-size: 14px; color: #b9c8dc; }
#wcsf-footer .wcsf-cta-button { display: inline-flex; gap: 15px; flex: 0 0 auto; align-items: center; justify-content: center; padding: 13px 19px 13px 23px; min-height: 52px; border-radius: 10px; background: #d52239; color: white !important; font-size: 13px; text-transform: uppercase; letter-spacing: .055em; font-weight: 800; box-shadow: 0 8px 24px rgba(210,27,52,.25); }
#wcsf-footer .wcsf-cta-button:hover { background: #f02e45; transform: translateY(-2px); }
#wcsf-footer .wcsf-cta-button svg { width: 18px; height: 18px; }
#wcsf-footer .wcsf-footer-grid { display: grid; grid-template-columns: minmax(255px,1.55fr) minmax(175px,.9fr) minmax(170px,.9fr) minmax(245px,1.1fr); gap: 35px; padding-bottom: 69px; }
#wcsf-footer .wcsf-brand { display: inline-block; width: min(100%,300px); margin-bottom: 19px; }
#wcsf-footer .wcsf-brand img { display: block; width: 100%; height: auto; object-fit: contain; filter: drop-shadow(0 7px 18px rgba(0,0,0,.1)); }
#wcsf-footer .wcsf-footer-about > p { color: #b8c7da; font-size: 14px; margin: 0 0 22px; max-width: 325px; }
#wcsf-footer .wcsf-trust { display: flex; align-items: center; gap: 10px; color: #e0eafa; font-size: 12px; font-weight: 600; }
#wcsf-footer .wcsf-trust { margin-bottom: 0; }
#wcsf-footer .wcsf-trust svg { color: #ec455a; width: 18px; height: 18px; flex-shrink: 0; }
#wcsf-footer .wcsf-footer-col h3 { margin: 16px 0 24px; padding: 0 0 16px; position: relative; color: #fff !important; font-size: 15px; font-weight: 760; letter-spacing: .015em; line-height: 1.35; }
#wcsf-footer .wcsf-footer-col h3::after { content: ""; display: block; position: absolute; bottom: 0; left: 0; width: 33px; height: 3px; border-radius: 3px; background: #eb2f49; }
#wcsf-footer .wcsf-footer-col ul { margin: 0; padding: 0; list-style: none; }
#wcsf-footer .wcsf-footer-col li { list-style: none; margin: 0 0 13px; padding: 0; line-height: 1.43; font-size: 13px; }
#wcsf-footer .wcsf-footer-col li a { color: #bdcce0; }
#wcsf-footer .wcsf-footer-col li a:hover { color: white; padding-left: 4px; }
#wcsf-footer .wcsf-footer-col li span { color: #8fabc8; }
#wcsf-footer .wcsf-text-button { background: none; border: 0; padding: 0; margin: 0; color: #bdcce0; font: inherit; font-size: 13px; cursor: pointer; text-align: left; }
#wcsf-footer .wcsf-text-button:hover { color: #fff; }
#wcsf-footer .wcsf-contact-row { display: flex; align-items: flex-start; gap: 13px; margin: 0 0 22px; color: #f5f9ff; }
#wcsf-footer .wcsf-iconbox { flex: 0 0 35px; width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid rgba(223,235,255,.17); border-radius: 10px; background: rgba(255,255,255,.055); color: #ff6376; }
#wcsf-footer .wcsf-contact-row:hover .wcsf-iconbox { color: white; border-color: rgba(246,74,93,.5); background: rgba(231,43,67,.23); }
#wcsf-footer .wcsf-iconbox svg { width: 17px; height: 17px; }
#wcsf-footer .wcsf-contact-row span:last-child { min-width: 0; }
#wcsf-footer .wcsf-contact-row small { display: block; margin: -4px 0 1px; color: #89a2c0; font-size: 11px; letter-spacing: .065em; }
#wcsf-footer .wcsf-contact-row strong { display: block; color: #e6eefb; font-size: 12.5px; font-weight: 600; line-height: 1.55; }
#wcsf-footer .wcsf-contact-row:hover strong { color: white; }
#wcsf-footer .wcsf-wrap-email { overflow-wrap: anywhere; }
#wcsf-footer .wcsf-footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 28px; padding: 20px 0 24px; border-top: 1px solid rgba(232,240,255,.15); color: #93a8c3; font-size: 11px; }
#wcsf-footer .wcsf-ids b { padding: 0 7px; font-weight: 400; color: #e74b61; }

/* ========== LEGAL PAGES ========== */
.wcsf-legal { color: #18324f; max-width: 1240px; margin: 0 auto 85px; background: #f5f8fc; border: 1px solid #e8eef7; border-radius: 22px; overflow: hidden; text-align: left; box-shadow: 0 24px 70px rgba(18,46,82,.04); }
.wcsf-legal a { color: #b61e38; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.wcsf-legal a:hover { color: #d82b46; }
.wcsf-legal .wcsf-legal-hero { background: linear-gradient(127deg,#091f3b,#12345b 78%); color: white; padding: clamp(42px,6vw,75px) clamp(25px,6vw,77px); position: relative; overflow: hidden; }
.wcsf-legal .wcsf-legal-hero-glow { position: absolute; pointer-events: none; width: 440px; height: 440px; right: -100px; top: -155px; border: 95px solid rgba(236,49,75,.12); border-radius: 50%; }
.wcsf-legal .wcsf-legal-hero-inner { position: relative; max-width: 700px; }
.wcsf-legal .wcsf-legal-overline { display: inline-flex; gap: 12px; align-items: center; color: #d7e8fa; font-size: 10px; font-weight: 800; letter-spacing: .17em; }
.wcsf-legal .wcsf-legal-overline b { display: inline-block; background: #e02a42; width: 18px; height: 2px; }
.wcsf-legal .wcsf-legal-hero h1 { color: #fff !important; font-size: clamp(33px,4.6vw,55px) !important; line-height: 1.2; margin: 14px 0 14px; font-weight: 810; letter-spacing: -.04em; }
.wcsf-legal .wcsf-legal-hero p { color: #d0dff0; font-size: 16px; line-height: 1.7; max-width: 625px; margin: 0 0 20px; }
.wcsf-legal .wcsf-legal-date { display: block; color: #9bb4d1; font-size: 11px; }
.wcsf-legal .wcsf-legal-shell { display: grid; grid-template-columns: minmax(0,1fr) 242px; gap: clamp(25px,4.8vw,58px); padding: clamp(25px,5vw,62px); align-items: start; }
.wcsf-legal .wcsf-legal-main { min-width: 0; }
.wcsf-legal .wcsf-legal-intro { padding: 22px 24px; margin-bottom: 32px; border-left: 4px solid #d92943; border-radius: 0 10px 10px 0; background: #eaf0f8; font-size: 14px; line-height: 1.85; }
.wcsf-legal .wcsf-legal-main section { margin: 0 0 28px; padding: 0 0 26px; border-bottom: 1px solid #e0e7f0; }
.wcsf-legal .wcsf-legal-main section:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.wcsf-legal .wcsf-legal-main h2 { font-size: clamp(19px,2vw,22px) !important; color: #112f51 !important; letter-spacing: -.02em; line-height: 1.42; font-weight: 750; margin: 0 0 14px; }
.wcsf-legal .wcsf-legal-main p, .wcsf-legal .wcsf-legal-main li { font-size: 14px; line-height: 1.95; color: #42576f; }
.wcsf-legal .wcsf-legal-main p { margin: 0 0 12px; }
.wcsf-legal .wcsf-legal-main p:last-child { margin-bottom: 0; }
.wcsf-legal .wcsf-legal-main ul { margin: 4px 0 13px 23px; padding: 0; }
.wcsf-legal .wcsf-legal-main li { margin-bottom: 9px; }
.wcsf-legal .wcsf-legal-main strong { color: #1a3757; }
.wcsf-legal .wcsf-legal-sidebox { position: sticky; top: 30px; padding: 24px 22px; background: white; border: 1px solid #e2eaf4; border-radius: 14px; box-shadow: 0 15px 35px rgba(12,37,65,.045); }
.wcsf-legal .wcsf-legal-sidebox small { color: #cb1e37; font-size: 10px; letter-spacing: .12em; font-weight: 800; }
.wcsf-legal .wcsf-legal-sidebox h3 { font-size: 22px !important; color: #0c2b4c !important; line-height: 1.3; margin: 11px 0; font-weight: 790; }
.wcsf-legal .wcsf-legal-sidebox p { font-size: 12px; line-height: 1.75; color: #657a93; margin: 0 0 20px; }
.wcsf-legal .wcsf-legal-sidebox a { display: inline-flex; padding: 11px 15px; justify-content: center; width: 100%; color: white; background: #c91f38; border-radius: 8px; font-size: 12px; text-decoration: none; }
.wcsf-legal .wcsf-legal-sidebox a:hover { color: white; background: #ed324b; }
.wcsf-legal .wcsf-legal-back { display: block; margin: 23px 4px; font-size: 12px; text-decoration: none; }
.wcsf-legal .wcsf-legal-table-wrap { max-width: 100%; overflow-x: auto; margin: 12px 0 19px; border: 1px solid #dfe8f3; border-radius: 10px; }
.wcsf-legal .wcsf-legal-table { width: 100%; border-collapse: collapse; min-width: 480px; font-size: 12px; background: white; }
.wcsf-legal .wcsf-legal-table th { color: white; background: #16385c; text-align: left; font-size: 11px; padding: 13px; }
.wcsf-legal .wcsf-legal-table td { color: #405773; line-height: 1.6; padding: 13px; vertical-align: top; border-bottom: 1px solid #edf1f7; }
.wcsf-legal .wcsf-legal-table tr:last-child td { border: 0; }
.wcsf-legal .wcsf-legal-table code { color: #9b233d; font-size: 12px; }
.wcsf-legal .wcsf-cookie-inline { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 15px; padding: 20px; border-radius: 12px; background: #eaf0fa; margin: 17px 0; font-size: 13px; }
.wcsf-legal .wcsf-inline-open { background: #c71e38; color: white; padding: 10px 15px; cursor: pointer; border: 0; border-radius: 7px; font-weight: 700; font-size: 12px; }
.wcsf-legal .wcsf-inline-open:hover { background: #e92f49; }

/* ========== COOKIE BANNER AND MODAL ========== */
.wcsf-cookie-banner { position: fixed; z-index: 2147482500; bottom: 22px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 20px; width: min(1170px,calc(100% - 34px)); padding: 20px 23px; border: 1px solid #dce5f1; border-left: 4px solid #e02741; border-radius: 14px; background: #fff; color: #193750; box-shadow: 0 12px 70px rgba(5,25,49,.24); }
.wcsf-cookie-banner .wcsf-cookie-badge { display: grid; place-items: center; flex: 0 0 43px; height: 43px; border-radius: 12px; color: #fff; background: #0c2b4f; font-size: 24px; }
.wcsf-cookie-banner .wcsf-cookie-message { min-width: 180px; flex: 1; }
.wcsf-cookie-banner .wcsf-cookie-message strong { display: block; font-size: 14px; color: #112e4d; font-weight: 750; margin-bottom: 2px; }
.wcsf-cookie-banner .wcsf-cookie-message p { color: #59708a; font-size: 11.7px; line-height: 1.65; margin: 0; }
.wcsf-cookie-banner .wcsf-cookie-message a { text-decoration: underline; text-underline-offset: 2px; color: #bd2039; }
.wcsf-cookie-actions, .wcsf-dialog-bottom { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.wcsf-btn { min-height: 43px; padding: 10px 14px; border-radius: 8px; border: 1px solid transparent; cursor: pointer; font-family: inherit; line-height: 1.25; font-size: 11px; font-weight: 800; white-space: nowrap; letter-spacing: .01em; }
.wcsf-btn-primary { color: #fff; background: #d5223c; border-color: #d5223c; }
.wcsf-btn-primary:hover { background: #ec314b; border-color: #ec314b; }
.wcsf-btn-soft { color: #163554; background: #e7eef8; border-color: #e7eef8; }
.wcsf-btn-soft:hover { background: #d6e3f1; }
.wcsf-btn-outline { background: #fff; color: #1c3b5e; border-color: #bfcedf; }
.wcsf-btn-outline:hover { background: #f5f8fd; border-color: #8da9c5; }
.wcsf-cookie-overlay { position: fixed; z-index: 2147483000; inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; overflow-y: auto; background: rgba(1,18,36,.69); backdrop-filter: blur(5px); }
body.wcsf-dialog-open { overflow: hidden; }
.wcsf-cookie-dialog { width: min(580px,100%); max-height: min(92vh,850px); overflow-y: auto; border-radius: 17px; background: #fff; color: #163556; box-shadow: 0 25px 100px rgba(0,0,0,.35); outline: 0; }
.wcsf-cookie-dialog .wcsf-dialog-head { position: relative; padding: 27px 31px 22px; color: #fff; background: linear-gradient(130deg,#091f3c,#143f6c); }
.wcsf-cookie-dialog .wcsf-dialog-kicker { color: #ffb7c1; font-size: 10px; letter-spacing: .15em; font-weight: 750; }
.wcsf-cookie-dialog .wcsf-dialog-head h2 { color: #fff; font-size: 27px; line-height: 1.25; margin: 9px 35px 12px 0; font-weight: 790; }
.wcsf-cookie-dialog .wcsf-dialog-head p { color: #d2e0f2; font-size: 12px; line-height: 1.7; margin: 0; }
.wcsf-cookie-dialog .wcsf-close { position: absolute; right: 21px; top: 19px; border: 1px solid rgba(255,255,255,.28); color: #fff; background: rgba(255,255,255,.09); width: 34px; height: 34px; border-radius: 8px; font-size: 24px; cursor: pointer; line-height: 1; }
.wcsf-cookie-dialog .wcsf-close:hover { background: rgba(255,255,255,.2); }
.wcsf-cookie-dialog .wcsf-dialog-body { padding: 8px 29px; }
.wcsf-cookie-dialog .wcsf-cookie-category { display: flex; gap: 13px; justify-content: space-between; align-items: center; padding: 22px 0; border-bottom: 1px solid #e6edf5; }
.wcsf-cookie-dialog .wcsf-cookie-category:last-child { border-bottom: 0; }
.wcsf-cookie-dialog .wcsf-cookie-category h3 { color: #183b60; margin: 0 0 5px; font-size: 14px; font-weight: 800; }
.wcsf-cookie-dialog .wcsf-cookie-category p { margin: 0; max-width: 365px; color: #708399; font-size: 11.5px; line-height: 1.6; }
.wcsf-cookie-dialog .wcsf-always { flex-shrink: 0; font-size: 10px; font-weight: 800; color: #207753; border: 1px solid #b5dfcc; background: #eaf7f0; border-radius: 20px; padding: 5px 9px; }
.wcsf-switch { display: block; flex: 0 0 43px; width: 43px; height: 25px; position: relative; cursor: pointer; }
.wcsf-switch input { opacity: 0; width: 100%; height: 100%; position: absolute; z-index: 1; margin: 0; cursor: pointer; }
.wcsf-switch span { position: absolute; inset: 0; display: block; background: #c6d1df; border-radius: 50px; transition: background .2s ease; }
.wcsf-switch span::before { content: ""; display: block; position: absolute; top: 3px; left: 3px; height: 19px; width: 19px; background: white; border-radius: 50%; box-shadow: 0 1px 3px rgba(20,40,70,.25); transition: transform .2s ease; }
.wcsf-switch input:checked + span { background: #cf2340; }
.wcsf-switch input:checked + span::before { transform: translateX(18px); }
.wcsf-switch input:focus-visible + span { outline: 3px solid #ff9cad; outline-offset: 3px; }
.wcsf-cookie-dialog .wcsf-dialog-bottom { padding: 19px 29px 25px; border-top: 1px solid #e9eef4; justify-content: flex-end; }

@media(max-width:1120px) {
  #wcsf-footer .wcsf-footer-grid { grid-template-columns: minmax(270px,1.3fr) minmax(180px,.8fr) minmax(190px,.8fr); gap: 37px; }
  #wcsf-footer .wcsf-footer-contact { grid-column: 1/-1; }
  #wcsf-footer .wcsf-footer-contact { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 15px 35px; }
  #wcsf-footer .wcsf-footer-contact h3 { width: 100%; margin-bottom: 5px; }
  #wcsf-footer .wcsf-footer-contact .wcsf-contact-row { margin-right: 10px; }
  .wcsf-cookie-banner { align-items: flex-start; flex-wrap: wrap; }
  .wcsf-cookie-actions { padding-left: 63px; }
}
@media(max-width:760px) {
  #wcsf-footer { padding-top: 40px; }
  #wcsf-footer .wcsf-container { width: min(100% - 34px,570px); }
  #wcsf-footer .wcsf-cta { flex-wrap: wrap; padding: 25px 24px; margin-bottom: 40px; gap: 17px; }
  #wcsf-footer .wcsf-cta-marker { flex-basis: 43px; height: 43px; }
  #wcsf-footer .wcsf-cta-copy { flex-basis: calc(100% - 65px); }
  #wcsf-footer .wcsf-cta p { font-size: 12px; }
  #wcsf-footer .wcsf-cta-button { width: 100%; margin-top: 3px; }
  #wcsf-footer .wcsf-footer-grid { grid-template-columns: 1fr 1fr; gap: 25px 27px; padding-bottom: 37px; }
  #wcsf-footer .wcsf-footer-about { grid-column: 1/-1; }
  #wcsf-footer .wcsf-footer-contact { grid-column: 1/-1; display: block; }
  #wcsf-footer .wcsf-footer-col h3 { margin: 5px 0 22px; }
  #wcsf-footer .wcsf-brand { max-width: 260px; }
  #wcsf-footer .wcsf-footer-bottom { display: grid; justify-content: flex-start; }
  .wcsf-legal { margin: 15px 8px 55px; border-radius: 16px; }
  .wcsf-legal .wcsf-legal-shell { grid-template-columns: 1fr; }
  .wcsf-legal .wcsf-legal-aside { display: none; }
  .wcsf-cookie-banner { bottom: 8px; width: calc(100% - 16px); padding: 14px 15px; gap: 10px; }
  .wcsf-cookie-banner .wcsf-cookie-badge { flex-basis: 34px; height: 34px; font-size: 20px; border-radius: 9px; }
  .wcsf-cookie-banner .wcsf-cookie-message { flex-basis: calc(100% - 47px); }
  .wcsf-cookie-actions { width: 100%; padding: 0; display: grid; grid-template-columns: 1fr 1fr; }
  .wcsf-cookie-actions .wcsf-btn-primary { grid-column: span 2; grid-row: 1; }
  .wcsf-cookie-dialog .wcsf-dialog-head { padding: 25px 21px; }
  .wcsf-cookie-dialog .wcsf-dialog-body { padding: 0 21px; }
  .wcsf-cookie-dialog .wcsf-dialog-bottom { padding: 17px 21px 23px; display: grid; grid-template-columns: 1fr 1fr; }
  .wcsf-cookie-dialog .wcsf-dialog-bottom .wcsf-btn-primary { grid-column: 1/-1; grid-row: 1; }
}
@media(max-width:400px) {
  #wcsf-footer .wcsf-footer-grid { gap: 26px 12px; }
  #wcsf-footer .wcsf-footer-col li { font-size: 11.8px; }
  #wcsf-footer .wcsf-footer-col h3 { font-size: 13px; }
  .wcsf-cookie-dialog .wcsf-cookie-category { align-items: flex-start; flex-wrap: wrap; }
  .wcsf-cookie-dialog .wcsf-cookie-category .wcsf-switch { margin: 0 0 0 auto; }
}
@media(prefers-reduced-motion:reduce) {
  .wcsf-footer *, .wcsf-cookie-banner *, .wcsf-cookie-overlay * { transition: none !important; }
}
