/* EuroSOR — Single 3PL Guide v2.1 — Germany Editorial Layout + Popup */
:root{--tpl-navy:#1F2A44;--tpl-orange:#FF7A1A;--tpl-bg:#F5F6F8;--tpl-text:#2C2F36;--tpl-border:#E6E8EC;--tpl-green:#22A06B;--tpl-white:#ffffff;--tpl-mid:#8C92A0;}
.tpl-3pl-wrap{font-family:'DM Sans',system-ui,sans-serif;font-size:16px;line-height:1.72;color:var(--tpl-text);background:var(--tpl-white);-webkit-font-smoothing:antialiased;}
.tpl-3pl-wrap *,.tpl-3pl-wrap *::before,.tpl-3pl-wrap *::after{box-sizing:border-box;margin:0;padding:0;}
.tpl-wrap{max-width:780px;margin:0 auto;padding:0 28px;}
.tpl-3pl-wrap h1{font-family:'Sora','DM Sans',sans-serif;font-size:clamp(24px,3.8vw,42px);font-weight:800;color:var(--tpl-white);line-height:1.15;letter-spacing:-.025em;}
.tpl-3pl-wrap h2{font-family:'Sora','DM Sans',sans-serif;font-size:clamp(17px,2.4vw,22px);font-weight:700;color:var(--tpl-navy);line-height:1.25;margin:64px 0 12px;letter-spacing:-.01em;}
.tpl-3pl-wrap h3{font-family:'Sora','DM Sans',sans-serif;font-size:15px;font-weight:700;color:var(--tpl-navy);text-transform:uppercase;letter-spacing:.06em;margin:32px 0 8px;}
.tpl-3pl-wrap p{margin-bottom:14px;font-size:15.5px;}
.tpl-3pl-wrap p:last-child{margin-bottom:0;}
.tpl-3pl-wrap a{color:var(--tpl-orange);text-decoration:none;border-bottom:1px solid rgba(255,122,26,.3);}
.tpl-3pl-wrap a:hover{border-bottom-color:var(--tpl-orange);}
.tpl-3pl-wrap strong{font-weight:600;color:var(--tpl-navy);}
.tpl-3pl-wrap ul{margin:10px 0 14px;padding:0;list-style:none;}
.tpl-3pl-wrap ul li{padding:5px 0 5px 16px;font-size:15.5px;position:relative;border-bottom:1px solid var(--tpl-border);}
.tpl-3pl-wrap ul li:first-child{border-top:1px solid var(--tpl-border);}
.tpl-3pl-wrap ul li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:var(--tpl-orange);}

