/*
Theme Name: DruFlow GeneratePress Child
Template: generatepress
Version: 1.2.0
Text Domain: druflow
Update URI: https://druflow.eu/updates/generatepress-druflow/
*/

:root {
  --df-navy: #10264b;
  --df-ink: #14213d;
  --df-violet: #4d08b7;
  --df-blue: #1268df;
  --df-cyan: #08b9c6;
  --df-aqua: #2bc5bc;
  --df-paper: #f5f8fd;
  --df-muted: #64748b;
  --df-line: #dce6f3;
}

html { scroll-behavior: smooth; }
body { color: var(--df-ink); background: #fff; }
.site.grid-container { max-width: none; }
.site-content { padding: 0; }
.content-area, .site-main { width: 100%; margin: 0; }
.inside-article { padding: 0 !important; }
.entry-header { display: none; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 9999;
  background: rgba(255,255,255,.96);
  box-shadow: 0 1px 0 rgba(16,38,75,.08), 0 10px 30px rgba(16,38,75,.06);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.admin-bar .site-header { top: 32px; }
.main-navigation { box-shadow: none; }
.site-logo img { width: 210px; height: auto; }
.site-branding { display: none; }
.main-navigation .main-nav ul li a { color: var(--df-navy); font-weight: 700; }
.main-navigation .main-nav ul li.df-menu-buy a { margin-left:12px; padding-inline:24px; color:#fff; border-radius:10px; background:linear-gradient(110deg,var(--df-violet),var(--df-cyan)); box-shadow:0 10px 24px rgba(18,104,223,.18); }

.df-home *, .df-home *::before, .df-home *::after { box-sizing: border-box; }
.df-home { overflow: hidden; font-size: 18px; line-height: 1.65; }
.df-wrap { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.df-section { padding: 96px 0; }
.df-section--soft { background: var(--df-paper); }
.df-section--dark { color: #fff; background: var(--df-navy); }
.df-kicker { display: inline-flex; gap: 8px; align-items: center; margin: 0 0 18px; color: var(--df-violet); font-weight: 800; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; }
.df-kicker::before { content: ''; width: 28px; height: 3px; border-radius: 8px; background: linear-gradient(90deg,var(--df-violet),var(--df-cyan)); }
.df-section h2 { max-width: 760px; margin: 0 0 20px; color: var(--df-navy); font-size: clamp(34px,5vw,56px); line-height: 1.08; letter-spacing: -.045em; }
.df-section--dark h2 { color: #fff; }
.df-lead { max-width: 720px; margin: 0 0 46px; color: var(--df-muted); font-size: 21px; }
.df-section--dark .df-lead { color: #cbd9ed; }

.df-hero { position: relative; min-height: 760px; display: grid; align-items: center; padding: 100px 0 110px; background: radial-gradient(circle at 82% 20%,rgba(8,185,198,.22),transparent 28%), radial-gradient(circle at 12% 10%,rgba(77,8,183,.16),transparent 30%), linear-gradient(140deg,#f8fbff 0%,#eef5ff 58%,#f4ffff 100%); }
.df-hero::after { content:''; position:absolute; inset:auto -8% -180px auto; width:480px; height:480px; border:70px solid rgba(8,185,198,.08); border-radius:50%; }
.df-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns: 1.05fr .95fr; gap:72px; align-items:center; }
.df-hero h1 { margin:0 0 24px; color:var(--df-navy); font-size:clamp(48px,6vw,78px); line-height:.98; letter-spacing:-.055em; }
.df-gradient-text { color:transparent; background:linear-gradient(100deg,var(--df-violet),var(--df-blue),var(--df-cyan)); -webkit-background-clip:text; background-clip:text; }
.df-hero-copy > p { max-width:650px; margin:0 0 32px; color:#465a78; font-size:22px; }
.df-actions { display:flex; flex-wrap:wrap; gap:14px; }
.df-btn { display:inline-flex; justify-content:center; align-items:center; min-height:54px; padding:14px 24px; border-radius:12px; font-weight:800; text-decoration:none; transition:.2s ease; }
.df-btn:hover { transform:translateY(-2px); }
.df-btn--primary { color:#fff !important; background:linear-gradient(110deg,var(--df-violet),var(--df-blue),var(--df-cyan)); box-shadow:0 14px 30px rgba(18,104,223,.22); }
.df-btn--buy { color:var(--df-violet) !important; border:1px solid rgba(77,8,183,.24); background:#fff; box-shadow:0 10px 24px rgba(77,8,183,.1); }
.df-btn--ghost { color:var(--df-navy) !important; border:1px solid #c9d8eb; background:#fff; }
.df-trust { display:flex; flex-wrap:wrap; gap:20px; margin-top:32px; color:#5d708d; font-size:15px; font-weight:700; }
.df-trust span::before { content:'✓'; margin-right:7px; color:var(--df-cyan); }

.df-dashboard { position:relative; padding:0; overflow:hidden; aspect-ratio:1.89; border:1px solid rgba(255,255,255,.9); border-radius:28px; background:#fff url('/wp-content/plugins/druflow/assets/portal-preview.png') center calc(-3.4vw) / 100% auto no-repeat; box-shadow:0 35px 80px rgba(16,38,75,.18); transform:rotate(.35deg); }
.df-dashboard > * { display:none !important; }
.df-dashboard::after { content:'Dejanski pogled DruFlow portala'; position:absolute; right:18px; bottom:16px; padding:7px 11px; border-radius:999px; color:#fff; background:rgba(16,38,75,.86); font-size:12px; font-weight:800; letter-spacing:.02em; }
.df-dashbar { display:flex; align-items:center; gap:7px; height:32px; padding:0 4px; }
.df-dashbar i { width:9px; height:9px; border-radius:50%; background:#cbd5e1; }
.df-dashbar i:first-child { background:#a77bf2; }.df-dashbar i:nth-child(2){background:#5ca9f6}.df-dashbar i:last-child{background:#22c7bd}
.df-dashbody { display:grid; grid-template-columns:78px 1fr; min-height:420px; overflow:hidden; border-radius:18px; background:#f6f9fe; }
.df-dashnav { padding:24px 16px; background:var(--df-navy); }
.df-dashnav b,.df-dashnav span { display:block; height:9px; margin-bottom:18px; border-radius:6px; background:rgba(255,255,255,.24); }
.df-dashnav b { width:44px; height:12px; margin-bottom:36px; background:linear-gradient(90deg,#7d3deb,#18bdc7); }
.df-dashmain { padding:28px; }
.df-dashtitle { width:52%; height:18px; margin-bottom:26px; border-radius:8px; background:var(--df-navy); }
.df-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.df-stat { padding:16px; border:1px solid var(--df-line); border-radius:14px; background:#fff; }
.df-stat strong { display:block; color:var(--df-navy); font-size:25px; }.df-stat small{color:var(--df-muted)}
.df-chart { position:relative; height:145px; margin:16px 0; overflow:hidden; border:1px solid var(--df-line); border-radius:14px; background:repeating-linear-gradient(0deg,#fff,#fff 28px,#eef3fa 29px); }
.df-chart::after { content:''; position:absolute; inset:25px 18px 25px; background:linear-gradient(165deg,transparent 0 27%,rgba(18,104,223,.7) 28% 31%,transparent 32% 45%,rgba(8,185,198,.8) 46% 50%,transparent 51%); }
.df-list { display:grid; gap:9px; }.df-list span{height:28px;border-radius:8px;background:#e7edf6}.df-list span:nth-child(2){width:88%}.df-list span:nth-child(3){width:72%}

.df-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.df-card { height:100%; padding:32px; border:1px solid var(--df-line); border-radius:20px; background:#fff; box-shadow:0 16px 38px rgba(16,38,75,.06); }
.df-icon { width:52px; height:52px; display:grid; place-items:center; margin-bottom:22px; border-radius:15px; color:#fff; font-size:24px; background:linear-gradient(135deg,var(--df-violet),var(--df-cyan)); }
.df-card h3 { margin:0 0 10px; color:var(--df-navy); font-size:23px; }.df-card p{margin:0;color:var(--df-muted)}
.df-problem { border-top:4px solid transparent; border-image:linear-gradient(90deg,var(--df-violet),var(--df-cyan)) 1; }

.df-feature-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start; }
.df-feature-list { display:grid; gap:16px; }
.df-feature { display:grid; grid-template-columns:44px 1fr; gap:16px; padding:21px; border:1px solid var(--df-line); border-radius:16px; background:#fff; }
.df-feature b { width:44px; height:44px; display:grid; place-items:center; border-radius:12px; color:var(--df-violet); background:#f0eaff; }.df-feature h3{margin:0 0 4px;color:var(--df-navy);font-size:20px}.df-feature p{margin:0;color:var(--df-muted);font-size:16px}
.df-finance-box { margin-top:48px; padding:42px; border:1px solid rgba(8,185,198,.34); border-radius:28px; color:#fff; background:radial-gradient(circle at 100% 0,rgba(8,185,198,.24),transparent 36%),linear-gradient(135deg,#10264b,#183d70); box-shadow:0 24px 60px rgba(16,38,75,.18); }
.df-finance-box .df-kicker { color:#50d7d1; }
.df-finance-box h2 { margin-bottom:12px; color:#fff; }
.df-finance-box > p { max-width:820px; color:#c8d7eb; font-size:18px; }
.df-finance-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:28px; }
.df-finance-feature { display:flex; gap:15px; padding:20px; border:1px solid rgba(255,255,255,.16); border-radius:16px; background:rgba(255,255,255,.08); }
.df-finance-feature b { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border-radius:12px; color:#10264b; background:#50d7d1; }
.df-finance-feature h3 { margin:0 0 5px; color:#fff; font-size:19px; }
.df-finance-feature p { margin:0; color:#c8d7eb; font-size:15px; }
.df-package-label { display:inline-flex; margin:0 0 18px 12px; padding:7px 12px; border-radius:999px; color:#4d08b7; background:#eee8ff; font-size:12px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.df-import-note { margin-top:25px; padding:16px 18px; border-left:4px solid #50d7d1; border-radius:0 12px 12px 0; color:#d7e7f5; background:rgba(255,255,255,.08); }
.df-quote { position:sticky; top:120px; padding:46px; border-radius:28px; color:#fff; background:linear-gradient(145deg,var(--df-navy),#193b70); box-shadow:0 30px 65px rgba(16,38,75,.18); }
.df-quote img { width:230px; height:auto; margin-bottom:34px; filter:brightness(0) invert(1); opacity:.95; }
.df-quote blockquote { margin:0 0 28px; font-size:29px; line-height:1.3; font-weight:750; letter-spacing:-.025em; }.df-quote p{margin:0;color:#bad0ec}

.df-steps { counter-reset:step; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:48px; }
.df-step { position:relative; padding:72px 26px 28px; border-radius:18px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.13); }
.df-step::before { counter-increment:step; content:'0' counter(step); position:absolute; top:22px; left:26px; color:#50d7d1; font-size:24px; font-weight:900; }.df-step h3{margin:0 0 8px;color:#fff;font-size:20px}.df-step p{margin:0;color:#bcd0e8;font-size:16px}

.df-audience { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }.df-audience .df-card{padding:38px}.df-audience ul{padding-left:20px;margin:18px 0 0;color:var(--df-muted)}
.df-section--shop { width:100%; background:linear-gradient(180deg,#fff,#f4f8ff); }
.df-section--shop .df-wrap { width:min(1180px,calc(100% - 40px)); max-width:none; }
.df-products { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px; align-items:stretch; margin-top:46px; }
.df-products:has(.df-product:only-child) { grid-template-columns:minmax(0,1fr); }
.df-product { position:relative; display:flex; flex-direction:column; min-width:0; padding:36px; border:1px solid var(--df-line); border-radius:24px; background:#fff; box-shadow:0 18px 48px rgba(16,38,75,.08); }
.df-product:only-child { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); column-gap:56px; align-items:center; padding:48px 56px; }
.df-product:only-child h3,.df-product:only-child .df-product-price,.df-product:only-child .df-product-copy { grid-column:1; }
.df-product:only-child .df-btn { grid-column:2; grid-row:1 / span 3; min-height:64px; font-size:19px; }
.df-product--featured { border:2px solid var(--df-blue); box-shadow:0 24px 58px rgba(18,104,223,.15); transform:translateY(-8px); }
.df-product-badge { position:absolute; top:0; right:24px; padding:7px 13px; border-radius:0 0 10px 10px; color:#fff; background:linear-gradient(110deg,var(--df-violet),var(--df-blue)); font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.df-product-logo { display:flex; align-items:center; min-height:78px; margin:0 0 20px; padding:8px 4px; }
.df-product-logo img { display:block; width:auto; max-width:220px; max-height:68px; margin:0; object-fit:contain; object-position:left center; }
.df-product--featured .df-product-logo { padding-right:90px; }
.df-product h3 { margin:0 0 16px; padding-right:20px; color:var(--df-navy); font-size:26px; }
.df-product-price { min-height:48px; margin-bottom:20px; color:var(--df-violet); font-size:30px; line-height:1.2; font-weight:900; }
.df-product-price del { color:#94a3b8; font-size:18px; font-weight:600; }
.df-product-price ins { text-decoration:none; }
.df-product-copy { flex:1; margin-bottom:26px; color:var(--df-muted); font-size:16px; }
.df-product-copy p { margin:0 0 12px; }
.df-product .df-btn { width:100%; }
.df-shop-empty { padding:38px; border:1px solid var(--df-line); border-radius:22px; background:#fff; }
.df-shop-empty p { margin:0 0 24px; color:var(--df-muted); font-size:19px; }
.df-payment-note { display:flex; justify-content:center; align-items:center; gap:9px; margin-top:28px; color:#64748b; font-size:14px; font-weight:700; }
.df-shop-footnote { max-width:760px; margin:12px auto 0; color:#718096; text-align:center; font-size:14px; }

/* WooCommerce Blocks blagajna: notranji odmik od roba obeh kartic. */
.wp-block-woocommerce-checkout .wc-block-checkout__main {
  padding-top:28px;
  padding-bottom:32px;
  padding-left:30px;
}
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar {
  padding-top:28px;
  padding-bottom:32px;
  padding-right:30px;
}
.df-faq { max-width:860px; }.df-faq details{padding:22px 0;border-bottom:1px solid var(--df-line)}.df-faq summary{cursor:pointer;color:var(--df-navy);font-size:20px;font-weight:800}.df-faq details p{margin:14px 0 0;color:var(--df-muted)}
.df-cta { padding:72px; border-radius:30px; text-align:center; color:#fff; background:radial-gradient(circle at 80% 0,rgba(43,197,188,.35),transparent 32%),linear-gradient(120deg,var(--df-violet),var(--df-navy) 60%,#0a7d9a); box-shadow:0 30px 70px rgba(16,38,75,.22); }.df-cta h2{max-width:820px;margin:0 auto 18px;color:#fff}.df-cta p{max-width:690px;margin:0 auto 30px;color:#dbeafe;font-size:20px}.df-cta .df-btn--ghost{border-color:#fff}
.site-footer { display:none; }
.df-footer { padding:48px 0; color:#c8d7eb; background:#0b1d38; }
.df-footer-inner { display:grid; grid-template-columns:240px 1fr auto; gap:40px; align-items:center; }
.df-footer img { width:210px; filter:brightness(0) invert(1); opacity:.94; }
.df-footer p { margin:0; font-size:15px; }
.df-footer nav { display:flex; flex-wrap:wrap; gap:22px; }.df-footer a{color:#fff;text-decoration:none;font-weight:700;font-size:15px}.df-footer a:hover{color:#50d7d1}

@media (max-width: 960px) {
  .df-hero{min-height:auto}.df-hero-grid,.df-feature-grid{grid-template-columns:1fr}.df-dashboard{max-width:650px}.df-grid-3{grid-template-columns:repeat(2,1fr)}.df-products{grid-template-columns:1fr}.df-product:only-child{display:flex;padding:36px}.df-product--featured{transform:none}.df-steps{grid-template-columns:repeat(2,1fr)}.df-quote{position:static}
  .df-product-logo img{max-width:200px}
}
@media (max-width: 760px) {
  .df-finance-box { padding:28px 20px; }
  .df-finance-grid { grid-template-columns:1fr; }
  .df-package-label { margin-left:0; }
}
@media (max-width: 640px) {
  .admin-bar .site-header { top: 46px; }
  .df-home{font-size:16px}.df-wrap,.df-section--shop .df-wrap{width:min(100% - 28px,1180px)}.df-section{padding:68px 0}.df-hero{padding:70px 0}.df-hero-grid{gap:46px}.df-hero h1{font-size:46px}.df-hero-copy>p{font-size:19px}.df-grid-3,.df-audience,.df-steps{grid-template-columns:1fr}.df-card{padding:26px}.df-dashbody{grid-template-columns:55px 1fr}.df-dashmain{padding:18px}.df-stats{grid-template-columns:1fr}.df-stat:nth-child(n+2){display:none}.df-cta{padding:48px 24px}.df-actions .df-btn{width:100%}.df-footer-inner{grid-template-columns:1fr;text-align:center}.df-footer img{margin:auto}.df-footer nav{justify-content:center}
  .wp-block-woocommerce-checkout .wc-block-checkout__main,
  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar{padding:20px}
}
