/*
Theme Name: BP Showcases
Theme URI: https://bpshowcases.com
Author: BP Showcases
Author URI: https://bpshowcases.com
Description: Building material calculators theme. Deep slate primary with warm amber accents. Space Grotesk headings, Inter body. Matches bpshowcases.com design system.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bp-showcases
Tags: blog, one-column, custom-menu, featured-images, translation-ready
*/

/* ===== Design Tokens (HSL, mirrors src/index.css) ===== */
:root{
  --background:210 20% 98%;
  --foreground:215 25% 15%;
  --card:0 0% 100%;
  --card-foreground:215 25% 15%;
  --primary:215 60% 22%;
  --primary-foreground:40 100% 97%;
  --secondary:210 15% 93%;
  --secondary-foreground:215 25% 15%;
  --muted:210 15% 95%;
  --muted-foreground:215 10% 45%;
  --accent:36 95% 52%;
  --accent-foreground:215 60% 12%;
  --destructive:0 72% 51%;
  --border:214 20% 88%;
  --input:214 20% 88%;
  --ring:36 95% 52%;
  --radius:.75rem;
  --hero-gradient:linear-gradient(135deg,hsl(215 60% 22%),hsl(215 45% 30%),hsl(220 40% 18%));
  --card-shadow:0 4px 24px -4px hsl(215 60% 22% / .08);
  --card-shadow-hover:0 12px 40px -8px hsl(215 60% 22% / .15);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:hsl(var(--background));color:hsl(var(--foreground));font-family:'Inter',system-ui,-apple-system,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:'Space Grotesk','Inter',sans-serif;font-weight:700;color:hsl(var(--foreground));line-height:1.2;margin:0 0 .5em}
a{color:hsl(var(--primary));text-decoration:none}
a:hover{color:hsl(var(--accent))}
img{max-width:100%;height:auto}

.container{max-width:1200px;margin:0 auto;padding:0 1.25rem}
.hero-gradient{background:var(--hero-gradient);color:hsl(var(--primary-foreground))}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:hsl(var(--card));border-bottom:1px solid hsl(var(--border));backdrop-filter:saturate(180%) blur(8px)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding-top:.9rem;padding-bottom:.9rem;gap:1rem}
.site-brand{display:flex;align-items:center;gap:.6rem;font-family:'Space Grotesk';font-weight:700;font-size:1.15rem;color:hsl(var(--foreground))}
.site-brand .logo-mark{width:34px;height:34px;border-radius:9px;background:var(--hero-gradient);display:flex;align-items:center;justify-content:center;color:hsl(var(--accent));font-weight:800}
.nav-menu{display:flex;gap:1.25rem;list-style:none;margin:0;padding:0}
.nav-menu a{color:hsl(var(--foreground));font-weight:500;font-size:.95rem}
.nav-menu a:hover{color:hsl(var(--accent))}
.menu-toggle{display:none;background:none;border:0;font-size:1.4rem;cursor:pointer;color:hsl(var(--foreground))}
@media (max-width:820px){
  .nav-menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:hsl(var(--card));border-bottom:1px solid hsl(var(--border));padding:1rem 1.25rem}
  .nav-menu.open{display:flex}
  .menu-toggle{display:block}
}

/* Hero */
.page-hero{padding:3rem 0}
.page-hero h1{color:hsl(var(--primary-foreground));font-size:clamp(2rem,4.5vw,3.4rem)}
.page-hero p{color:hsl(var(--primary-foreground) / .82);max-width:640px;font-size:1.05rem}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem 1rem;border-radius:9999px;background:hsl(var(--primary-foreground) / .1);border:1px solid hsl(var(--primary-foreground) / .2);font-size:.85rem;margin-bottom:1rem}
.text-gradient{background:linear-gradient(135deg,hsl(36 95% 52%),hsl(36 90% 62%));-webkit-background-clip:text;background-clip:text;color:transparent}

/* Grid of calculator cards (front page & archives) */
.calc-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));padding:2.5rem 0}
.calc-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.25rem;box-shadow:var(--card-shadow);transition:box-shadow .3s,transform .3s;display:flex;flex-direction:column;gap:.6rem}
.calc-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}
.calc-card .icon{width:42px;height:42px;border-radius:10px;background:hsl(var(--accent));color:hsl(var(--accent-foreground));display:flex;align-items:center;justify-content:center;font-weight:700}
.calc-card h3{font-size:1.05rem;margin:.25rem 0}
.calc-card p{color:hsl(var(--muted-foreground));font-size:.9rem;margin:0}
.calc-card .go{margin-top:auto;color:hsl(var(--accent));font-weight:600;font-size:.9rem}

