*, *::before, *::after { box-sizing: border-box; }
:root {
  --bg0: #0B0B0E; --bg1: #16161A; --bg2: #1A1A1E;
  --accent: #38BDF8; --accent2: #0EA5E9;
  --indigo: #6366F1; --red: #E85A4F; --amber: #FFB547;
  --sky: #BAE6FD; --sky-dim: #7DD3FC;
  --text0: #FAFAF9; --text1: #8E8E93; --text2: #6B6B70;
  --border: #2A2A2E; --border2: #3A3A40;
}
html { scroll-behavior: smooth; overflow-x: clip; }
body { margin:0; padding-top:72px; background:var(--bg0); color:var(--text0); font-family:'Plus Jakarta Sans','Google Sans',Inter,system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
.page-wrap { max-width:1400px; margin:0 auto; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }

/* HEADER */
.header { display:flex; align-items:center; padding:0 max(80px, calc((100vw - 1240px) / 2)); height:72px; background:var(--bg0); border-bottom:1px solid var(--border); position:fixed; top:0; left:0; right:0; z-index:100; }
/* WP admin bar: 32px desktop, 46px mobile (≤782px) */
body.admin-bar { padding-top:104px; }
body.admin-bar .header { top:32px; }
body.admin-bar .mobile-nav { top:calc(32px + 72px); }
@media (max-width:782px) {
  body.admin-bar { padding-top:118px; }
  body.admin-bar .header { top:46px; }
  body.admin-bar .mobile-nav { top:calc(46px + 72px); }
}
.header__logo { font-size:24px; font-weight:600; flex-shrink:0; display:flex; align-items:center; gap:8px; }
.header__nav { display:flex; align-items:center; flex:1; justify-content:center; }
.header__nav-list { display:flex; align-items:center; gap:32px; list-style:none; margin:0; padding:0; }
.header__nav-list li { list-style:none; }
.header__nav a { font-size:14px; font-weight:500; color:var(--text0); transition:color .2s; }
.header__nav a:hover { opacity:.7; }
.header__nav .current-menu-item > a,
.header__nav .is-active > a { color:var(--accent); opacity:1; }
.header__right { display:flex; align-items:center; gap:20px; flex-shrink:0; }
.header__phone { font-size:14px; font-weight:500; }
.btn-primary { display:inline-flex; align-items:center; justify-content:center; background:var(--accent); color:#0B0B0E; border:none; border-radius:8px; padding:10px 24px; font-size:14px; font-weight:600; cursor:pointer; font-family:inherit; transition:opacity .2s; }
.btn-primary:hover { opacity:.88; }
.btn-outline { display:inline-flex; align-items:center; justify-content:center; text-align:center; background:transparent; color:var(--text0); border:1px solid var(--border2); border-radius:10px; padding:16px 32px; font-size:16px; font-weight:500; cursor:pointer; font-family:inherit; transition:opacity .2s; }
.btn-outline:hover { opacity:.7; }

/* HERO */
.hero { display:flex; align-items:center; gap:60px; padding:80px; background:var(--bg0); }
.hero__left { display:flex; flex-direction:column; gap:32px; flex:1; }
.hero__headline { font-size:48px; font-weight:600; line-height:1.15; color:var(--text0); margin:0; }
.hero__sub { font-size:18px; color:var(--text1); line-height:1.6; margin:0; }
.hero__rating { display:flex; align-items:center; gap:10px; }
.hero__stars { color:#FBBF24; font-size:20px; letter-spacing:2px; line-height:1; }
.hero__rating-label { font-size:14px; font-weight:600; color:var(--text1); }
.hero__btns { display:flex; align-items:center; gap:16px; }
.hero__btn-cta { display:inline-flex; align-items:center; justify-content:center; text-align:center; background:var(--accent); color:#0B0B0E; border:none; border-radius:10px; padding:16px 32px; font-size:16px; font-weight:600; cursor:pointer; font-family:inherit; box-shadow:0 8px 24px rgba(56,189,248,.2); transition:opacity .2s; }
.hero__btn-cta:hover { opacity:.88; }
.hero__badges { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.hero__badge { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; }
.hero__image { flex:1; height:460px; border-radius:20px; flex-shrink:0; object-fit:cover; object-position:center; }

/* SECTION COMMON */
.sec-header { display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center; margin-bottom:48px; }
.sec-title { font-size:36px; font-weight:600; color:var(--text0); margin:0; }
.sec-sub { font-size:18px; color:var(--text1); line-height:1.5; max-width:700px; text-align:center; margin:0; }
.badge { display:inline-flex; align-items:center; border-radius:100px; padding:6px 16px; font-size:12px; font-weight:600; letter-spacing:2px; }
.badge--accent { background:rgba(56,189,248,.122); color:var(--accent); }
.badge--indigo { background:rgba(125,211,252,.094); color:var(--sky-dim); }
.badge--red { background:rgba(232,90,79,.125); color:#E87D6F; }

/* BENEFITS */
.benefits { padding:80px; background:var(--bg0); }
.benefits-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.benefit-card { background:var(--bg1); border:1px solid var(--border); border-radius:16px; padding:28px; display:flex; flex-direction:column; gap:16px; }
.benefit-card__title { font-size:18px; font-weight:600; margin:0; }
.benefit-card__desc { font-size:14px; color:var(--text1); line-height:1.5; margin:0; }

/* PRODUCTS */
.products { padding:80px; background:var(--bg0); }
.products-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.product-card { background:var(--bg1); border:1px solid var(--border); border-radius:20px; overflow:hidden; display:flex; flex-direction:column; }
.product-card__img { aspect-ratio:16/9; width:100%; background-size:cover; background-position:center; }
.product-card__img-tag { width:100%; aspect-ratio:16/9; object-fit:cover; object-position:center; display:block; }
.product-card__body { padding:24px; display:flex; flex-direction:column; gap:16px; flex:1; }
.product-card__title { font-size:20px; font-weight:700; margin:0; }
.product-card__desc { font-size:14px; color:var(--text1); line-height:1.5; margin:0; margin-bottom:auto; }
.product-card__price { font-size:24px; font-weight:700; color:var(--sky); }
.product-card__btn { display:flex; align-items:center; justify-content:center; margin-top:auto; background:var(--accent); color:#0B0B0E; border:none; border-radius:10px; padding:14px 28px; font-size:15px; font-weight:600; cursor:pointer; font-family:inherit; width:100%; transition:opacity .2s; }
.product-card__btn:hover { opacity:.88; }

/* SHIPPING */
.shipping { padding:80px; background:var(--bg1); position:relative; isolation:isolate; }
.shipping-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.price-card { background:var(--bg0); border:1px solid var(--border); border-radius:16px; padding:32px; display:flex; flex-direction:column; gap:20px; font-family:Inter,sans-serif; }
.price-card--featured { border-color:var(--accent); border-width:2px; }
.price-card__header { display:flex; justify-content:space-between; align-items:center; }
.price-card__title { font-size:20px; font-weight:600; margin:0; }
.price-card__badge { background:var(--accent); color:#0B0B0E; border-radius:100px; padding:4px 10px; font-size:11px; font-weight:600; }
.price-card__price { font-size:48px; font-weight:700; color:var(--sky); margin:0; }
.price-card__desc { font-size:14px; color:var(--text1); margin:0; }
.price-card__bullets { display:flex; flex-direction:column; gap:8px; }
.price-card__bullet { font-size:14px; }
.price-card__btn { display:flex; align-items:center; justify-content:center; background:var(--accent); color:#0B0B0E; border:none; border-radius:10px; padding:14px 24px; font-size:16px; font-weight:600; cursor:pointer; font-family:Inter,sans-serif; width:100%; transition:opacity .2s; }
.price-card__btn:hover { opacity:.88; }
.shipping-info { text-align:center; margin-top:32px; font-size:14px; color:var(--text2); font-family:Inter,sans-serif; }

/* APPLICATIONS */
.applications { padding:80px; background:var(--bg1); position:relative; isolation:isolate; }
.app-rows { display:flex; flex-direction:column; gap:24px; }
.app-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.app-card { background:var(--bg0); border:1px solid var(--border); border-radius:16px; padding:32px; display:flex; flex-direction:column; gap:16px; }
.app-card__icon { width:56px; height:56px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.app-card__title { font-size:20px; font-weight:600; margin:0; }
.app-card__desc { font-size:14px; color:var(--text1); line-height:1.6; margin:0; }

/* DELIVERY */
.delivery { padding:80px; background:var(--bg0); }
.delivery-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.delivery-left { display:flex; flex-direction:column; gap:20px; }
.delivery-right { display:flex; flex-direction:column; gap:20px; }
.step-card { display:flex; align-items:flex-start; gap:20px; background:var(--bg1); border:1px solid var(--border); border-radius:16px; padding:24px; }
.step-card__icon { width:48px; height:48px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.step-card__title { font-size:18px; font-weight:600; margin:0 0 4px; }
.step-card__desc { font-size:14px; color:var(--text1); line-height:1.5; margin:0; }
.district-card { background:var(--bg1); border:1px solid var(--border); border-radius:16px; padding:32px; display:flex; flex-direction:column; gap:20px; }
.district-card__title { font-size:20px; font-weight:600; margin:0; }
.district-grid { display:flex; flex-direction:column; gap:8px; }
.district-row { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.district-tag { background:rgba(125,211,252,.063); border-radius:8px; padding:8px 12px; text-align:center; font-size:13px; font-weight:500; color:var(--sky-dim); }
.info-card { background:linear-gradient(180deg,var(--accent) 0%,var(--accent2) 100%); border-radius:16px; padding:32px; display:flex; flex-direction:column; gap:20px; }
.info-card__title { font-size:22px; font-weight:600; color:#fff; margin:0; }
.info-row { display:flex; align-items:center; gap:12px; }
.info-row__text { font-size:15px; font-weight:500; color:#fff; margin:0; }
.pickup-card { background:var(--bg2); border:1px solid var(--border); border-radius:16px; padding:32px; display:flex; flex-direction:column; gap:20px; }
.pickup-card__title { font-size:20px; font-weight:600; margin:0; }
.pickup-row { display:flex; align-items:center; gap:12px; }
.pickup-row__text { font-size:15px; font-weight:500; margin:0; }
.pickup-card__note { font-size:13px; color:var(--text2); line-height:1.5; margin:0; }

/* FAQ */
.faq { padding:80px; background:var(--bg1); position:relative; isolation:isolate; }
.faq__list { width:900px; max-width:100%; margin:0 auto; }
.faq-item { border-bottom:1px solid var(--border); }
.faq-item:last-child { border-bottom:none; }
.faq-item__q { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:24px 0; cursor:pointer; }
.faq-item__q-text { font-size:18px; font-weight:600; }
.faq-item__a { font-size:14px; color:var(--text1); line-height:1.6; padding-bottom:24px; display:none; }
.faq-item.open .faq-item__a { display:block; }

/* CTA */
.cta { padding:80px; background:var(--bg0); display:flex; align-items:center; justify-content:center; }
.cta__box { display:flex; flex-direction:column; align-items:center; gap:32px; text-align:center; width:80%; max-width:900px; background:#1E2028; border:1px solid var(--border2); border-radius:20px; padding:64px 48px; }
.cta__accent { width:80px; height:4px; border-radius:2px; background:var(--accent); }
.cta__title { font-size:42px; font-weight:600; margin:0; }
.cta__sub { font-size:20px; color:var(--text1); margin:0; }
.cta__phone { display:flex; align-items:center; gap:12px; }
.cta__phone-num { font-size:32px; font-weight:700; color:var(--accent); }
.cta__btns { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }
.cta__btn-primary { background:linear-gradient(180deg,var(--accent) 0%,var(--accent2) 100%); color:#fff; border-radius:12px; padding:18px 40px; font-size:18px; font-weight:600; border:none; cursor:pointer; font-family:inherit; box-shadow:0 8px 24px rgba(56,189,248,.25); transition:opacity .2s; }
.cta__btn-primary:hover { opacity:.88; }
.cta__btn-outline { background:transparent; color:var(--text0); border-radius:12px; padding:18px 40px; font-size:18px; font-weight:600; border:1px solid var(--border2); cursor:pointer; font-family:inherit; transition:opacity .2s; }
.cta__btn-outline:hover { opacity:.7; }
.cta__trust { font-size:14px; color:var(--text2); margin:0; }

/* BLOG */
.blog { padding:0; background:var(--bg0); }
.blog__head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:48px; gap:24px; }
.blog__head-left { display:flex; flex-direction:column; gap:12px; }
.blog-badge { display:inline-flex; align-items:center; background:rgba(56,189,248,.122); border-radius:100px; padding:6px 16px; font-size:12px; font-weight:600; letter-spacing:2px; color:var(--accent); width:fit-content; }
.blog__title { font-size:36px; font-weight:700; color:var(--text0); margin:0; }
.blog__sub { font-size:16px; color:var(--text1); margin:0; }
.show-all-btn { display:flex; align-items:center; gap:8px; padding:14px 28px; border:1.5px solid var(--accent); border-radius:8px; background:transparent; color:var(--accent); font-size:15px; font-weight:600; cursor:pointer; font-family:inherit; white-space:nowrap; transition:opacity .2s; }
.show-all-btn:hover { opacity:.8; }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.blog-card { background:var(--bg1); border:1px solid var(--border); border-radius:12px; overflow:hidden; display:flex; flex-direction:column; }
.blog-card__img { height:200px; background-size:cover; background-position:center; }
.blog-card__body { padding:24px; display:flex; flex-direction:column; gap:12px; flex:1; }
.blog-card__cat { display:inline-flex; background:rgba(56,189,248,.082); border-radius:4px; padding:5px 12px; width:fit-content; }
.blog-card__cat-text { font-size:11px; font-weight:600; letter-spacing:1.2px; color:var(--accent); }
.blog-card__title { font-size:18px; font-weight:700; line-height:1.4; margin:0; }
.blog-card__title-link { color:inherit; text-decoration:none; }
.blog-card__title-link:hover .blog-card__title { color:var(--accent); }
.blog-card__meta { display:flex; gap:16px; }
.blog-card__meta-text { font-size:13px; color:var(--text2); }
.blog-card__excerpt { font-size:14px; color:var(--text1); line-height:1.6; margin:0; flex:1; }
.blog-card__link { display:flex; align-items:center; gap:6px; font-size:14px; font-weight:600; color:var(--accent); margin-top:8px; }

/* FOOTER */
.footer { padding:48px max(80px, calc((100% - 1240px) / 2)); background:var(--bg1); position:relative; isolation:isolate; }
.footer__top { display:flex; justify-content:space-between; gap:40px; margin-bottom:40px; }
.footer__logo { font-size:24px; font-weight:600; margin-bottom:16px; }
.footer__desc { font-size:14px; color:var(--text1); line-height:1.6; max-width:360px; margin:0 0 16px; }
.footer__social { display:flex; gap:12px; }
.footer__social-btn { width:40px; height:40px; border-radius:10px; background:rgba(255,255,255,.063); display:flex; align-items:center; justify-content:center; color:var(--text2); cursor:pointer; transition:opacity .2s; }
.footer__social-btn:hover { opacity:.7; }
.footer__cols { display:flex; gap:80px; }
.footer__col { display:flex; flex-direction:column; gap:16px; }
.footer__col-title { font-size:14px; font-weight:600; }
.footer__col-link { font-size:14px; color:var(--text1); cursor:pointer; transition:color .2s; }
.footer__col-link:hover { color:var(--text0); }
.footer__bar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; padding-top:24px; }
.footer__copy { font-size:13px; color:var(--text2); }
.footer__legal { display:flex; gap:24px; }
.footer__legal-link { font-size:13px; color:var(--text2); cursor:pointer; transition:color .2s; }
.footer__legal-link:hover { color:var(--text0); }
.footer__by { display:flex; align-items:center; gap:6px; font-size:13px; color:var(--text2); }
.footer__by-brand { font-weight:600; color:#A855F7; }

/* FULL-WIDTH BG EXTENSION (bg1 sections on wide viewports)
   isolation:isolate creates a stacking context so z-index:-1 ::before stays
   within the section's context (visible in wings, behind content inside) */
.shipping::before, .applications::before, .faq::before, .footer::before {
  content:''; position:absolute; top:0; bottom:0;
  left:50%; transform:translateX(-50%);
  width:100vw;
  background:var(--bg1); z-index:-1;
}

/* ANIMATIONS */
.hero-animate { opacity:0; transform:translateY(28px); transition:opacity .65s cubic-bezier(.22,.61,.36,1),transform .65s cubic-bezier(.22,.61,.36,1); }
.hero-animate--in { opacity:1; transform:translateY(0); }
.scroll-animate { opacity:0; transform:translateY(24px); transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1); }
.scroll-animate--in { opacity:1; transform:translateY(0); }
@media(prefers-reduced-motion:reduce){
  .hero-animate,.scroll-animate { transition:none; opacity:1; transform:none; }
}

/* GENERIC PAGE (polityka, regulamin) */
.legal-wrap { max-width:860px; margin:0 auto; padding:48px 80px 80px; }
.legal-wrap .post-content h2 { font-size:22px; font-weight:700; margin:40px 0 12px; color:var(--text0); }
.legal-wrap .post-content h3 { font-size:17px; font-weight:600; margin:28px 0 8px; color:var(--text0); }
.legal-wrap .post-content p { margin:0 0 14px; line-height:1.75; color:var(--text1); }
.legal-wrap .post-content ul,
.legal-wrap .post-content ol { margin:0 0 14px; padding-left:24px; color:var(--text1); line-height:1.75; }
.legal-wrap .post-content li { margin-bottom:6px; }
.legal-wrap .post-content a { color:var(--accent); }
.legal-wrap .post-content strong { color:var(--text0); }

/* 404 */
.notfound { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:100px 80px; min-height:50vh; gap:16px; }
.notfound__code { font-size:120px; font-weight:800; color:var(--accent); margin:0; line-height:1; }
.notfound__title { font-size:36px; font-weight:700; margin:0; }
.notfound__sub { font-size:16px; color:var(--text1); margin:0; max-width:480px; }
.notfound__actions { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; margin-top:8px; }

/* BLOG ARCHIVE */
.arch-header { padding:60px 80px 48px; background:var(--bg0); }
.arch-header__bread { font-size:12px; color:var(--text2); margin:0 0 12px; }
.arch-header__bread a { color:var(--text2); }
.arch-header__bread a:hover { color:var(--text0); }
.arch-header__title { font-size:40px; font-weight:700; margin:0 0 12px; }
.arch-header__sub { font-size:16px; color:var(--text1); margin:0; }
.blog-archive-grid { padding:0 80px; }
.blog-card__img-tag { width:100%; height:200px; object-fit:cover; object-position:center; display:block; }
.blog-card__title a { color:inherit; }
.arch-pagination { display:flex; justify-content:center; gap:8px; padding:32px 80px 60px; flex-wrap:wrap; }
.arch-pagination a, .arch-pagination span { display:inline-flex; align-items:center; justify-content:center; padding:10px 16px; border:1px solid var(--border); border-radius:4px; font-size:13px; color:var(--text1); transition:border-color .2s,color .2s; }
.arch-pagination .current { background:var(--accent); color:#0B0B0E; border-color:var(--accent); font-weight:600; }
.arch-pagination a:hover { border-color:var(--accent); color:var(--accent); }

/* SINGLE POST */
.single-wrap { display:flex; gap:60px; padding:60px 80px; align-items:flex-start; }
.single-main { flex:1; min-width:0; }
.single-bread { font-size:12px; color:var(--text2); margin:0 0 24px; }
.single-bread a { color:var(--text2); }
.single-bread a:hover { color:var(--text0); }
.single-meta { display:flex; align-items:center; gap:12px; margin-bottom:20px; flex-wrap:wrap; }
.post-cat-badge { display:inline-flex; background:rgba(56,189,248,.122); border-radius:4px; padding:4px 10px; font-size:11px; font-weight:600; color:var(--accent); }
.post-meta-text { font-size:13px; color:var(--text2); }
.post-title { font-size:40px; font-weight:700; line-height:1.2; margin:0 0 32px; }
.post-featured-img { width:100%; height:400px; object-fit:cover; object-position:center; border-radius:4px; display:block; margin-bottom:32px; }
.post-content { font-size:15px; line-height:1.75; color:var(--text1); }
.post-content > p:first-of-type { font-size:17px; font-weight:500; color:var(--text0); line-height:1.7; margin-bottom:28px; }
.post-content p { margin:0 0 20px; }
.post-content h2 { font-size:22px; font-weight:700; color:var(--text0); margin:40px 0 16px; }
.post-content h3 { font-size:18px; font-weight:600; color:var(--text0); margin:32px 0 12px; }
.post-content ul, .post-content ol { padding-left:24px; margin:0 0 20px; }
.post-content li { margin-bottom:8px; }
.post-content strong { color:var(--text0); font-weight:600; }
.post-content a { color:var(--accent); text-decoration:underline; }
.post-content blockquote { border-left:3px solid var(--accent); background:var(--bg1); padding:20px 24px; border-radius:0 4px 4px 0; margin:0 0 20px; }
.post-content blockquote p { margin:0; font-size:16px; font-weight:500; color:var(--text0); line-height:1.6; }

/* SIDEBAR */
.single-sidebar { width:320px; flex-shrink:0; display:flex; flex-direction:column; gap:24px; position:sticky; top:88px; }
.widget-order { background:#1B2B4B; border-radius:4px; padding:28px; display:flex; flex-direction:column; gap:16px; }
.widget-order__title { font-size:18px; font-weight:700; color:#fff; margin:0; }
.widget-order__desc { font-size:13px; color:rgba(255,255,255,.67); line-height:1.5; margin:0; }
.widget-order__btn { display:flex; align-items:center; justify-content:center; background:var(--accent); color:#0B0B0E; border-radius:4px; padding:12px; font-size:14px; font-weight:600; font-family:inherit; text-decoration:none; }
.widget-order__phone { font-size:13px; color:rgba(255,255,255,.67); text-align:center; margin:0; }
.widget-cats { background:var(--bg1); border:1px solid var(--border); border-radius:4px; padding:28px; display:flex; flex-direction:column; }
.widget-cats__title { font-size:14px; font-weight:700; color:var(--text0); margin:0 0 16px; }
.widget-cats__item { display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid var(--border); font-size:14px; color:var(--text1); transition:color .2s; }
.widget-cats__item:last-child { border-bottom:none; }
.widget-cats__item:hover { color:var(--text0); }
.widget-cats__count { font-size:12px; color:var(--text2); }

/* RELATED POSTS */
.related-section { padding:40px 80px 80px; background:var(--bg0); position:relative; isolation:isolate; } .related-section::before { content:''; position:absolute; top:0; bottom:0; left:50%; transform:translateX(-50%); width:100vw; background:var(--bg0); z-index:-1; }
.related-title { font-size:22px; font-weight:700; margin:0 0 32px; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.related-card { display:flex; flex-direction:column; gap:12px; }
.related-card__cat { display:inline-flex; background:rgba(56,189,248,.082); border-radius:4px; padding:4px 10px; font-size:11px; font-weight:600; color:var(--accent); width:fit-content; }
.related-card__title { font-size:16px; font-weight:600; line-height:1.4; color:var(--text0); margin:0; }
.related-card__meta { font-size:12px; color:var(--text2); }

/* CONTACT PAGE */
.contact-wrap { display:flex; gap:48px; padding:60px 80px; align-items:flex-start; }
.contact-cards { display:flex; flex-direction:column; gap:20px; flex:1; min-width:0; }
.contact-card { display:flex; align-items:flex-start; gap:20px; background:var(--bg1); border:1px solid var(--border); border-radius:16px; padding:28px; }
.contact-card__icon { width:48px; height:48px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-card__body { display:flex; flex-direction:column; gap:4px; }
.contact-card__label { font-size:12px; font-weight:600; color:var(--text2); margin:0; text-transform:uppercase; letter-spacing:1px; }
.contact-card__value { font-size:18px; font-weight:600; color:var(--text0); margin:4px 0; text-decoration:none; }
.contact-card__value:hover { color:var(--accent); }
.contact-card__note { font-size:13px; color:var(--text2); margin:0; line-height:1.5; }
.contact-form-col { width:480px; flex-shrink:0; }
.contact-form-box { background:var(--bg1); border:1px solid var(--border); border-radius:16px; padding:36px; }
.contact-form-box__title { font-size:22px; font-weight:700; margin:0 0 8px; }
.contact-form-box__sub { font-size:14px; color:var(--text1); margin:0 0 28px; line-height:1.5; }
/* FluentForms dark theme overrides */
.contact-form-box .ff-el-group { margin-bottom:20px; }
.contact-form-box .ff-el-form-control { background:var(--bg2) !important; border:1px solid var(--border2) !important; border-radius:8px !important; color:var(--text0) !important; padding:12px 16px !important; font-size:14px !important; font-family:inherit !important; width:100% !important; transition:border-color .2s !important; }
.contact-form-box .ff-el-form-control:focus { border-color:var(--accent) !important; outline:none !important; box-shadow:none !important; }
.contact-form-box .ff-el-form-control::placeholder { color:var(--text2) !important; }
.contact-form-box label.ff-el-input--label { font-size:13px !important; font-weight:600 !important; color:var(--text1) !important; margin-bottom:6px !important; }
.contact-form-box .ff_submit_btn_wrapper .ff-btn-submit { background:var(--accent) !important; border:none !important; border-radius:10px !important; color:#0B0B0E !important; font-size:15px !important; font-weight:700 !important; padding:14px 32px !important; font-family:inherit !important; cursor:pointer !important; transition:opacity .2s !important; }
.contact-form-box .ff_submit_btn_wrapper .ff-btn-submit:hover { opacity:.88 !important; }
.contact-form-box .ff-message-success { background:rgba(56,189,248,.1) !important; border:1px solid var(--accent) !important; border-radius:8px !important; color:var(--accent) !important; padding:16px !important; }
.contact-form-box .ff-errors-head, .contact-form-box .error { color:#E85A4F !important; font-size:12px !important; }
.contact-address-banner { padding:0 80px 60px; }
.contact-address-banner__inner { background:var(--bg1); border:1px solid var(--border); border-radius:16px; padding:32px 40px; display:flex; align-items:center; gap:24px; }
.contact-address-banner__icon { width:56px; height:56px; background:rgba(56,189,248,.1); border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-address-banner__label { font-size:13px; color:var(--text2); margin:0 0 6px; }
.contact-address-banner__address { font-size:16px; font-weight:600; color:var(--text0); margin:0; line-height:1.5; }
.contact-address-banner__btn { margin-left:auto; white-space:nowrap; font-size:14px; font-weight:600; color:var(--accent); text-decoration:none; flex-shrink:0; padding:10px 20px; border:1px solid var(--accent); border-radius:8px; transition:opacity .2s; }
.contact-address-banner__btn:hover { opacity:.75; }

/* HAMBURGER + MOBILE NAV */
.header__hamburger { display:none; flex-direction:column; justify-content:center; gap:5px; width:40px; height:40px; border:none; background:none; cursor:pointer; padding:9px; border-radius:8px; flex-shrink:0; }
.header__hamburger span { display:block; width:20px; height:2px; background:var(--text0); border-radius:1px; transition:transform .3s ease, opacity .2s ease; transform-origin:center; }
.header__hamburger.is-active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.header__hamburger.is-active span:nth-child(2) { opacity:0; width:0; }
.header__hamburger.is-active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

.mobile-nav { display:none; position:fixed; top:72px; left:0; right:0; bottom:0; background:var(--bg1); z-index:98; padding:16px 0; overflow-y:auto; border-top:1px solid var(--border); box-shadow:0 12px 40px rgba(0,0,0,.5); }
.mobile-nav.is-open { display:block; }
.mobile-nav__list { list-style:none; margin:0; padding:0; }
.mobile-nav__list li { border-bottom:1px solid var(--border); }
.mobile-nav__list li a { display:block; padding:18px 24px; font-size:17px; font-weight:500; color:var(--text0); transition:color .2s; }
.mobile-nav__list li a:hover { color:var(--accent); }
.mobile-nav__list li.nav-accent a { color:var(--accent); }
.mobile-nav__cta { padding:24px; margin-top:8px; display:flex; flex-direction:column; gap:12px; align-items:stretch; }
.mobile-nav__cta .btn-primary { display:block; text-align:center; padding:16px; font-size:16px; }
.mobile-nav__phone { display:block; text-align:center; font-size:16px; font-weight:600; color:var(--accent); text-decoration:none; }

/* REVIEWS SLIDER */
.reviews { padding:80px; background:var(--bg0); }
.reviews-slider-wrap { position:relative; margin-top:48px; padding:0 52px; }
.reviews-overflow { overflow:hidden; }
.reviews-track { display:flex; gap:24px; transition:transform 0.4s cubic-bezier(.4,0,.2,1); will-change:transform; }
.review-card { flex:0 0 calc(33.333% - 16px); background:var(--bg1); border:1px solid var(--border); border-radius:16px; padding:28px 32px; display:flex; flex-direction:column; gap:16px; }
.review-card__stars { color:#FBBF24; font-size:18px; letter-spacing:3px; line-height:1; }
.review-card__text { font-size:15px; color:var(--text1); line-height:1.7; flex:1; }
.review-card__author { font-size:14px; font-weight:700; color:var(--text0); }
.reviews-arrow { position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; border-radius:50%; border:1px solid var(--border); background:var(--bg1); color:var(--text1); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:border-color .2s,color .2s; z-index:2; }
.reviews-arrow:hover { border-color:var(--accent); color:var(--accent); }
.reviews-arrow--prev { left:4px; }
.reviews-arrow--next { right:4px; }
.reviews-nav { display:flex; justify-content:center; margin-top:28px; }
.reviews-dots { display:flex; gap:8px; align-items:center; }
.reviews-dot { width:8px; height:8px; border-radius:50%; border:none; background:var(--border2); cursor:pointer; padding:0; transition:background .25s,width .25s; }
.reviews-dot--active { background:var(--accent); width:24px; border-radius:4px; }

/* RESPONSIVE */
@media(max-width:1100px){
  .benefits-grid { grid-template-columns:repeat(2,1fr); }
  .hero__headline { font-size:38px; }
}
@media(max-width:1060px){
  .header { padding:0 24px; }
  .header__nav { display:none; }
  .header__phone { display:none; }
  .header__hamburger { display:flex; margin-left:auto; }
  .header__right { display:none; }
  /* sections: switch horizontal padding to match header */
  .hero { padding:80px 24px; }
  .benefits { padding:80px 24px; }
  .products { padding:80px 24px; }
  .shipping { padding:80px 24px; }
  .applications { padding:80px 24px; }
  .delivery { padding:80px 24px; }
  .faq { padding:80px 24px; }
  .cta { padding:80px 24px; }
  .reviews { padding:80px 24px; }
  .blog { padding:0 24px; }
  .footer { padding:48px 24px; }
}
@media(max-width:900px){
  .contact-wrap { flex-direction:column; padding:40px 24px; gap:32px; align-items:stretch; }
  .contact-form-col { width:100%; }
  .contact-address-banner { padding:0 24px 48px; }
  .contact-address-banner__inner { flex-direction:column; align-items:flex-start; gap:16px; }
  .contact-address-banner__btn { margin-left:0; }
  .arch-header { padding:40px 24px 32px; }
  .arch-header__title { font-size:28px; }
  .blog-archive-grid { padding:0 24px; }
  .arch-pagination { padding:24px 24px 48px; }
  .notfound { padding:80px 24px; }
  .notfound__code { font-size:80px; }
  .notfound__title { font-size:26px; }
  .notfound__actions { flex-direction:column; align-items:stretch; }
  .single-wrap { flex-direction:column; padding:40px 24px; gap:32px; }
  .single-sidebar { width:100%; position:static; }
  .post-title { font-size:28px; }
  .post-featured-img { height:220px; }
  .related-section { padding:32px 24px 60px; }
  .related-grid { grid-template-columns:1fr; }
  .hero { flex-direction:column; padding:48px 24px; }
  .hero__image { width:100%; height:auto; aspect-ratio:16/9; }
  .benefits { padding:60px 24px; }
  .benefits-grid { grid-template-columns:repeat(2,1fr); }
  .products { padding:60px 24px; }
  .products-grid { grid-template-columns:1fr; }
  .shipping { padding:60px 24px; }
  .shipping-grid { grid-template-columns:1fr; }
  .applications { padding:60px 24px; }
  .app-grid { grid-template-columns:1fr 1fr; }
  .delivery { padding:60px 24px; }
  .delivery-grid { grid-template-columns:1fr; }
  .faq { padding:60px 24px; }
  .faq__list { width:100%; }
  .cta { padding:60px 24px; }
  .cta__box { width:100%; padding:40px 24px; border-radius:14px; }
  .cta__title { font-size:32px; }
  .blog { padding:0 24px; }
  .blog__head { flex-direction:column; align-items:flex-start; }
  .blog-grid { grid-template-columns:1fr; }
  .reviews { padding:60px 24px; }
  .reviews-slider-wrap { padding:0 52px; }
  .review-card { flex:0 0 calc(50% - 12px); }
  .footer__top { flex-direction:column; }
  .footer__cols { flex-wrap:wrap; gap:40px; }
}
@media(max-width:600px){
  .benefits-grid { grid-template-columns:1fr; }
  .review-card { flex:0 0 100%; }
  .hero__btns { flex-direction:column; align-items:stretch; }
  .hero__btn-cta, .btn-outline { text-align:center; justify-content:center; }
  .hero__image { aspect-ratio:4/3; }
  .app-grid { grid-template-columns:1fr; }
  .hero__headline { font-size:30px; }
  .sec-title { font-size:28px; }
  .cta__phone-num { font-size:26px; }
  .arch-header__title { font-size:24px; }
  .post-title { font-size:22px; }
  .post-content > p:first-of-type { font-size:15px; }
}

/* ── SEO text section ───────────────────────────────────────────────────── */
.seo-text { padding:80px; background:var(--bg0); }
.seo-text__inner { max-width:900px; margin:0 auto; display:flex; flex-direction:column; gap:20px; }
.seo-text__inner h2 { font-family:var(--font-head); font-size:clamp(22px,3vw,30px); font-weight:800; color:var(--text0); line-height:1.2; }
.seo-text__inner p { font-size:15px; color:var(--text1); line-height:1.75; }
.seo-text__inner strong { color:var(--text0); font-weight:600; }
@media(max-width:900px){ .seo-text { padding:60px 24px; } }

/* ── Post CTA box ───────────────────────────────────────────────────────── */
.post-cta { background:linear-gradient(135deg,var(--accent) 0%,var(--accent2) 100%); border-radius:16px; padding:32px; margin:40px 0; text-align:center; }
.post-cta p { color:#0B0B0E; margin:0 0 12px; font-size:15px; font-weight:500; }
.post-cta p:last-child { margin-bottom:0; }
.post-cta__phone { display:inline-block; color:#0B0B0E !important; font-size:26px; font-weight:800; text-decoration:none; letter-spacing:-.5px; }
.post-cta__phone:hover { opacity:.8; }
