/* Premier Cellars Hub: system pages (login, library, checkout, invoices, cart) in the site's look */
:root { --pc-ink: #053f52; --pc-teal: #1f8fb3; --pc-pink: #ff66cc; --pc-bg: #eceff0; --pc-card: #ffffff; --pc-muted: #5f6b70; }
* { box-sizing: border-box; }
body { margin: 0; font-family: 'Archivo', Arial, sans-serif; color: #333; background: var(--pc-bg); line-height: 1.55; }
h1, h2, h3 { font-family: 'Cabin', Arial, sans-serif; color: var(--pc-ink); line-height: 1.2; }
a { color: var(--pc-teal); }
.pc-top { display: flex; align-items: center; justify-content: space-between; padding: 14px 32px; background: #fff; box-shadow: 0 1px 0 rgba(0,0,0,.06); }
.pc-logo img { height: 34px; display: block; }
.pc-top nav a { margin-left: 24px; text-decoration: none; color: var(--pc-ink); font-weight: 500; }
.pc-main { max-width: 980px; margin: 0 auto; padding: 48px 20px 72px; min-height: 60vh; }
.pc-foot { text-align: center; font-size: 13px; color: var(--pc-muted); padding: 24px; }
.pc-card, .pc-checkout, .pc-invoice, .pc-lib { background: var(--pc-card); border-radius: 4px; padding: 40px; box-shadow: 0 2px 14px rgba(0,0,0,.06); }
.pc-card { max-width: 520px; margin: 0 auto; }
.pc-checkout { max-width: 640px; margin: 0 auto; }
.pc-offer-img { width: 100%; border-radius: 4px; margin-bottom: 20px; }
.pc-price { font-size: 26px; font-weight: 700; color: var(--pc-ink); }
.pc-form label { display: block; font-weight: 600; font-size: 14px; color: var(--pc-ink); margin: 14px 0; }
.pc-form input, .pc-form select, .pc-form textarea { display: block; width: 100%; margin-top: 6px; padding: 12px; border: 1px solid #cfd6d9; border-radius: 3px; font: inherit; }
.pc-btn { display: inline-block; background: var(--pc-ink); color: #fff !important; border: 0; padding: 13px 26px; font: 600 16px 'Archivo', Arial, sans-serif; text-decoration: none; cursor: pointer; border-radius: 2px; margin-top: 10px; }
.pc-btn:hover { background: var(--pc-teal); }
.pc-error { color: #b3261e; font-weight: 600; }
.pc-paid { display: inline-block; background: #e3f5e8; color: #1c6b34; padding: 6px 12px; border-radius: 3px; font-weight: 700; }
.pc-lib-head { display: flex; justify-content: space-between; align-items: baseline; }
.pc-prod { display: grid; grid-template-columns: 220px 1fr; gap: 24px; padding: 24px 0; border-top: 1px solid #e6eaec; }
.pc-prod img { width: 100%; border-radius: 3px; }
.pc-prod h2 { margin-top: 0; }
.pc-files { padding-left: 18px; }
.pc-files li { margin: 6px 0; }
.pc-sub { margin-top: 40px; }
.pc-table { width: 100%; border-collapse: collapse; margin: 20px 0; }
.pc-table th, .pc-table td { text-align: left; padding: 10px 8px; border-bottom: 1px solid #e6eaec; }
.pc-table .r, .r { text-align: right; }
.pc-table tr.tot td { font-weight: 700; font-size: 18px; color: var(--pc-ink); border-bottom: 0; }
.pc-inv-head { display: flex; justify-content: space-between; gap: 24px; }
.pc-inv-logo { height: 46px; }
.pc-inv-bill { margin: 28px 0 8px; }
.pc-notes { color: var(--pc-muted); white-space: normal; }
.pc-print { margin-top: 28px; font-size: 14px; }
.pc-cart-row { display: grid; grid-template-columns: 90px 1fr auto auto; gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid #e6eaec; }
.pc-cart-row img { width: 90px; border-radius: 3px; }
.pc-cart-row button { background: none; border: 0; color: var(--pc-muted); cursor: pointer; font-size: 14px; text-decoration: underline; }
.pc-cart-total { text-align: right; font-size: 20px; font-weight: 700; color: var(--pc-ink); margin: 20px 0; }
@media (max-width: 640px) {
  .pc-top { padding: 12px 16px; } .pc-top nav a { margin-left: 14px; font-size: 14px; }
  .pc-card, .pc-checkout, .pc-invoice, .pc-lib { padding: 24px 18px; }
  .pc-prod { grid-template-columns: 1fr; }
  .pc-inv-head { flex-direction: column; }
  .pc-cart-row { grid-template-columns: 64px 1fr auto; } .pc-cart-row img { width: 64px; } .pc-cart-row .pc-cart-price { grid-column: 2; }
}
@media print { .pc-top, .pc-foot, .pc-print, .pc-btn { display: none !important; } body { background: #fff; } .pc-invoice { box-shadow: none; } }

/* storefront additions injected by site.js */
.hub-cart-btn { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; color: #053f52; position: relative; text-decoration: none; }
.header--fixed .hub-cart-btn { color: #ff66cc; }
.hub-cart-count { position: absolute; top: -4px; right: -6px; background: #ff66cc; color: #fff; font: 700 11px Arial, sans-serif; border-radius: 9px; min-width: 17px; height: 17px; display: flex; align-items: center; justify-content: center; padding: 0 4px; }
.hub-toast { position: fixed; right: 18px; bottom: 18px; z-index: 99999; background: #2b2b2b; color: #fff; font: 600 14px Arial, sans-serif; padding: 16px 20px; border-radius: 6px; box-shadow: 0 6px 20px rgba(0,0,0,.25); display: flex; gap: 14px; align-items: center; }
.hub-toast a { color: #fff; text-decoration: underline; }
.hub-toast button { background: none; border: 0; color: #fff; font-size: 20px; cursor: pointer; line-height: 1; }

