/* LockGrip Elite WooCommerce base styles. Loaded only on WooCommerce/cart/checkout/account pages. */


/* WooCommerce basic styling */
.woocommerce .products{display:grid;grid-template-columns: repeat(3, 1fr);gap:16px}
.woocommerce ul.products li.product{
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 14px;
  box-shadow: var(--shadow);
}
.woocommerce ul.products li.product a{color:inherit}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--muted);font-weight:800}
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
  background: var(--orange) !important;
  color:#0a0a0a !important;
  border-radius:999px !important;
  border:0 !important;
  font-weight:900 !important;
}
.woocommerce a.button:hover{filter:brightness(1.05)}
.woocommerce .price{color:var(--text)}

/* Hide WooCommerce product meta shown under Add to Cart */
.product_meta .sku_wrapper,
.product_meta .tagged_as,
.product_meta .posted_in {
  display: none !important;
}

/* -------------------------------
   CART / CHECKOUT / ACCOUNT
-------------------------------- */
body.woocommerce-cart main,
body.woocommerce-checkout main,
body.woocommerce-account main,
body.woocommerce-cart #primary,
body.woocommerce-checkout #primary,
body.woocommerce-account #primary,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-account .site-main,
body.woocommerce-cart .content-area,
body.woocommerce-checkout .content-area,
body.woocommerce-account .content-area {
  background: #fff !important;
  color: #111 !important;
}

body.woocommerce-cart main,
body.woocommerce-checkout main,
body.woocommerce-account main {
  padding: 5px !important;
  border-radius: 12px;
}

body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-cart .wc-block-cart,
body.woocommerce-cart .wp-block-woocommerce-cart {
  background: #fff !important;
  color: #111 !important;
}

body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-panel,
body.woocommerce-checkout .wc-block-components-totals-wrapper {
  background: #fff !important;
  color: #111 !important;
  border-color: rgba(0,0,0,0.12) !important;
}

body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input textarea,
body.woocommerce-checkout .wc-block-components-combobox__input,
body.woocommerce-checkout .wc-block-components-select select {
  background: #fff !important;
  color: #111 !important;
  border-color: rgba(0,0,0,0.22) !important;
}

body.woocommerce-checkout .wc-block-components-text-input input::placeholder,
body.woocommerce-checkout .wc-block-components-text-input textarea::placeholder,
body.woocommerce-checkout .wc-block-components-combobox__input::placeholder {
  color: rgba(0,0,0,0.45) !important;
  opacity: 1 !important;
}

body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__value {
  color: #111 !important;
}

.wc-block-cart__submit-container .wc-block-components-button,
.wc-block-cart__submit-container .wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
a.wc-block-components-button,
button.wc-block-components-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 64px !important;
  padding: 16px 24px !important;
  background: #000 !important;
  color: #fff !important;
  border: 2px solid #000 !important;
  border-radius: 12px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(0,0,0,0.14) !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.wc-block-components-button__text {
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 18px !important;
}

.wc-block-cart__submit-container {
  margin-top: 20px !important;
}

/* -------------------------------
   SINGLE PRODUCT PAGE
-------------------------------- */
.single-product .site-main,
.single-product .content-area,
.single-product div.product {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

.single-product .woocommerce-product-gallery {
  background: #0f0f0f;
  padding: 12px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.08);
}

.single-product div.product .summary {
  background: #141414;
  padding: 24px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.08);
}

.single-product .product_title {
  font-size: 36px;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1.05;
}

.single-product .price {
  font-size: 30px;
  font-weight: 900;
  color: #fff;
}

.single-product .quantity input,
.quantity input.qty {
  background: #0f0f0f;
  color: #fff;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  height: 48px;
  text-align: center !important;
  min-width: 56px !important;
}

.single-product .single_add_to_cart_button {
  background: #f68720 !important;
  color: #111 !important;
  border-radius: 14px !important;
  height: 54px;
  font-weight: 800 !important;
  width: 100%;
  font-size: 16px;
}

.single-product .summary > * {
  margin-bottom: 14px;
}

.flex-control-thumbs img {
  border-radius: 10px;
}

.woocommerce-tabs .panel,
.woocommerce-Tabs-panel {
  background: transparent;
}

@media (max-width: 768px) {
  .single-product div.product {
    padding-left: 12px;
    padding-right: 12px;
  }

  .single-product .product_title {
    font-size: 28px;
  }
}

/* Qty plus/minus buttons */
.quantity .plus,
.quantity .minus,
.qty-plus,
.qty-minus,
button.plus,
button.minus {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 44px !important;
  height: 44px !important;
  font-size: 32px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  color: #111 !important;
  background: #fff !important;
  border: 1px solid #dcdcdc !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-indent: 0 !important;
  overflow: visible !important;
}

.quantity .plus::before,
.quantity .minus::before,
button.plus::before,
button.minus::before {
  color: #111 !important;
  font-size: 32px !important;
  line-height: 1 !important;
  opacity: 1 !important;
}