/* Hero */
.tpl-hero{background:var(--tpl-navy);padding:72px 28px 60px;border-bottom:3px solid var(--tpl-orange);position:relative;overflow:hidden;}
.tpl-hero::after{content:'';position:absolute;top:0;right:0;bottom:0;width:45%;background:linear-gradient(135deg,transparent,rgba(255,122,26,.04));pointer-events:none;}
.tpl-hero-inner{position:relative;max-width:780px;margin:0 auto;}
.tpl-hero-label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tpl-orange);margin-bottom:22px;display:flex;align-items:center;gap:10px;}
.tpl-hero-label::before{content:'';display:block;width:20px;height:1.5px;background:var(--tpl-orange);}
.tpl-hero h1{max-width:640px;margin-bottom:18px;}
.tpl-hero-lead{font-size:16px;line-height:1.65;color:rgba(255,255,255,.68);max-width:580px;margin-bottom:36px;}
.tpl-hero-metrics{display:flex;gap:0;margin-top:44px;border-top:1px solid rgba(255,255,255,.08);padding-top:36px;flex-wrap:wrap;}
.tpl-hm{flex:1;min-width:100px;padding-right:28px;border-right:1px solid rgba(255,255,255,.08);margin-right:28px;}
.tpl-hm:last-child{border-right:none;margin-right:0;}
.tpl-hm-val{font-family:'Sora','DM Sans',sans-serif;font-size:26px;font-weight:800;color:var(--tpl-white);letter-spacing:-.02em;line-height:1;margin-bottom:5px;}
.tpl-hm-val span{color:var(--tpl-orange);}
.tpl-hm-key{font-size:11px;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.07em;line-height:1.4;}
.tpl-btn-dark{display:inline-block;background:#0a0a0a;color:#fff!important;padding:14px 32px;border-radius:6px;text-decoration:none!important;font-weight:600;font-size:15px;font-family:'DM Sans',sans-serif;border-bottom:none!important;transition:background .15s;cursor:pointer;}
.tpl-btn-dark:hover{background:#222;}

/* Body */
.tpl-body-wrap{padding:0 0 96px;}
.tpl-section-rule{max-width:780px;margin:0 auto;height:1px;background:var(--tpl-border);}

/* Pull stat */
.tpl-pull-stat{margin:36px 0;padding:28px 0;border-top:2px solid var(--tpl-navy);border-bottom:1px solid var(--tpl-border);display:flex;align-items:baseline;gap:20px;}
.tpl-ps-num{font-family:'Sora','DM Sans',sans-serif;font-size:48px;font-weight:800;color:var(--tpl-navy);letter-spacing:-.03em;line-height:1;flex-shrink:0;}
.tpl-ps-text{font-size:14px;color:var(--tpl-mid);line-height:1.5;max-width:380px;}

/* Map */
.tpl-map-wrap{margin:36px 0;border:1px solid var(--tpl-border);border-radius:6px;background:var(--tpl-bg);overflow:hidden;}
.tpl-map-wrap svg{display:block;width:100%;height:auto;}
.tpl-map-caption{font-size:12px;color:var(--tpl-mid);padding:10px 16px 12px;border-top:1px solid var(--tpl-border);background:var(--tpl-white);}

/* Compliance table */
.tpl-c-table{margin:28px 0;width:100%;border-collapse:collapse;font-size:14.5px;}
.tpl-c-table thead th{font-family:'Sora','DM Sans',sans-serif;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--tpl-mid);padding:0 0 10px;text-align:left;border-bottom:2px solid var(--tpl-navy);}
.tpl-c-table thead th:last-child{text-align:right;}
.tpl-c-table tbody td{padding:14px 0;border-bottom:1px solid var(--tpl-border);vertical-align:top;line-height:1.5;}
.tpl-c-table tbody td:last-child{text-align:right;}
.tpl-c-table tbody tr:last-child td{border-bottom:none;}
.tpl-c-req{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:3px 8px;border-radius:2px;white-space:nowrap;}
.tpl-c-req-hard{background:#FDECEA;color:#9B1C1C;}
.tpl-c-req-pre{background:#FEF3E7;color:#92400E;}

/* Criteria grid */
.tpl-criteria-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--tpl-border);border:1px solid var(--tpl-border);border-radius:6px;overflow:hidden;margin:28px 0;}
.tpl-cg-cell{background:var(--tpl-white);padding:20px 22px;}
.tpl-cg-cell:nth-child(even){background:var(--tpl-bg);}
.tpl-cg-num{font-family:'Sora','DM Sans',sans-serif;font-size:11px;font-weight:700;color:var(--tpl-orange);letter-spacing:.06em;margin-bottom:5px;}
.tpl-cg-title{font-size:14px;font-weight:600;color:var(--tpl-navy);margin-bottom:5px;line-height:1.35;}
.tpl-cg-body{font-size:13px;color:var(--tpl-mid);line-height:1.5;}

/* Inline notes */
.tpl-inline-note{padding:16px 20px;border-left:3px solid var(--tpl-orange);background:#FFFAF6;border-radius:0 4px 4px 0;margin:24px 0;font-size:14.5px;line-height:1.6;}
.tpl-inline-note-g{border-left-color:var(--tpl-green);background:#F2FAF6;}

/* SOR diagram */
.tpl-sor-diagram{margin:32px 0;}
.tpl-sor-diagram svg{display:block;width:100%;height:auto;}

/* CTA block */
.tpl-cta-block{background:var(--tpl-navy);border-radius:6px;padding:44px 40px;margin:56px 0;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;}
.tpl-cta-eyebrow{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tpl-orange);margin-bottom:10px;}
.tpl-cta-block-text h3{font-family:'Sora','DM Sans',sans-serif;font-size:20px;font-weight:700;color:var(--tpl-white);text-transform:none;letter-spacing:-.01em;margin-bottom:8px;}
.tpl-cta-block-text p{color:rgba(255,255,255,.52);font-size:14px;line-height:1.6;margin:0;}
.tpl-cta-right{flex-shrink:0;}
.tpl-cta-block a{border-bottom:none;}

/* FAQ */
.tpl-faq{margin:20px 0;}
.tpl-faq-row{border-bottom:1px solid var(--tpl-border);padding:22px 0;}
.tpl-faq-row:first-child{border-top:1px solid var(--tpl-border);}
.tpl-faq-q{font-family:'Sora','DM Sans',sans-serif;font-size:15px;font-weight:700;color:var(--tpl-navy);margin-bottom:8px;line-height:1.35;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.tpl-faq-q::after{content:'+';font-size:18px;font-weight:400;color:var(--tpl-mid);flex-shrink:0;transition:transform .2s;}
.tpl-faq-row.open .tpl-faq-q::after{content:'−';}
.tpl-faq-a{font-size:15px;line-height:1.65;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .2s;}
.tpl-faq-row.open .tpl-faq-a{max-height:600px;padding-top:4px;}

/* Footer */
.tpl-page-foot{margin-top:72px;padding-top:20px;border-top:1px solid var(--tpl-border);font-size:12px;color:#b0b5be;line-height:1.65;}
.tpl-foot-flags{margin-top:8px;font-size:11px;color:#c8cdd5;}

/* Responsive */
@media(max-width:620px){
    .tpl-hero-metrics{gap:20px;}.tpl-hm{border-right:none;margin-right:0;padding-right:0;min-width:45%;}
    .tpl-cta-block{grid-template-columns:1fr;padding:28px 24px;}.tpl-criteria-grid{grid-template-columns:1fr;}
    .tpl-pull-stat{flex-direction:column;gap:8px;}.tpl-ps-num{font-size:36px;}
    .tpl-c-table thead th:last-child,.tpl-c-table tbody td:last-child{text-align:left;}
}

/* ═══ POPUP MODAL ═══ */
.tpl-popup-overlay{position:fixed;inset:0;z-index:999999;background:rgba(15,23,42,.65);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;}
.tpl-popup-overlay.active{opacity:1;visibility:visible;}
.tpl-popup-modal{background:var(--tpl-white);border-radius:12px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 25px 60px rgba(0,0,0,.25);transform:translateY(16px) scale(.97);transition:transform .25s;}
.tpl-popup-overlay.active .tpl-popup-modal{transform:translateY(0) scale(1);}
.tpl-popup-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;border:none;background:rgba(255,255,255,.1);color:rgba(255,255,255,.6);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;z-index:2;}
.tpl-popup-close:hover{background:rgba(255,255,255,.2);color:#fff;}
.tpl-popup-header{background:var(--tpl-navy);border-radius:12px 12px 0 0;padding:36px 36px 28px;border-bottom:3px solid var(--tpl-orange);}
.tpl-popup-logo{margin-bottom:16px;}
.tpl-popup-title{font-family:'Sora','DM Sans',sans-serif;font-size:22px;font-weight:700;color:var(--tpl-white)!important;text-transform:none!important;letter-spacing:-.01em;margin:0 0 8px!important;}
.tpl-popup-desc{font-size:14px;line-height:1.55;color:rgba(255,255,255,.55)!important;margin:0!important;}
.tpl-popup-body{padding:32px 36px 36px;}
.tpl-popup-field{margin-bottom:18px;}
.tpl-popup-field label{display:block;font-size:13px;font-weight:600;color:var(--tpl-navy);margin-bottom:6px;}
.tpl-popup-field label span{color:#EF4444;}
.tpl-popup-field input,.tpl-popup-field textarea{width:100%;padding:11px 14px;border:1.5px solid var(--tpl-border);border-radius:6px;font-family:'DM Sans',sans-serif;font-size:14.5px;color:var(--tpl-text);background:var(--tpl-white);outline:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;}
.tpl-popup-field input::placeholder,.tpl-popup-field textarea::placeholder{color:#B0B8C4;}
.tpl-popup-field input:focus,.tpl-popup-field textarea:focus{border-color:var(--tpl-navy);box-shadow:0 0 0 3px rgba(31,42,68,.08);}
.tpl-popup-field textarea{resize:vertical;min-height:72px;}
.tpl-popup-field-error input,.tpl-popup-field-error textarea{border-color:#EF4444;box-shadow:0 0 0 3px rgba(239,68,68,.08);}
.tpl-popup-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:480px){.tpl-popup-row{grid-template-columns:1fr;}}
.tpl-popup-submit{width:100%;padding:14px 24px;background:#0a0a0a;color:#fff;border:none;border-radius:6px;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s;margin-top:24px;}
.tpl-popup-submit:hover{background:#222;}
.tpl-popup-submit:disabled{opacity:.6;cursor:not-allowed;}
.tpl-popup-privacy{font-size:11.5px!important;color:var(--tpl-mid)!important;margin-top:14px!important;text-align:center;line-height:1.5;}
.tpl-popup-error{margin-top:12px;}
.tpl-popup-error-msg{font-size:13px!important;color:#EF4444!important;background:#FEF2F2;padding:10px 14px;border-radius:6px;border-left:3px solid #EF4444;margin:0!important;}

/* Success animation */
.tpl-popup-success{display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px 36px;min-height:280px;opacity:0;transform:scale(.9);}
.tpl-popup-success.tpl-popup-success-animate{animation:tplFadeIn .5s ease forwards;}
@keyframes tplFadeIn{0%{opacity:0;transform:scale(.9);}100%{opacity:1;transform:scale(1);}}
.tpl-popup-success-circle{width:72px;height:72px;margin:0 auto 24px;position:relative;}
.tpl-popup-checkmark{width:72px;height:72px;border-radius:50%;display:block;stroke-width:2;stroke:var(--tpl-green);stroke-miterlimit:10;}
.tpl-popup-checkmark-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke:var(--tpl-green);fill:none;animation:tplStroke .6s cubic-bezier(.65,0,.45,1) forwards;}
.tpl-popup-checkmark-check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;animation:tplStroke .3s cubic-bezier(.65,0,.45,1) .45s forwards;}
@keyframes tplStroke{100%{stroke-dashoffset:0;}}
.tpl-popup-success h3{font-family:'Sora','DM Sans',sans-serif;font-size:22px;font-weight:700;color:var(--tpl-navy);text-transform:none;letter-spacing:-.01em;margin:0 0 10px;animation:tplSlide .4s ease .3s both;}
.tpl-popup-success p{font-size:14px!important;color:var(--tpl-mid)!important;line-height:1.6;max-width:360px;margin:0 auto 28px!important;animation:tplSlide .4s ease .45s both;}
@keyframes tplSlide{0%{opacity:0;transform:translateY(10px);}100%{opacity:1;transform:translateY(0);}}
.tpl-popup-refresh-bar{width:200px;height:3px;background:var(--tpl-border);border-radius:3px;overflow:hidden;margin:0 auto 10px;animation:tplSlide .3s ease .6s both;}
.tpl-popup-refresh-fill{width:0;height:100%;background:var(--tpl-green);border-radius:3px;}
.tpl-popup-refresh-fill.tpl-popup-refresh-active{animation:tplBar 4s linear forwards;}
@keyframes tplBar{0%{width:0;}100%{width:100%;}}
.tpl-popup-refresh-text{font-size:11px;color:#b0b8c4;animation:tplSlide .3s ease .7s both;}

@media(max-width:560px){.tpl-popup-overlay{padding:12px;}.tpl-popup-header{padding:28px 24px 22px;}.tpl-popup-body{padding:24px 24px 28px;}.tpl-popup-title{font-size:19px;}}

/* ═══ GRAVITY FORMS — Popup Overrides (scoped to .tpl-popup-body) ═══ */
.tpl-popup-body .gform_heading{display:none!important;}
.tpl-popup-body .gform_wrapper{margin:0!important;padding:0!important;max-width:100%!important;font-family:'DM Sans',sans-serif!important;}
.tpl-popup-body .gform_body{padding:0!important;}
.tpl-popup-body .gform_fields{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px 14px!important;padding:0!important;margin:0!important;}
.tpl-popup-body .gfield--width-full{grid-column:1/-1!important;}
.tpl-popup-body .gfield--width-half{grid-column:span 1!important;}
.tpl-popup-body .gfield{margin:0!important;padding:0!important;}
.tpl-popup-body .gfield_label,.tpl-popup-body .gform-field-label{font-family:'DM Sans',sans-serif!important;font-size:13px!important;font-weight:600!important;color:var(--tpl-navy)!important;margin-bottom:6px!important;display:block!important;line-height:1.3!important;padding:0!important;}
.tpl-popup-body .gfield_required_text{font-size:11px!important;font-weight:500!important;color:#EF4444!important;}
.tpl-popup-body .gform_wrapper input[type="text"],.tpl-popup-body .gform_wrapper input[type="email"],.tpl-popup-body .gform_wrapper input[type="url"],.tpl-popup-body .gform_wrapper input[type="tel"],.tpl-popup-body .gform_wrapper input[type="number"],.tpl-popup-body .gform_wrapper textarea,.tpl-popup-body .gform_wrapper select{width:100%!important;padding:11px 14px!important;border:1.5px solid var(--tpl-border)!important;border-radius:6px!important;font-family:'DM Sans',sans-serif!important;font-size:14px!important;color:var(--tpl-text)!important;background:var(--tpl-white)!important;outline:none!important;box-shadow:none!important;transition:border-color .15s,box-shadow .15s!important;-webkit-appearance:none!important;appearance:none!important;height:auto!important;min-height:44px!important;line-height:1.4!important;box-sizing:border-box!important;}
.tpl-popup-body .gform_wrapper select{background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.293 0.293a1 1 0 011.414 0L5 3.586 8.293.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' fill='%238C92A0'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:10px!important;padding-right:36px!important;}
.tpl-popup-body .gform_wrapper input:focus,.tpl-popup-body .gform_wrapper textarea:focus,.tpl-popup-body .gform_wrapper select:focus{border-color:var(--tpl-navy)!important;box-shadow:0 0 0 3px rgba(31,42,68,.08)!important;outline:none!important;}
.tpl-popup-body .gform_wrapper input::placeholder,.tpl-popup-body .gform_wrapper textarea::placeholder{color:#B0B8C4!important;}
.tpl-popup-body .ginput_container{margin:0!important;padding:0!important;}
.tpl-popup-body .gfield_error input,.tpl-popup-body .gfield_error textarea,.tpl-popup-body .gfield_error select{border-color:#EF4444!important;}
.tpl-popup-body .validation_message{font-size:12px!important;color:#EF4444!important;margin-top:4px!important;padding:0!important;background:none!important;border:none!important;}
.tpl-popup-body .gform_validation_errors{border:none!important;background:#FEF2F2!important;border-left:3px solid #EF4444!important;border-radius:0 6px 6px 0!important;padding:12px 16px!important;margin:0 0 16px!important;}
.tpl-popup-body .gform_validation_errors h2{font-size:13px!important;color:#EF4444!important;margin:0!important;}
.tpl-popup-body .gform_validation_container{display:none!important;}
.tpl-popup-body .gform_footer,.tpl-popup-body .gform_page_footer{margin:24px 0 0!important;padding:0!important;border:none!important;}
.tpl-popup-body .gform_button,.tpl-popup-body .gform_footer input[type="submit"]{width:100%!important;padding:14px 24px!important;background:#0a0a0a!important;color:#fff!important;border:none!important;border-radius:6px!important;font-family:'DM Sans',sans-serif!important;font-size:15px!important;font-weight:600!important;cursor:pointer!important;transition:background .15s!important;-webkit-appearance:none!important;appearance:none!important;text-transform:none!important;line-height:1.4!important;}
.tpl-popup-body .gform_button:hover,.tpl-popup-body .gform_footer input[type="submit"]:hover{background:#222!important;}
.tpl-popup-body .gfield_description{font-size:12px!important;color:var(--tpl-mid)!important;margin-top:4px!important;}
.tpl-popup-body .gform_wrapper.gform-theme{--gf-ctrl-border-color:#E6E8EC!important;--gf-color-primary:#1F2A44!important;--gf-color-in-ctrl-primary:#1F2A44!important;--gf-radius:6px!important;}
@media(max-width:480px){.tpl-popup-body .gform_fields{grid-template-columns:1fr!important;}.tpl-popup-body .gfield--width-half{grid-column:1/-1!important;}}