/* Single/post */
.entry{padding:2.5rem 0 3.5rem}
.entry .prose{max-width:820px;margin:0 auto}
.entry h2{font-size:1.6rem;margin-top:2rem}
.entry h3{font-size:1.2rem;margin-top:1.5rem}
.entry p{margin:0 0 1rem}
.entry ul,.entry ol{margin:0 0 1rem 1.25rem}
.entry table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.92rem;border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden}
.entry th{background:hsl(var(--muted));text-align:left;padding:.7rem;font-family:'Space Grotesk';font-weight:600}
.entry td{padding:.7rem;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground))}

/* Calculator widget */
.bp-calc{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.5rem;box-shadow:var(--card-shadow);margin:1.5rem 0}
.bp-calc h3{margin-top:0;font-size:1.15rem}
.bp-calc .fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.9rem}
.bp-calc label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.35rem;color:hsl(var(--foreground))}
.bp-calc .field{position:relative}
.bp-calc input,.bp-calc select{width:100%;padding:.65rem .8rem;border:1px solid hsl(var(--input));border-radius:.5rem;background:hsl(var(--background));color:hsl(var(--foreground));font-size:.95rem;font-family:inherit;outline:none}
.bp-calc input:focus,.bp-calc select:focus{box-shadow:0 0 0 2px hsl(var(--ring))}
.bp-calc .unit{position:absolute;right:.7rem;top:50%;transform:translateY(15%);font-size:.75rem;color:hsl(var(--muted-foreground));pointer-events:none}
.bp-calc .actions{margin-top:1.25rem;display:flex;gap:.6rem;flex-wrap:wrap}
.bp-calc .btn{padding:.65rem 1.4rem;border-radius:.5rem;font-family:'Space Grotesk';font-weight:600;font-size:.9rem;border:1px solid transparent;cursor:pointer;transition:filter .2s,transform .1s}
.bp-calc .btn:active{transform:scale(.98)}
.bp-calc .btn-primary{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}
.bp-calc .btn-primary:hover{filter:brightness(1.08)}
.bp-calc .btn-ghost{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border-color:hsl(var(--border))}
.bp-calc .results{margin-top:1.25rem;padding:1.1rem;border-radius:.6rem;background:hsl(var(--accent) / .06);border:1px solid hsl(var(--accent) / .25);display:none}
.bp-calc .results.show{display:block}
.bp-calc .results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.6rem}
.bp-calc .r{padding:.6rem .8rem;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:.5rem}
.bp-calc .r.hl{background:hsl(var(--accent) / .1);border-color:hsl(var(--accent) / .3)}
.bp-calc .r .lbl{font-size:.7rem;color:hsl(var(--muted-foreground))}
.bp-calc .r .val{font-family:'Space Grotesk';font-weight:700;font-size:1.05rem;margin-top:.15rem}
.bp-calc .r.hl .val{color:hsl(var(--accent))}

/* FAQ */
.bp-faq{margin:2rem 0}
.bp-faq details{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.6rem;margin-bottom:.5rem;overflow:hidden}
.bp-faq summary{padding:.9rem 1.1rem;cursor:pointer;font-weight:500;list-style:none;display:flex;justify-content:space-between;align-items:center}
.bp-faq summary::-webkit-details-marker{display:none}
.bp-faq summary::after{content:"⌄";color:hsl(var(--muted-foreground));transition:transform .2s}
.bp-faq details[open] summary::after{transform:rotate(180deg)}
.bp-faq .a{padding:0 1.1rem 1rem;color:hsl(var(--muted-foreground));border-top:1px solid hsl(var(--border));padding-top:.9rem}

/* Footer */
.site-footer{background:hsl(var(--primary));color:hsl(var(--primary-foreground));padding:2.5rem 0 1.5rem;margin-top:3rem}
.site-footer a{color:hsl(var(--primary-foreground) / .85)}
.site-footer a:hover{color:hsl(var(--accent))}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem}
.footer-grid h4{color:hsl(var(--primary-foreground));font-size:1rem;margin-bottom:.8rem}
.footer-grid ul{list-style:none;padding:0;margin:0}
.footer-grid li{margin-bottom:.4rem;font-size:.9rem}
.footer-bottom{margin-top:2rem;padding-top:1rem;border-top:1px solid hsl(var(--primary-foreground) / .15);text-align:center;font-size:.85rem;color:hsl(var(--primary-foreground) / .7)}
