/* ==========================================================================
   VESSEL — wspólny arkusz CSS
   Ładowany na każdej stronie. Stylizuje: nawigację/stopkę (używane przez
   page.php na stronach koszyka/kasy/konta) oraz natywne formularze
   i tabele WooCommerce na tych stronach.
   ========================================================================== */

:root{
  --ink:#2a1730; --bg:#fdf5fa; --paper:#ffffff;
  --violet:#8b5cf6; --violet-deep:#6d28d9;
  --pink:#ff8fb8; --pink-deep:#f4437e;
  --mint:#5fe0c0; --lav-pale:#f1e6ff; --pink-pale:#ffe7ef;
  --line: rgba(42,23,48,0.10);
  --shadow-soft: 0 18px 40px -24px rgba(109,40,217,0.26);
}

*{ box-sizing:border-box; }
body{ font-family:'Manrope', sans-serif; background:var(--bg); color:var(--ink); line-height:1.6; margin:0; -webkit-font-smoothing:antialiased; }
a{ color:inherit; }
img,svg{ max-width:100%; }
.serif{ font-family:'Fraunces', serif; }

/* ---------- announce + nav (współdzielone z header.php) ---------- */
.announce-wrap{ background:var(--ink); color:#fff; overflow:hidden; }
.announce{ display:flex; gap:60px; white-space:nowrap; animation:vs-scroll 24s linear infinite; padding:9px 0; }
.announce span{ font-size:11.5px; opacity:.82; }
@keyframes vs-scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

nav{ position:sticky; top:0; z-index:60; display:flex; align-items:center; justify-content:space-between; padding:22px 6vw; background:rgba(253,245,250,0.9); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
.logo{ font-family:'Fraunces', serif; font-size:22px; font-style:italic; display:flex; align-items:baseline; gap:9px; text-decoration:none; }
.logo .dot{ width:7px; height:7px; border-radius:50%; background:var(--pink-deep); }
.navlinks{ display:none; gap:28px; font-size:13px; }
@media(min-width:860px){ .navlinks{ display:flex; } }
.navlinks a{ opacity:.65; font-weight:500; text-decoration:none; }
.navlinks a:hover{ opacity:1; }
.nav-right{ display:flex; align-items:center; gap:16px; }
.cart-icon{ position:relative; display:flex; text-decoration:none; }
.cart-icon svg{ width:19px; height:19px; }
.cart-count{ position:absolute; top:-7px; right:-8px; background:var(--pink-deep); color:#fff; font-size:9.5px; width:16px; height:16px; border-radius:50%; display:flex; align-items:center; justify-content:center; }

footer{ padding:50px 6vw; text-align:center; border-top:1px solid var(--line); margin-top:60px; }
.footer-note{ font-size:11.5px; opacity:.45; max-width:640px; margin:0 auto 16px; }
.pay-row{ display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-bottom:20px; }
.pay-chip{ border:1px solid var(--line); border-radius:100px; padding:7px 13px; font-size:10.5px; opacity:.55; }

/* ---------- page.php: koszyk / kasa / konto / zwykłe strony ---------- */
.page-wrap{ max-width:900px; margin:0 auto; padding:50px 6vw 90px; }
.page-title{ font-size:clamp(28px,4vw,40px); font-weight:500; margin-bottom:30px; }

.page-content h1, .page-content h2, .page-content h3{ font-family:'Fraunces', serif; font-weight:500; }
.page-content a{ color:var(--violet-deep); }

/* przyciski WooCommerce w całym motywie (koszyk, kasa, formularze) */
.button, button.button, input.button, #place_order, .checkout-button, .wc-forward{
  display:inline-flex !important; align-items:center; justify-content:center; gap:8px;
  padding:14px 26px !important; border-radius:100px !important; border:none !important;
  background:linear-gradient(135deg, var(--violet), var(--pink-deep)) !important;
  color:#fff !important; font-size:13.5px !important; font-weight:600 !important;
  text-decoration:none !important; cursor:pointer;
  box-shadow:0 12px 26px -12px rgba(139,92,246,0.5);
}
a.remove{ color:var(--pink-deep) !important; text-decoration:none; }

/* tabela koszyka */
table.shop_table{ width:100%; border-collapse:collapse; margin-bottom:30px; }
table.shop_table th{ text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.04em; opacity:.5; padding:12px; border-bottom:1px solid var(--line); }
table.shop_table td{ padding:16px 12px; border-bottom:1px solid var(--line); font-size:14px; }
table.shop_table img{ border-radius:12px; width:60px; height:60px; object-fit:cover; }

/* formularze: kasa, logowanie, moje konto */
.woocommerce-form-row, .form-row{ margin-bottom:16px; }
.woocommerce-form-row label, .form-row label{ display:block; font-size:12.5px; margin-bottom:6px; opacity:.7; }
input.input-text, textarea, select, .woocommerce-Input{
  width:100%; padding:13px 16px; border-radius:12px; border:1.5px solid var(--line);
  font-family:inherit; font-size:14px; background:#fff;
}
input.input-text:focus, textarea:focus, select:focus{ outline:2px solid var(--violet); outline-offset:1px; }

.woocommerce-checkout-review-order{ background:#fff; border:1px solid var(--line); border-radius:20px; padding:24px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  background:var(--lav-pale) !important; border:none !important; border-radius:14px !important;
  padding:16px 20px !important; font-size:13.5px !important; color:var(--ink) !important;
}
.woocommerce-error{ background:var(--pink-pale) !important; }

.woocommerce-MyAccount-navigation ul{ list-style:none; padding:0; display:flex; gap:8px; flex-wrap:wrap; margin-bottom:30px; }
.woocommerce-MyAccount-navigation a{
  display:block; padding:10px 18px; border-radius:100px; border:1.5px solid var(--line);
  font-size:12.5px; font-weight:600; text-decoration:none;
}
.woocommerce-MyAccount-navigation .is-active a{ background:linear-gradient(135deg, var(--violet), var(--pink-deep)); color:#fff; border-color:transparent; }

@media(max-width:600px){
  table.shop_table thead{ display:none; }
  table.shop_table tr{ display:block; border-bottom:2px solid var(--line); padding:12px 0; }
  table.shop_table td{ display:flex; justify-content:space-between; border-bottom:none; padding:6px 0; }
}