/* -------------------------------
   PRODUCT DESCRIPTION CUSTOM BLOCK
-------------------------------- */
.lkgp-desc {
  --bg: #0c0c0c;
  --card: #151515;
  --card2: #1a1a1a;
  --line: rgba(255,255,255,.08);
  --text: #fff;
  --muted: #cfcfcf;
  --soft: #a8a8a8;
  --accent: #f68720;
  --accent2: #f68720;
  --radius: 18px;
  --shadow: 0 10px 28px rgba(0,0,0,.24);
  max-width: 1100px;
  margin: 22px auto 0;
  color: var(--text);
  font-family: Arial, Helvetica, sans-serif;
}

.lkgp-desc * { box-sizing: border-box; }

.lkgp-section {
  background: linear-gradient(180deg,var(--card),var(--card2));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px;
  margin-bottom: 16px;
  overflow: hidden;
}

.lkgp-title {
  margin: 0 0 10px;
  font-size: 32px;
  line-height: 1;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .01em;
}

.lkgp-sub {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6;
}

.lkgp-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  align-items: center;
}

.lkgp-image {
  min-height: 220px;
  border-radius: 16px;
  background: #111 center center / cover no-repeat;
  border: 1px solid var(--line);
  overflow: hidden;
}

.lkgp-bullets {
  list-style: none;
  padding: 0;
  margin: 12px 0 0;
  display: grid;
  gap: 10px;
}

.lkgp-bullets li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}

.lkgp-check {
  color: var(--accent);
  font-weight: 900;
  flex: 0 0 auto;
  margin-top: 1px;
}

.lkgp-mini-note {
  margin-top: 12px;
  color: var(--soft);
  font-size: 13px;
  line-height: 1.5;
}

.lkgp-steps,
.lkgp-compare,
.lkgp-reviews {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 14px;
}

.lkgp-step,
.lkgp-benefit,
.lkgp-compare-card,
.lkgp-review {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 15px 14px;
  background: rgba(255,255,255,.02);
}

.lkgp-step { text-align: center; }

.lkgp-step-num {
  width: 34px;
  height: 34px;
  margin: 0 auto 10px;
  border-radius: 999px;
  background: linear-gradient(180deg,var(--accent2),var(--accent));
  color: #111;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 18px;
}

.lkgp-step h3,
.lkgp-benefit h3,
.lkgp-compare-card h3 {
  margin: 0 0 8px;
  line-height: 1.2;
  text-transform: uppercase;
  font-weight: 900;
}

.lkgp-step h3 { font-size: 20px; }
.lkgp-benefit h3 { font-size: 15px; }
.lkgp-compare-card h3 { font-size: 17px; }

.lkgp-step p,
.lkgp-benefit p,
.lkgp-review p,
.lkgp-compare-card li {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

.lkgp-benefits {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 12px;
  margin-top: 14px;
}

.lkgp-benefit { min-height: 118px; }

.lkgp-compare-card.lockgrip {
  border-color: rgba(246,135,32,.36);
  box-shadow: inset 0 0 0 1px rgba(246,135,32,.12);
}

.lkgp-compare-card.lockgrip h3 { color: var(--accent); }

.lkgp-compare-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 9px;
}

.lkgp-accordion {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.lkgp-accordion details {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.02);
  overflow: hidden;
}

.lkgp-accordion summary {
  list-style: none;
  cursor: pointer;
  padding: 15px 16px;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.lkgp-accordion summary::-webkit-details-marker { display: none; }

.lkgp-accordion-content {
  padding: 0 16px 16px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}

.lkgp-accordion-content ul {
  margin: 0;
  padding-left: 18px;
}

.lkgp-accordion-content li { margin-bottom: 8px; }

.lkgp-stars {
  color: #f68720;
  font-size: 16px;
  margin-bottom: 8px;
  letter-spacing: .08em;
}

.lkgp-review p {
  color: #fff;
  margin-bottom: 8px;
}

.lkgp-review span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.lkgp-cta {
  text-align: center;
  padding: 22px 18px;
  background: linear-gradient(180deg,#121212,#181818);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow);
  margin-bottom: 16px;
}

.lkgp-cta h2 {
  margin: 0 0 10px;
  font-size: 30px;
  line-height: 1.02;
  text-transform: uppercase;
  font-weight: 900;
}

.lkgp-cta p {
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6;
}

.lkgp-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 52px;
  padding: 14px 22px;
  background: linear-gradient(180deg,var(--accent2),var(--accent));
  color: #111;
  text-decoration: none;
  border-radius: 16px;
  font-size: 16px;
  font-weight: 900;
  text-transform: uppercase;
  box-shadow: 0 10px 20px rgba(246,135,32,.22);
}

.lkgp-trust-row {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 10px;
}

.lkgp-trust-row div {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px 8px;
  background: rgba(255,255,255,.02);
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
}

@media (min-width: 768px) {
  .lkgp-row { grid-template-columns: 1fr 1fr; }
  .lkgp-steps { grid-template-columns: repeat(3,1fr); }
  .lkgp-benefits { grid-template-columns: repeat(4,1fr); }
  .lkgp-compare { grid-template-columns: repeat(2,1fr); }
  .lkgp-reviews { grid-template-columns: repeat(3,1fr); }
  .lkgp-trust-row { grid-template-columns: repeat(4,1fr); }
}
