/*
Theme Name: CareBridge Medical Supply
Theme URI: https://carebridgemedical.example
Author: CareBridge
Description: Senior-friendly WooCommerce storefront theme for CareBridge Medical Supply — Oakland & San Jose. Large accessible typography, two-location local-SEO structure, Google Ads-ready landing layout.
Version: 1.0.8
Requires at least: 6.4
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: carebridge
Tags: e-commerce, accessibility-ready, two-columns
WC requires at least: 8.0
*/

:root{
  --cb-teal:#0e7c7b; --cb-teal-dark:#0a5c5b; --cb-teal-light:#e3f2f1;
  --cb-navy:#16324f; --cb-ink:#1e2b36; --cb-muted:#465866;
  --cb-bg:#f6f9f9; --cb-line:#dde6e6; --cb-accent:#e8843c; --cb-accent-dark:#c96b28;
  --cb-radius:12px; --cb-shadow:0 2px 10px rgba(22,50,79,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:'Segoe UI',system-ui,-apple-system,Arial,sans-serif;color:var(--cb-ink);background:var(--cb-bg);line-height:1.6;font-size:17.5px}
img{max-width:100%;height:auto}
a{color:var(--cb-teal)}
h1,h2,h3{color:var(--cb-navy);line-height:1.2}
:focus-visible{outline:3px solid var(--cb-accent);outline-offset:2px;border-radius:4px}
.cb-wrap{max-width:1180px;margin:0 auto;padding:0 20px}

.cb-btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{
  display:inline-block;border:none;cursor:pointer;font-weight:700;border-radius:9px;padding:14px 24px;font-size:17px;text-decoration:none;transition:.15s;line-height:1.2}
.cb-btn-primary,.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--cb-teal)!important;color:#fff!important}
.cb-btn-primary:hover,.woocommerce a.button.alt:hover{background:var(--cb-teal-dark)!important}
.cb-btn-accent{background:var(--cb-accent);color:#fff}
.cb-btn-accent:hover{background:var(--cb-accent-dark);color:#fff}
.cb-btn-outline{background:#fff;color:var(--cb-teal);border:2px solid var(--cb-teal)}
.woocommerce a.button,.woocommerce button.button{background:var(--cb-teal);color:#fff}

/* Utility bar */
.cb-utility{background:var(--cb-navy);color:#e2edf7;font-size:15px}
.cb-utility .cb-wrap{display:flex;justify-content:space-between;align-items:center;padding-top:8px;padding-bottom:8px;gap:10px;flex-wrap:wrap}

/* Header */
.cb-header{background:#fff;border-bottom:1px solid var(--cb-line);position:sticky;top:0;z-index:50;box-shadow:var(--cb-shadow)}
.cb-header-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0}
.cb-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.cb-logo svg,.cb-logo img{width:52px;height:52px;flex-shrink:0}
.cb-logo-name{font-size:25px;font-weight:800;color:var(--cb-navy)}
.cb-logo-name span{color:var(--cb-teal)}
.cb-logo-tag{font-size:12.5px;color:var(--cb-muted);letter-spacing:.5px;font-weight:600}
.cb-header-cta{display:flex;align-items:center;gap:12px;flex-shrink:0}
.cb-phone{display:flex;align-items:center;gap:9px;text-decoration:none;background:var(--cb-bg);border:2px solid var(--cb-line);border-radius:10px;padding:8px 14px;line-height:1.2}
.cb-phone:hover{border-color:var(--cb-teal)}
.cb-phone small{color:var(--cb-muted);font-size:12px;display:block;font-weight:700}
.cb-phone b{font-size:19px;font-weight:800;color:var(--cb-navy);white-space:nowrap}
.cb-account,.cb-cart{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:800;border-radius:10px;padding:11px 16px;white-space:nowrap}
.cb-account{border:2px solid var(--cb-teal);color:var(--cb-teal)}
.cb-cart{background:var(--cb-teal-light);border:2px solid var(--cb-teal);color:var(--cb-teal-dark);position:relative}
.cb-cart .count{position:absolute;top:-9px;right:-9px;background:var(--cb-accent);color:#fff;font-size:13px;font-weight:800;border-radius:999px;min-width:23px;height:23px;display:flex;align-items:center;justify-content:center;padding:0 5px}
.cb-nav-row{border-top:1px solid var(--cb-line)}
.cb-nav-row ul{display:flex;gap:30px;list-style:none;margin:0;padding:0;overflow-x:auto}
.cb-nav-row a{text-decoration:none;color:var(--cb-ink);font-weight:700;font-size:17px;padding:11px 0;display:inline-block;white-space:nowrap}
.cb-nav-row a:hover{color:var(--cb-teal);text-decoration:underline;text-underline-offset:6px}

/* Hero */
.cb-hero{background:linear-gradient(135deg,var(--cb-navy) 0%,var(--cb-teal-dark) 100%);color:#fff;position:relative;background-size:cover;background-position:center 18%}
.cb-hero.has-photo{min-height:560px;display:flex;align-items:center}
.cb-hero-in{display:grid;grid-template-columns:1.6fr 360px;gap:40px;padding:56px 0;align-items:end;width:100%}
.cb-hero h1{color:#fff;font-size:38px;margin:0 0 14px;max-width:600px;text-shadow:0 2px 8px rgba(0,0,0,.35)}
.cb-hero .lead{font-size:20.5px;color:#e2eeee;margin-bottom:24px;max-width:560px;text-shadow:0 1px 6px rgba(0,0,0,.35)}
.cb-hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px}
.cb-trust{display:flex;gap:22px;flex-wrap:wrap;font-size:15.5px;color:#dcebeb;font-weight:600;max-width:560px}
.cb-trust div::before{content:"✓ ";color:#7fd8c9;font-weight:800}
.cb-hero-card{background:rgba(9,28,42,.55);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);border-radius:16px;padding:18px}
.cb-hero-card h3{color:#fff;font-size:15.5px;margin:0 0 10px}
.cb-locmini{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.16);border-radius:10px;padding:10px 12px;margin-bottom:10px;gap:10px}
.cb-locmini b{display:block;font-size:15.5px;color:#fff}
.cb-locmini small{color:#d3e5e5;font-size:12.5px}

/* Sections */
.cb-section{padding:52px 0}
.cb-section h2{font-size:32px;margin:0 0 8px}
.cb-sub{color:var(--cb-muted);max-width:640px;margin-bottom:20px}
.cb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.cb-card{background:#fff;border:1px solid var(--cb-line);border-radius:var(--cb-radius);box-shadow:var(--cb-shadow);padding:20px}

/* Locations */
.cb-locations{background:#fff;border-top:1px solid var(--cb-line);border-bottom:1px solid var(--cb-line)}
.cb-loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.cb-loc-card{background:var(--cb-bg);border:1px solid var(--cb-line);border-radius:var(--cb-radius);overflow:hidden;box-shadow:var(--cb-shadow)}
.cb-loc-card iframe{width:100%;height:220px;border:0;display:block}
.cb-loc-body{padding:20px}
.cb-loc-body h3{font-size:23px;margin:0 0 4px}
.cb-loc-body .addr{color:var(--cb-muted);font-size:16.5px;margin-bottom:12px}
.cb-loc-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px 16px;font-size:16px;margin-bottom:14px}
.cb-loc-actions{display:flex;gap:10px;flex-wrap:wrap}
.cb-btn-sm{padding:11px 18px;font-size:15.5px;border-radius:8px}

/* Why cards */
.cb-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}
.cb-why-grid .ico{font-size:32px;margin-bottom:10px}
.cb-why-grid h3{font-size:18px;margin:0 0 6px}
.cb-why-grid p{font-size:15px;color:var(--cb-muted);margin:0}

/* WooCommerce polish */
.woocommerce ul.products li.product{background:#fff;border:1px solid var(--cb-line);border-radius:var(--cb-radius);box-shadow:var(--cb-shadow);padding:0 0 16px;overflow:hidden;text-align:left}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:18.5px;color:var(--cb-navy);padding:0 16px}
.woocommerce ul.products li.product .price{font-size:23px;font-weight:800;color:var(--cb-navy);padding:0 16px}
.woocommerce ul.products li.product .button{margin:8px 16px 0}
.woocommerce span.onsale{background:var(--cb-accent)}
.woocommerce .stock.in-stock{color:#256b41;font-weight:700}
.woocommerce .stock.out-of-stock{color:#b03030;font-weight:700}
.woocommerce-store-notice,p.demo_store{background:var(--cb-teal)}
.woocommerce-message,.woocommerce-info{border-top-color:var(--cb-teal)}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0}
.woocommerce-account .woocommerce-MyAccount-navigation li{background:#fff;border:1px solid var(--cb-line);border-radius:9px;margin-bottom:8px}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:12px 16px;font-weight:700;text-decoration:none}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:var(--cb-teal-dark)}

/* WooCommerce: shop grid & product cards */
.woocommerce ul.products{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin:0 0 24px;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none !important;content:none !important}
.woocommerce ul.products li.product{width:auto !important;margin:0 !important;float:none !important;display:flex;flex-direction:column}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;text-decoration:none}
.woocommerce ul.products li.product img{width:100%;aspect-ratio:1/1;object-fit:cover;margin:0 0 12px;border-radius:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 16px;margin:0 0 6px;line-height:1.3}
.woocommerce ul.products li.product .price{margin:auto 0 0;padding-top:6px}
.woocommerce ul.products li.product .button{align-self:flex-start}
.woocommerce .woocommerce-result-count{color:var(--cb-muted);font-size:15px}
.woocommerce .woocommerce-ordering select{padding:10px;border:2px solid var(--cb-line);border-radius:8px;font-size:15px}
.woocommerce nav.woocommerce-pagination ul{border:none}
.woocommerce nav.woocommerce-pagination ul li{border:none;margin:0 3px}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{padding:12px 16px;border-radius:8px;font-weight:700;font-size:16px;background:#fff;border:1.5px solid var(--cb-line);color:var(--cb-ink)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--cb-teal);color:#fff;border-color:var(--cb-teal)}

/* WooCommerce: single product */
.woocommerce div.product div.images img{border-radius:var(--cb-radius);border:1px solid var(--cb-line)}
.woocommerce div.product .product_title{font-size:30px}
.woocommerce div.product p.price{font-size:27px;font-weight:800;color:var(--cb-navy)}
.woocommerce div.product form.cart .quantity .qty{padding:12px;font-size:17px;border:2px solid var(--cb-line);border-radius:9px;width:70px}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom-color:#fff}
.woocommerce div.product .related.products h2{font-size:24px}

/* WooCommerce: forms, cart, checkout, notices */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text{padding:12px;border:2px solid #c9d6d6;border-radius:9px;font-size:16px}
.woocommerce form .form-row label{font-weight:700;color:var(--cb-navy);font-size:15px}
.woocommerce table.shop_table{border:1px solid var(--cb-line);border-radius:var(--cb-radius);border-collapse:separate;background:#fff}
.woocommerce table.shop_table th{color:var(--cb-navy);font-size:15px}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{padding:14px 12px}
.woocommerce .cart_totals h2,.woocommerce #order_review_heading{font-size:22px}
.woocommerce-checkout #payment{background:var(--cb-teal-light);border-radius:var(--cb-radius)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{font-size:15.5px}
.woocommerce-breadcrumb{color:var(--cb-muted);font-size:14px;margin-bottom:14px}
.woocommerce-breadcrumb a{color:var(--cb-teal-dark)}

/* Slide-in cart drawer */
.cb-drawer-back{display:none;position:fixed;inset:0;background:rgba(22,50,79,.45);z-index:90}
.cb-drawer-back.show{display:block}
.cb-drawer{position:fixed;top:0;right:-460px;width:440px;max-width:94vw;height:100vh;background:#fff;z-index:95;box-shadow:-6px 0 24px rgba(0,0,0,.18);transition:right .25s;display:flex;flex-direction:column}
.cb-drawer.open{right:0}
.cb-drawer-head{padding:18px 20px;border-bottom:1px solid var(--cb-line);display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:19px;color:var(--cb-navy)}
.cb-drawer-close{background:none;border:none;font-size:26px;cursor:pointer;color:var(--cb-muted);width:42px;height:42px}
.cb-drawer-items{flex:1;overflow-y:auto;padding:14px 20px}
.cb-drawer .woocommerce-mini-cart{list-style:none;margin:0;padding:0}
.cb-drawer .woocommerce-mini-cart li{display:block;padding:16px 44px 16px 0;border-bottom:1px solid var(--cb-line);position:relative}
.cb-drawer .woocommerce-mini-cart li a:not(.remove){display:flex;align-items:center;gap:14px}
.cb-drawer .woocommerce-mini-cart li img{width:116px;height:116px;object-fit:cover;border-radius:12px;float:none;margin:0;border:1px solid var(--cb-line);flex-shrink:0}
.cb-drawer .woocommerce-mini-cart li a{font-weight:700;color:var(--cb-navy);text-decoration:none;font-size:16.5px;line-height:1.35}
.cb-drawer .woocommerce-mini-cart li a.remove{position:absolute;right:0;top:50%;transform:translateY(-50%);color:#c0392b !important;font-size:22px;width:34px;height:34px;text-align:center;border:2px solid var(--cb-line);border-radius:8px;line-height:29px;background:#fff}
.cb-drawer .woocommerce-mini-cart li a.remove:hover{border-color:#c0392b;background:#fdeaea}
.cb-drawer .woocommerce-mini-cart li .quantity{display:block;color:var(--cb-muted);font-size:16.5px;margin-top:8px;font-weight:600;padding-left:130px;white-space:nowrap}
.cb-drawer .woocommerce-mini-cart li .quantity .woocommerce-Price-amount{color:var(--cb-navy);font-weight:800;font-size:16px}
.cb-drawer .woocommerce-mini-cart__total{padding:16px 20px;margin:0;border-top:2px solid var(--cb-line);font-size:20px;font-weight:800;color:var(--cb-navy);display:flex;justify-content:space-between;background:var(--cb-bg)}
.cb-drawer .woocommerce-mini-cart__total .woocommerce-Price-amount{font-size:22px}
.cb-drawer .woocommerce-mini-cart__buttons{padding:0 20px 20px;margin:0;display:flex;flex-direction:column;gap:10px;background:var(--cb-bg)}
.cb-drawer .woocommerce-mini-cart__buttons a{text-align:center;width:100%;margin:0;font-size:17.5px;padding:15px 24px}
.cb-drawer .woocommerce-mini-cart__buttons a.checkout{background:var(--cb-accent) !important;color:#fff !important}
.cb-drawer .woocommerce-mini-cart__empty-message{text-align:center;color:var(--cb-muted);padding:40px 10px;font-size:16px}

/* Footer */
.cb-footer{background:var(--cb-navy);color:#c4d4e3;padding:44px 0 30px;font-size:15.5px}
.cb-footer h4{color:#fff;font-size:15px;margin:0 0 12px}
.cb-footer a{color:#c4d4e3;text-decoration:none;display:block;margin-bottom:7px}
.cb-footer a:hover{color:#fff}
.cb-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;margin-bottom:26px}
.cb-foot-note{border-top:1px solid rgba(255,255,255,.15);padding-top:18px;font-size:12px;color:#8fa5ba}

@media (max-width:900px){
  .cb-hero-in,.cb-loc-grid{grid-template-columns:1fr}
  .cb-why-grid,.cb-foot-grid{grid-template-columns:1fr 1fr}
  .cb-hero h1{font-size:30px}
  .cb-header-top{flex-wrap:wrap;justify-content:center}
  .cb-header-cta{width:100%;justify-content:center;flex-wrap:wrap}
}

/* Concept-style tile extras: badges, description, stock line */
.cb-badges{display:flex;gap:6px;flex-wrap:wrap;padding:0 16px;margin:6px 0}
.cb-pill{display:inline-block;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:700;background:var(--cb-teal-light);color:var(--cb-teal-dark)}
.cb-pill-buy-or-rent{background:#fdf0e3;color:#c96b28}
.cb-pill-rx-required{background:#eef3fb;color:#3d5a92}
.cb-pill-insurance-eligible{background:#e9f5ee;color:#256b41}
.cb-loop-desc{padding:0 16px;font-size:15px;color:var(--cb-muted);line-height:1.5;margin:4px 0 6px}
.cb-stockline{padding:0 16px;font-size:14px;font-weight:800;margin:2px 0 4px}
.cb-stock-in{color:#256b41}
.cb-stock-low{color:#8a5c00}
.cb-stock-out{color:#b03030}

/* Category chips */
.cb-cat-row{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 24px}
.cb-cat-chip{background:#fff;border:2px solid #b9c9c9;border-radius:999px;padding:11px 20px;font-size:16px;font-weight:700;color:var(--cb-ink);text-decoration:none}
.cb-cat-chip:hover{border-color:var(--cb-teal);color:var(--cb-teal-dark)}
.cb-cat-chip.active{background:var(--cb-teal);border-color:var(--cb-teal);color:#fff}
