/*
Theme Name: PurpleHoneyBee Vibrant Shop
Theme URI: https://purplehoneybee.com
Author: PurpleHoneyBee
Description: Vibrant WooCommerce shop-first theme for PurpleHoneyBee.com with homepage category image tiles, clean SEO footer, and no bottom category clutter.
Version: 1.0.5
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: purplehoneybee-vibrant
*/
:root{--purple:#6d28d9;--violet:#a855f7;--pink:#ec4899;--gold:#facc15;--cream:#fff7ed;--ink:#25113f;--muted:#6b4b83;--card:#ffffff;--shadow:0 15px 35px rgba(80,24,135,.18)}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:radial-gradient(circle at top left,#fff4c7 0,#f8d7ff 28%,#ead7ff 52%,#fff 100%);line-height:1.6}a{color:var(--purple);text-decoration:none}a:hover{color:var(--pink)}img{max-width:100%;height:auto}.site-wrap{max-width:1240px;margin:0 auto;padding:0 18px}.topbar{background:linear-gradient(90deg,var(--purple),var(--pink),var(--gold));color:white;text-align:center;font-weight:800;padding:8px 16px;letter-spacing:.3px}.site-header{padding:22px 0 18px}.brand-card{background:rgba(255,255,255,.82);border:3px solid rgba(255,255,255,.75);box-shadow:var(--shadow);border-radius:30px;overflow:visible;text-align:center;padding:14px;max-width:1080px;margin:0 auto}.brand-image{display:block;width:100%;height:auto;object-fit:contain;border-radius:22px}.brand-fallback{padding:44px 20px;background:linear-gradient(135deg,#6d28d9,#ec4899,#facc15);color:white}.brand-fallback h1{font-size:clamp(2rem,5vw,4.5rem);margin:0;font-weight:900}.brand-fallback p{font-size:1.2rem;margin:.3rem 0 0}.main-nav{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin:16px 0 0}.main-nav a{background:#fff;border:2px solid rgba(168,85,247,.28);border-radius:999px;padding:9px 15px;font-weight:800;box-shadow:0 5px 15px rgba(109,40,217,.1)}.main-nav a:hover{background:linear-gradient(90deg,var(--purple),var(--pink));color:white}.layout{display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start}.content,.sidebar-card{background:rgba(255,255,255,.88);border-radius:24px;box-shadow:var(--shadow);padding:24px}.hero{background:linear-gradient(135deg,#7c3aed,#ec4899 58%,#facc15);color:white;border-radius:28px;padding:34px 26px;margin-bottom:26px;position:relative;overflow:hidden}.hero:after{content:'🐝';position:absolute;right:22px;bottom:-24px;font-size:130px;opacity:.16}.hero h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1;margin:.1rem 0 .8rem;font-weight:900}.hero p{font-size:1.12rem;max-width:760px;margin:0}.section-title{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.1;margin:0 0 16px;font-weight:900}.phb-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:18px 0 28px}.phb-category-tile{background:white;border-radius:20px;overflow:hidden;box-shadow:0 10px 25px rgba(109,40,217,.16);border:2px solid rgba(168,85,247,.18);transition:.18s ease;display:block;text-align:center}.phb-category-tile:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(236,72,153,.24);border-color:var(--pink)}.phb-category-tile img{width:100%;height:220px;object-fit:cover;display:block;background:#f3e8ff}.phb-placeholder{height:220px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f3e8ff,#fce7f3);font-size:54px}.phb-empty-products{background:#fff7ed;border:2px solid #f3e8ff;border-radius:16px;padding:18px;font-weight:700;color:var(--muted)}.phb-category-name{display:block;padding:12px 10px 14px;font-weight:900;color:var(--ink);font-size:1.05rem}.phb-count{display:block;color:var(--muted);font-size:.86rem;font-weight:700}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{background:white;border-radius:18px;padding:12px;box-shadow:0 8px 22px rgba(109,40,217,.12);text-align:center}.woocommerce ul.products li.product a img{border-radius:14px}.button,.wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:linear-gradient(90deg,var(--purple),var(--pink))!important;color:#fff!important;border-radius:999px!important;font-weight:900!important;border:none!important;padding:11px 18px!important}.sidebar h2,.sidebar-card h2{margin:0 0 12px;font-size:1.25rem}.side-section{margin-bottom:26px}.side-list{list-style:none;margin:0;padding:0}.side-list li{border-bottom:1px dashed #dfc5ff;padding:8px 0;font-weight:700}.search-form input[type=search]{width:100%;padding:11px 12px;border:2px solid #e9d5ff;border-radius:14px}.search-form button{margin-top:8px;width:100%;border:0;border-radius:14px;padding:10px;background:linear-gradient(90deg,var(--purple),var(--pink));color:white;font-weight:900}.site-footer{margin-top:34px;background:linear-gradient(135deg,#2e1065,#6d28d9,#ec4899);color:white;padding:34px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}.site-footer h2,.site-footer h3{margin-top:0}.site-footer a{color:#fff4c7}.footer-note{font-size:.92rem;opacity:.92;margin-top:20px;border-top:1px solid rgba(255,255,255,.22);padding-top:16px}.no-bottom-cats{display:none!important}@media(max-width:980px){.layout{grid-template-columns:1fr}.phb-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr}}@media(max-width:560px){.phb-category-grid{grid-template-columns:1fr}.phb-category-tile img{height:190px}.content,.sidebar-card{padding:18px}.hero{padding:26px 18px}.site-header{padding-top:22px}.brand-card{padding:8px;border-radius:22px}.brand-image{border-radius:16px}}

/* PHB corrected header sizing and footer ad banners */
.site-header{padding:10px 0 12px!important;overflow:visible!important;}
.site-header .site-wrap{max-width:1060px!important;}
.brand-card{max-width:980px!important;padding:8px!important;border-radius:22px!important;overflow:visible!important;}
.brand-image{display:block!important;width:auto!important;max-width:100%!important;max-height:285px!important;height:auto!important;object-fit:contain!important;margin:0 auto!important;border-radius:16px!important;}
.topbar{padding:6px 14px!important;font-size:.95rem!important;line-height:1.25!important;}
.main-nav{margin-top:10px!important;}
.main-nav a{padding:7px 12px!important;font-size:.94rem!important;}

.phb-footer-ads{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:26px;}
.phb-footer-ad{display:block;text-align:center;line-height:0;}
.phb-footer-ad img{display:block;height:auto;margin:0 auto;border:0;}
.phb-genx-ad img{max-width:min(760px,100%);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.28);}
.phb-keen-ad img{max-width:135px;background:#fff;border-radius:8px;padding:8px 12px;box-shadow:0 6px 18px rgba(0,0,0,.18);}
@media(max-width:700px){.brand-image{max-height:180px!important}.phb-genx-ad img{max-width:96%}.phb-keen-ad img{max-width:115px}.site-header .site-wrap{padding:0 10px}}


/* FINAL HARD FIX: footer banner size + header fit */
.site-header,
.site-header * {
  box-sizing: border-box !important;
}
.site-header {
  padding-top: 6px !important;
  padding-bottom: 8px !important;
  overflow: visible !important;
}
.site-header .site-wrap {
  max-width: 980px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
}
.site-header .brand-card {
  max-width: 940px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 6px !important;
  border-radius: 18px !important;
  overflow: visible !important;
}
.site-header img.brand-image,
.site-header .brand-image {
  display: block !important;
  width: 100% !important;
  max-width: 900px !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
  border-radius: 14px !important;
}
.phb-footer-ads {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 0 auto 22px !important;
  padding: 0 12px !important;
}
.phb-footer-ads a.phb-footer-ad,
.site-footer .phb-footer-ads a.phb-footer-ad,
a.phb-genx-ad {
  display: block !important;
  width: 350px !important;
  max-width: 90vw !important;
  line-height: 0 !important;
  margin: 0 auto !important;
  text-align: center !important;
}
.phb-footer-ads a.phb-genx-ad img,
.site-footer .phb-footer-ads a.phb-genx-ad img,
.site-footer img.phb-genx-footer-image {
  width: 350px !important;
  max-width: 90vw !important;
  height: auto !important;
  max-height: none !important;
  display: block !important;
  margin: 0 auto !important;
  border-radius: 8px !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.22) !important;
}
.phb-footer-ads a.phb-keen-ad,
.site-footer .phb-footer-ads a.phb-keen-ad {
  display: block !important;
  width: 110px !important;
  max-width: 35vw !important;
  margin: 0 auto !important;
}
.phb-footer-ads a.phb-keen-ad img,
.site-footer .phb-footer-ads a.phb-keen-ad img,
.site-footer img.phb-keen-footer-image {
  width: 110px !important;
  max-width: 35vw !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
  background: #fff !important;
  border-radius: 6px !important;
  padding: 6px 9px !important;
}
@media (max-width: 600px) {
  .site-header img.brand-image,
  .site-header .brand-image {
    max-width: 100% !important;
  }
  .phb-footer-ads a.phb-genx-ad,
  .phb-footer-ads a.phb-genx-ad img,
  .site-footer img.phb-genx-footer-image {
    width: 300px !important;
    max-width: 90vw !important;
  }
}
