/*
Theme Name: Cybrotek
Theme URI: https://cybrotek.com
Author: Cybrotek
Description: Custom theme for Cybrotek — IT & software services, with an integrated WooCommerce parts store.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: cybrotek
*/


  :root{
    --ink:#0F1A24;
    --surface:#16232F;
    --surface-2:#1D2D3A;
    --line: rgba(232,237,241,0.09);
    --text:#E8EDF1;
    --muted:#A3AFB9;
    --teal:#4FD1C5;
    --amber:#F2B807;
    --red-flag:#E8604C;
    --whatsapp:#25D366;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--ink);
    color:var(--text);
    font-family:'IBM Plex Sans', sans-serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit; text-decoration:none;}
  .mono{font-family:'IBM Plex Mono', monospace;}
  .wrap{max-width:100%; margin:0 auto; padding:0 clamp(20px, 5vw, 120px);}

  .grain{
    position:fixed; inset:0; pointer-events:none; z-index:1; opacity:0.035;
    background-image: linear-gradient(var(--text) 1px, transparent 1px), linear-gradient(90deg, var(--text) 1px, transparent 1px);
    background-size: 42px 42px;
  }

  /* ===== NAV ===== */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(15,26,36,0.86);
    backdrop-filter: blur(10px);
    border-bottom:1px solid var(--line);
  }
  nav{display:flex; align-items:center; justify-content:space-between; padding:18px clamp(20px, 5vw, 120px); max-width:100%; margin:0 auto;}
  .logo{display:flex; align-items:center; gap:10px; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:19px; letter-spacing:0.01em;}
  .logo-mark circle{animation:padGlow 2.4s ease-in-out infinite;}
  .logo-mark circle:nth-child(3){animation-delay:0.3s;}
  @keyframes padGlow{
    0%,100%{opacity:1;}
    50%{opacity:0.5;}
  }
  .navlinks{display:flex; gap:30px; font-size:14.5px; color:var(--muted);}
  .navlinks a:hover{color:var(--text);}
  .nav-cta{
    font-size:14px; font-weight:500; padding:9px 18px; border-radius:6px;
    background:var(--teal); color:var(--ink); font-family:'IBM Plex Mono',monospace;
  }
  @media(max-width:860px){ .navlinks{display:none;} }

  /* ===== HERO ===== */
  .hero{
    position:relative; z-index:2;
    padding:80px 0 110px;
    border-bottom:1px solid var(--line);
    overflow:hidden;
  }
  .status-bar{
    display:inline-flex; align-items:center; gap:8px;
    font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:var(--teal);
    background:rgba(79,209,197,0.08); border:1px solid rgba(79,209,197,0.25);
    padding:6px 12px; border-radius:20px; margin-bottom:26px;
  }
  .status-bar .dot{width:6px;height:6px;border-radius:50%;background:var(--teal);}
  h1{
    font-family:'Space Grotesk',sans-serif; font-weight:700;
    font-size:clamp(32px, 5vw, 54px); line-height:1.08; letter-spacing:-0.01em;
    max-width:740px;
  }
  h1 .accent{color:var(--teal);}
  .hero p.lede{
    margin-top:20px; max-width:560px; color:var(--muted); font-size:16.5px;
  }
  .hero-actions{display:flex; gap:14px; margin-top:30px; flex-wrap:wrap;}
  .btn-primary{
    background:var(--teal); color:var(--ink); font-weight:600; font-size:14.5px;
    padding:13px 24px; border-radius:6px; font-family:'IBM Plex Mono',monospace;
    display:inline-flex; align-items:center; gap:8px;
  }
  .btn-secondary{
    border:1px solid var(--line); color:var(--text); font-size:14.5px; font-weight:500;
    padding:13px 24px; border-radius:6px;
  }
  .btn-secondary:hover{border-color:rgba(232,237,241,0.3);}
  .btn-whatsapp{
    background:var(--whatsapp); color:#08210F; font-weight:600; font-size:14.5px;
    padding:13px 22px; border-radius:6px; display:inline-flex; align-items:center; gap:8px;
  }

  .hero-bg-pulse{
    position:absolute; left:0; right:0; bottom:0; height:44%;
    overflow:hidden; z-index:0; opacity:0.16; pointer-events:none;
  }
  .hero-bg-pulse svg{
    display:block; width:200%; height:100%;
    animation: driftPulse 22s linear infinite;
  }
  .hero-bg-pulse path{fill:none; stroke:var(--teal); stroke-width:2;}
  @keyframes driftPulse{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
  .hero .wrap{position:relative; z-index:1;}

  /* ===== SECTION HEADERS ===== */
  section{padding:80px 0; border-bottom:1px solid var(--line); position:relative; z-index:2;}
  .eyebrow{
    font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:var(--teal);
    text-transform:uppercase; letter-spacing:0.12em; margin-bottom:14px;
  }
  h2{
    font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:clamp(25px,3.2vw,34px);
    letter-spacing:-0.01em; max-width:600px;
  }
  .section-lede{color:var(--muted); max-width:540px; margin-top:14px; font-size:15.5px;}

  /* ===== PACKAGES (SALES) ===== */
  .pkg-toplabel{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px;}
  .pkgs{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px;}
  .pkg{
    background:var(--surface); border:1px solid var(--line); border-radius:12px;
    padding:30px 26px; display:flex; flex-direction:column;
  }
  .pkg.featured{border-color:rgba(79,209,197,0.45); background:linear-gradient(180deg, rgba(79,209,197,0.06), var(--surface) 40%); position:relative;}
  .pkg.featured .badge{
    position:absolute; top:-12px; left:26px; background:var(--teal); color:var(--ink);
    font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:600; padding:4px 10px; border-radius:20px;
    letter-spacing:0.04em;
  }
  .pkg .pname{font-family:'Space Grotesk',sans-serif; font-size:19px; font-weight:600; margin-bottom:6px;}
  .pkg .pdesc{color:var(--muted); font-size:15px; margin-bottom:18px; line-height:1.55;}
  .pkg .pprice{font-family:'Space Grotesk',sans-serif; font-size:32px; font-weight:700; margin-bottom:2px;}
  .pkg .pprice span{font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--muted); font-weight:400;}
  .pkg .punit{font-size:12.5px; color:var(--muted); margin-bottom:22px;}
  .pkg ul{list-style:none; display:flex; flex-direction:column; gap:11px; margin-bottom:26px; flex-grow:1;}
  .pkg li{font-size:14.5px; color:var(--text); padding-left:20px; position:relative; line-height:1.5;}
  .pkg li::before{content:"✓"; position:absolute; left:0; color:var(--teal); font-family:'IBM Plex Mono',monospace; font-size:13px;}
  .pkg .pbtn{
    text-align:center; padding:12px; border-radius:6px; font-size:14px; font-weight:600;
    border:1px solid var(--line); font-family:'IBM Plex Mono',monospace;
  }
  .pkg.featured .pbtn{background:var(--teal); color:var(--ink); border-color:var(--teal);}
  @media(max-width:900px){ .pkgs{grid-template-columns:1fr;} }

  /* ===== ADD-ONS (existing service line) ===== */
  .cards{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); margin-top:40px; border:1px solid var(--line); border-radius:10px; overflow:hidden;}
  .card{background:var(--surface); padding:28px 26px;}
  .card .tag{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--amber); margin-bottom:14px;}
  .card h3{font-family:'Space Grotesk',sans-serif; font-size:18px; font-weight:600; margin-bottom:9px;}
  .card p{color:var(--muted); font-size:15px; margin-bottom:16px; line-height:1.6;}
  .card .price{font-family:'IBM Plex Mono',monospace; font-size:13.5px; color:var(--text); border-top:1px solid var(--line); padding-top:14px;}
  .card .price a{color:var(--teal); font-weight:600; display:inline-flex; align-items:center; gap:6px;}
  .card .price a:hover{color:var(--text);}
  .card .price a::after{content:"→"; transition:transform 0.15s ease;}
  .card .price a:hover::after{transform:translateX(3px);}
  .card .price span{color:var(--muted);}
  @media(max-width:820px){ .cards{grid-template-columns:1fr;} }

  .cards-4{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); margin-top:40px; border:1px solid var(--line); border-radius:10px; overflow:hidden;}
  @media(max-width:980px){ .cards-4{grid-template-columns:repeat(2,1fr);} }
  @media(max-width:600px){ .cards-4{grid-template-columns:1fr;} }

  /* ===== PROCESS ===== */
  .process{margin-top:48px; display:flex; flex-direction:column; gap:0;}
  .step{display:grid; grid-template-columns:60px 1fr; gap:24px; padding:24px 0; border-top:1px solid var(--line);}
  .step:last-child{border-bottom:1px solid var(--line);}
  .step .n{font-family:'IBM Plex Mono',monospace; color:var(--teal); font-size:14px; padding-top:2px;}
  .step h4{font-family:'Space Grotesk',sans-serif; font-size:16.5px; font-weight:600; margin-bottom:5px;}
  .step p{color:var(--muted); font-size:15px; max-width:520px; line-height:1.6;}

  /* ===== WHY ===== */
  .why-grid{display:grid; grid-template-columns:1fr 1fr; gap:52px; margin-top:44px; align-items:start;}
  .why-item{display:flex; gap:16px; margin-bottom:26px;}
  .why-item .mark{width:8px; height:8px; border-radius:50%; background:var(--amber); margin-top:8px; flex-shrink:0;}
  .why-item h4{font-family:'Space Grotesk',sans-serif; font-size:16px; font-weight:600; margin-bottom:5px;}
  .why-item p{color:var(--muted); font-size:15px; line-height:1.6;}
  @media(max-width:760px){ .why-grid{grid-template-columns:1fr;} }

  /* ===== STORE TEASER ===== */
  .store-teaser{
    border:1px solid rgba(79,209,197,0.3); border-radius:14px;
    background:linear-gradient(120deg, rgba(79,209,197,0.08), var(--surface) 55%);
    padding:40px; margin-top:0;
    display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap;
  }
  .store-teaser .st-text .eyebrow{margin-bottom:8px;}
  .store-teaser h3{font-family:'Space Grotesk',sans-serif; font-size:24px; font-weight:700; margin-bottom:8px;}
  .store-teaser p{color:var(--muted); font-size:15px; max-width:520px;}
  .store-teaser .btn-primary{white-space:nowrap;}
  @media(max-width:700px){ .store-teaser{padding:28px;} }

  /* ===== PORTFOLIO / CASE STUDY ===== */
  .case-study{
    margin-top:44px; border:1px solid var(--line); border-radius:12px; overflow:hidden;
    background:var(--surface);
  }
  .case-head{
    display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:16px;
    padding:32px 32px 0;
  }
  .case-head .case-name{font-family:'Space Grotesk',sans-serif; font-size:24px; font-weight:700;}
  .case-head .case-tag{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--teal); margin-top:4px;}
  .case-visit{
    font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:var(--teal);
    border:1px solid rgba(79,209,197,0.3); padding:8px 14px; border-radius:6px;
  }
  .case-visit:hover{background:rgba(79,209,197,0.08);}
  .case-body{padding:24px 32px 32px; color:var(--muted); font-size:15px; line-height:1.65; max-width:760px;}
  .case-metrics{display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line);}
  .case-metric{padding:20px 24px; border-right:1px solid var(--line);}
  .case-metric:last-child{border-right:none;}
  .case-metric .num{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:26px; color:var(--text);}
  .case-metric .lbl{font-size:12px; color:var(--muted); margin-top:4px;}
  @media(max-width:820px){ .case-metrics{grid-template-columns:repeat(2,1fr);} .case-metric{border-bottom:1px solid var(--line);} }
  @media(max-width:560px){ .case-metrics{grid-template-columns:1fr;} .case-head, .case-body{padding-left:22px; padding-right:22px;} }

  /* ===== ABOUT ===== */
  .about-grid{display:grid; grid-template-columns:auto 1fr; gap:40px; margin-top:44px; align-items:start;}
  .about-avatar{
    width:88px; height:88px; border-radius:16px; background:var(--surface); border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .about-avatar svg{width:44px; height:44px;}
  .about-text p{color:var(--muted); font-size:15.5px; line-height:1.7; max-width:640px; margin-bottom:14px;}
  .about-text p:last-child{margin-bottom:0;}
  .about-text strong{color:var(--text);}
  @media(max-width:600px){ .about-grid{grid-template-columns:1fr;} }

  /* ===== CLIENT LOGO MARQUEE ===== */
  .clients-section{padding-top:64px; padding-bottom:64px;}
  .clients-track{
    position:relative; margin-top:36px; overflow:hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%);
  }
  .clients-list{display:flex; align-items:center; gap:56px; width:max-content; will-change:transform;}
  .client-logo{
    display:flex; align-items:center; gap:9px; flex-shrink:0;
    font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:17px; letter-spacing:0.01em;
    color:var(--muted); white-space:nowrap; opacity:0.75; transition:opacity 0.2s ease, color 0.2s ease;
  }
  .client-logo:hover{opacity:1; color:var(--text);}
  .client-logo .mark{width:7px; height:7px; border-radius:2px; background:var(--teal); flex-shrink:0;}
  .clients-note{margin-top:18px; font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:var(--muted); opacity:0.6;}

  /* ===== TESTIMONIALS / TRUST ===== */
  .trust-strip{display:flex; flex-wrap:wrap; gap:10px; margin-top:44px;}
  .trust-pill{
    font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:var(--muted);
    border:1px solid var(--line); padding:7px 14px; border-radius:20px;
  }
  .testimonials{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:36px;}
  .testimonial{background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:26px;}
  .testimonial .stars{color:var(--amber); font-size:14px; margin-bottom:14px; letter-spacing:2px;}
  .testimonial p{font-size:14.5px; color:var(--text); margin-bottom:18px; line-height:1.65;}
  .testimonial .who{display:flex; align-items:center; gap:10px;}
  .testimonial .avatar{
    width:34px; height:34px; border-radius:50%; background:rgba(79,209,197,0.15); color:var(--teal);
    display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:13px;
  }
  .testimonial .who-name{font-size:13.5px; font-weight:600;}
  .testimonial .who-role{font-size:12px; color:var(--muted);}
  @media(max-width:900px){ .testimonials{grid-template-columns:1fr;} }

  /* ===== SUPPORT ===== */
  .support-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:44px;}
  .support-channels{display:flex; flex-direction:column; gap:16px;}
  .channel{
    display:flex; align-items:center; gap:16px; padding:18px 20px; border:1px solid var(--line);
    border-radius:10px; background:var(--surface);
  }
  .channel .icon{
    width:38px; height:38px; border-radius:8px; display:flex; align-items:center; justify-content:center;
    font-family:'IBM Plex Mono',monospace; font-size:15px; flex-shrink:0;
  }
  .channel .icon.wa{background:rgba(37,211,102,0.15); color:var(--whatsapp);}
  .channel .icon.mail{background:rgba(79,209,197,0.15); color:var(--teal);}
  .channel .icon.clock{background:rgba(242,184,7,0.15); color:var(--amber);}
  .channel h5{font-size:14.5px; font-weight:600; margin-bottom:2px;}
  .channel p{font-size:13.5px; color:var(--muted); line-height:1.5;}
  .faq{display:flex; flex-direction:column; gap:0;}
  .faq-item{border-top:1px solid var(--line); padding:18px 0;}
  .faq-item:last-child{border-bottom:1px solid var(--line);}
  .faq-item h5{font-size:14.5px; font-weight:600; margin-bottom:8px; font-family:'Space Grotesk',sans-serif;}
  .faq-item p{font-size:15px; color:var(--muted); line-height:1.6;}
  @media(max-width:820px){ .support-grid{grid-template-columns:1fr;} }

  /* ===== CTA / CONTACT ===== */
  .cta-section{border-bottom:none; text-align:center;}
  .cta-section h2{max-width:none; margin:0 auto;}
  .cta-section .section-lede{margin:14px auto 0;}
  .cta-actions{display:flex; gap:14px; justify-content:center; margin-top:32px; flex-wrap:wrap;}

  .or-divider{display:flex; align-items:center; gap:14px; max-width:520px; margin:44px auto 0; color:var(--muted); font-family:'IBM Plex Mono',monospace; font-size:12px; text-transform:uppercase; letter-spacing:0.08em;}
  .or-divider::before, .or-divider::after{content:""; flex:1; height:1px; background:var(--line);}

  .email-form{
    max-width:560px; margin:32px auto 0; text-align:left;
    background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:32px;
  }
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px;}
  .form-field{display:flex; flex-direction:column; gap:6px; margin-bottom:14px;}
  .form-field label{font-size:12.5px; color:var(--muted); font-family:'IBM Plex Mono',monospace;}
  .form-field input, .form-field select, .form-field textarea{
    background:var(--ink); border:1px solid var(--line); border-radius:6px; color:var(--text);
    padding:11px 13px; font-family:'IBM Plex Sans',sans-serif; font-size:14.5px; width:100%;
  }
  .form-field input:focus, .form-field select:focus, .form-field textarea:focus{
    outline:none; border-color:var(--teal);
  }
  .form-field textarea{resize:vertical; min-height:100px;}
  .hp-field{position:absolute; left:-9999px; opacity:0; height:0; overflow:hidden;}
  .form-submit{
    width:100%; background:var(--teal); color:var(--ink); font-weight:600; font-size:14.5px;
    padding:13px; border-radius:6px; border:none; font-family:'IBM Plex Mono',monospace; cursor:pointer;
  }
  .form-submit:disabled{opacity:0.6; cursor:not-allowed;}
  .form-status{margin-top:14px; font-size:13.5px; text-align:center; min-height:18px;}
  .form-status.ok{color:var(--teal);}
  .form-status.err{color:var(--red-flag);}
  @media(max-width:560px){ .form-row{grid-template-columns:1fr;} }

  footer{padding:36px 0; }
  .foot-row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;}
  .foot-row .mono{font-size:12.5px; color:var(--muted);}
  .foot-links{display:flex; gap:22px; font-size:13.5px; color:var(--muted);}

  /* ===== FLOATING WHATSAPP BUTTON ===== */
  .wa-float{
    position:fixed; bottom:24px; right:24px; z-index:60;
    width:58px; height:58px; border-radius:50%; background:var(--whatsapp);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 6px 20px rgba(37,211,102,0.35);
    animation:floatPulse 2.6s ease-in-out infinite;
  }
  .wa-float svg{width:28px; height:28px;}
  @keyframes floatPulse{
    0%,100%{box-shadow:0 6px 20px rgba(37,211,102,0.35);}
    50%{box-shadow:0 6px 26px rgba(37,211,102,0.55);}
  }
  .wa-float:hover{transform:scale(1.06);}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }
  :focus-visible{outline:2px solid var(--teal); outline-offset:2px;}

/* ===================================================== */
/* ===== WOOCOMMERCE THEME OVERRIDES ===== */
/* ===================================================== */

.woocommerce{
  color:var(--text); font-family:'IBM Plex Sans',sans-serif;
}
.woocommerce-page main.site-main{ padding:100px 0 90px; }

/* Shop grid */
.woocommerce ul.products{
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px; list-style:none; margin:40px 0 0; padding:0;
}
@media(max-width:980px){ .woocommerce ul.products{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .woocommerce ul.products{grid-template-columns:1fr;} }

.woocommerce ul.products li.product{
  background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:18px;
  transition:border-color 0.2s ease;
}
.woocommerce ul.products li.product:hover{ border-color:rgba(79,209,197,0.4); }
.woocommerce ul.products li.product img{
  border-radius:8px; margin-bottom:14px; aspect-ratio:1/1; object-fit:cover;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:15.5px; color:var(--text); margin-bottom:6px;
}
.woocommerce ul.products li.product .price{
  font-family:'IBM Plex Mono',monospace; color:var(--teal); font-weight:600; font-size:14.5px;
}
.woocommerce ul.products li.product .price del{ color:var(--muted); opacity:0.6; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }

.woocommerce span.onsale{
  background:var(--amber); color:var(--ink); font-family:'IBM Plex Mono',monospace; font-weight:600;
  font-size:11px; border-radius:20px; padding:4px 10px; top:14px; left:14px; min-height:auto; min-width:auto; line-height:1;
}

/* Buttons — product loop, cart, checkout, single product */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce-page a.button{
  background:var(--teal) !important; color:var(--ink) !important; border:none !important;
  font-family:'IBM Plex Mono',monospace !important; font-weight:600 !important; font-size:13.5px !important;
  border-radius:6px !important; padding:11px 20px !important; text-transform:none !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover{
  background:var(--text) !important; color:var(--ink) !important;
}
.woocommerce a.added_to_cart{ color:var(--teal) !important; font-family:'IBM Plex Mono',monospace; font-size:12.5px; margin-top:8px; display:inline-block; }

/* Single product */
.woocommerce div.product .product_title{ font-family:'Space Grotesk',sans-serif; font-size:30px; color:var(--text); }
.woocommerce div.product p.price, .woocommerce div.product span.price{ color:var(--teal); font-family:'IBM Plex Mono',monospace; font-size:22px; }
.woocommerce div.product .woocommerce-product-details__short-description{ color:var(--muted); font-size:15px; line-height:1.7; }
.woocommerce #reviews, .woocommerce-tabs{ color:var(--muted); }
.woocommerce div.product .woocommerce-tabs ul.tabs li{ font-family:'IBM Plex Mono',monospace; font-size:13px; }

/* Cart & checkout tables */
.woocommerce table.shop_table{ border-color:var(--line); color:var(--text); }
.woocommerce table.shop_table th{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--muted); border-bottom-color:var(--line); }
.woocommerce table.shop_table td{ border-top-color:var(--line); }
.woocommerce-checkout input.input-text, .woocommerce-checkout select, .woocommerce form .form-row textarea{
  background:var(--ink); border:1px solid var(--line); color:var(--text); border-radius:6px; padding:10px 12px;
}
.woocommerce-checkout #payment{ background:var(--surface); border-radius:10px; border:1px solid var(--line); }
.woocommerce-checkout #payment ul.payment_methods{ border-bottom-color:var(--line); }
.woocommerce-checkout #payment div.payment_box{ background:var(--ink); color:var(--muted); }

/* Notices */
.woocommerce-message, .woocommerce-info{
  background:rgba(79,209,197,0.08) !important; border-top-color:var(--teal) !important; color:var(--text) !important;
}
.woocommerce-error{ background:rgba(232,96,76,0.08) !important; border-top-color:var(--red-flag) !important; color:var(--text) !important; }

/* Cart page totals */
.woocommerce-cart-form, .cart-collaterals .cart_totals{ color:var(--text); }
.cart_totals h2{ font-family:'Space Grotesk',sans-serif; }

/* Star ratings */
.woocommerce .star-rating span::before{ color:var(--amber); }

/* ===================================================== */
/* ===== GENERIC WP CONTENT (pages, posts, privacy policy) ===== */
/* ===================================================== */
body{ background:var(--ink); color:var(--text); }
.site-main p, .site-main li{ color:var(--muted); font-size:15.5px; line-height:1.75; margin-bottom:14px; }
.site-main h2{ font-family:'Space Grotesk',sans-serif; font-size:22px; color:var(--text); margin:34px 0 12px; }
.site-main h3{ font-family:'Space Grotesk',sans-serif; font-size:18px; color:var(--text); margin:26px 0 10px; }
.site-main a{ color:var(--teal); }
.site-main ul, .site-main ol{ padding-left:22px; margin-bottom:14px; }
.site-main strong{ color:var(--text); }
