:root{
  --gkc-green:#06513f;
  --gkc-green-2:#0a6b54;
  --gkc-ink:#303532;
  --gkc-muted:#68716c;
  --gkc-line:#dce2de;
  --gkc-soft:#f2f4f3;
  --gkc-soft-green:#eaf3ef;
  --gkc-yellow:#f2c900;
  --gkc-white:#fff;
  --gkc-radius:22px;
  --gkc-shadow:0 8px 0 rgba(6,81,63,.08);
}

body.woocommerce-cart,
body.woocommerce-checkout{
  color:var(--gkc-ink);
  background:#fff;
}

body.woocommerce-cart main,
body.woocommerce-checkout main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:54px max(22px,calc((100vw - 1240px)/2)) 96px!important;
  background:#fff;
}

body.woocommerce-cart main>.wp-block-post-title,
body.woocommerce-checkout main>.wp-block-post-title{
  position:relative;
  width:max-content;
  max-width:100%;
  margin:8px auto 42px!important;
  color:#173329;
  font-size:clamp(3rem,6vw,5rem)!important;
  font-weight:900!important;
  letter-spacing:-.06em!important;
  line-height:.95!important;
  text-align:center;
}

body.woocommerce-cart main>.wp-block-post-title:after,
body.woocommerce-checkout main>.wp-block-post-title:after{
  content:'';
  position:absolute;
  z-index:-1;
  left:3%;
  right:-2%;
  bottom:-10px;
  height:9px;
  border-radius:999px;
  background:var(--gkc-yellow);
  transform:rotate(-1deg);
}

.gk-commerce-kicker{
  margin:0 auto 12px;
  color:var(--gkc-green);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.13em;
  text-align:center;
  text-transform:uppercase;
}

.gk-commerce-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:min(920px,100%);
  margin:0 auto 34px;
  overflow:hidden;
  border:1px solid var(--gkc-line);
  border-radius:17px;
  background:var(--gkc-soft);
}

.gk-commerce-step{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:58px;
  padding:11px 15px;
  color:#6d756f;
  font-size:.84rem;
  font-weight:850;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.gk-commerce-step:hover{background:#fff;color:var(--gkc-green)}
.gk-commerce-step:focus-visible{position:relative;z-index:2;outline:3px solid rgba(242,201,0,.65);outline-offset:-3px}

.gk-commerce-step+.gk-commerce-step{border-left:1px solid var(--gkc-line)}
.gk-commerce-step i{
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  flex:0 0 27px;
  border:1px solid #c8d0cb;
  border-radius:50%;
  background:#fff;
  color:var(--gkc-muted);
  font-size:.74rem;
  font-style:normal;
  font-weight:900;
}
.gk-commerce-step.is-done{color:var(--gkc-green)}
.gk-commerce-step.is-done i{border-color:var(--gkc-green);background:var(--gkc-green);color:#fff}
.gk-commerce-step.is-current{background:#fff;color:var(--gkc-ink)}
.gk-commerce-step.is-current i{border-color:var(--gkc-yellow);background:var(--gkc-yellow);color:#173329}

.gk-commerce-highlights{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  width:min(1180px,100%);
  margin:0 auto 28px;
}
.gk-commerce-highlight{
  display:flex;
  align-items:center;
  gap:13px;
  min-height:80px;
  padding:16px 18px;
  border:1px solid var(--gkc-line);
  border-radius:17px;
  background:#fff;
  box-shadow:0 4px 0 rgba(6,81,63,.05);
}
.gk-commerce-highlight__icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:13px;
  background:var(--gkc-soft-green);
  font-size:1.2rem;
}
.gk-commerce-highlight strong{display:block;color:#173329;font-size:.94rem;line-height:1.2}
.gk-commerce-highlight small{display:block;margin-top:3px;color:var(--gkc-muted);font-size:.75rem;line-height:1.25}

/* Carrito de bloques de WooCommerce */
body.woocommerce-cart .entry-content,
body.woocommerce-cart .wp-block-woocommerce-cart{
  width:min(1180px,100%)!important;
  max-width:none!important;
  margin-inline:auto!important;
}
body.woocommerce-cart .wc-block-cart{
  align-items:start;
  gap:24px;
}
body.woocommerce-cart .wc-block-cart__main{
  flex-basis:66%!important;
  padding-right:0!important;
}
body.woocommerce-cart .wc-block-cart__sidebar{
  position:sticky;
  top:22px;
  flex-basis:34%!important;
  padding:24px!important;
  border:1px solid var(--gkc-line);
  border-radius:var(--gkc-radius);
  background:var(--gkc-soft);
  box-shadow:var(--gkc-shadow);
}
body.woocommerce-cart .wc-block-cart-items{
  border:1px solid var(--gkc-line)!important;
  border-collapse:separate!important;
  border-radius:var(--gkc-radius);
  background:#fff;
  overflow:hidden;
}
body.woocommerce-cart .wc-block-cart-items thead{
  color:var(--gkc-muted);
  background:var(--gkc-soft);
  font-size:.69rem;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
body.woocommerce-cart .wc-block-cart-items td,
body.woocommerce-cart .wc-block-cart-items th{border-color:var(--gkc-line)!important}
body.woocommerce-cart .wc-block-cart-item__image img{
  aspect-ratio:1/1;
  padding:10px;
  border-radius:14px;
  background:var(--gkc-soft);
  object-fit:contain;
}
body.woocommerce-cart .wc-block-components-product-name{
  color:#173329!important;
  font-size:1.08rem!important;
  font-weight:900!important;
  text-decoration:none!important;
}
body.woocommerce-cart .wc-block-components-product-details{
  margin-top:9px!important;
  padding:10px 12px!important;
  border-left:4px solid var(--gkc-yellow);
  border-radius:0 11px 11px 0;
  background:#fbfcfb;
  color:var(--gkc-muted);
  font-size:.78rem!important;
}
body.woocommerce-cart .wc-block-components-quantity-selector{
  border:1px solid #cfd6d1!important;
  border-radius:12px!important;
  background:#fff;
}
body.woocommerce-cart .wc-block-components-totals-wrapper{
  padding:15px 0!important;
  border-color:var(--gkc-line)!important;
}
body.woocommerce-cart .wc-block-components-totals-item__label{font-weight:800}
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  color:#173329;
  font-size:1.2rem!important;
  font-weight:900!important;
}
body.woocommerce-cart .wc-block-cart__submit-container{background:transparent!important}
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .checkout-button{
  min-height:60px!important;
  border:0!important;
  border-radius:15px!important;
  background:var(--gkc-green)!important;
  box-shadow:0 5px 0 var(--gkc-yellow)!important;
  color:#fff!important;
  font-size:1rem!important;
  font-weight:900!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .checkout-button:hover{background:var(--gkc-green-2)!important;transform:translateY(-1px)}

/* Carrito clásico, por compatibilidad. */
body.woocommerce-cart .woocommerce-cart-form{
  overflow:hidden;
  border:1px solid var(--gkc-line);
  border-radius:var(--gkc-radius);
  background:#fff;
}
body.woocommerce-cart .cart-collaterals .cart_totals{
  padding:24px;
  border:1px solid var(--gkc-line);
  border-radius:var(--gkc-radius);
  background:var(--gkc-soft);
  box-shadow:var(--gkc-shadow);
}

.gk-commerce-trust{
  margin:18px 0 3px;
  padding:16px;
  border:1px solid #d8e5df;
  border-radius:15px;
  background:linear-gradient(105deg,#fff 0,#fff 62%,#f0f7d9 100%);
}
.gk-commerce-trust__score{display:flex;align-items:center;gap:8px;color:#173329}
.gk-commerce-trust__score span{color:#e0a800;letter-spacing:.04em}
.gk-commerce-trust strong{font-weight:900}
.gk-commerce-trust p{margin:5px 0 0;color:var(--gkc-muted);font-size:.73rem;line-height:1.4}
.gk-commerce-trust__ticks{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:11px;color:var(--gkc-green);font-size:.72rem;font-weight:800}

/* Carrito vacío */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block{
  padding:48px clamp(20px,5vw,70px);
  border:1px solid var(--gkc-line);
  border-radius:var(--gkc-radius);
  background:var(--gkc-soft);
  text-align:center;
}
body.woocommerce-cart .wc-block-cart__empty-cart__title{
  margin:0 0 12px!important;
  color:#173329;
  font-size:clamp(1.8rem,4vw,3rem)!important;
  font-weight:900!important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block:before{
  content:'🛒';
  display:grid;
  place-items:center;
  width:70px;
  height:70px;
  margin:0 auto 17px;
  border-radius:21px;
  background:#fff;
  font-size:2rem;
  box-shadow:0 5px 0 rgba(6,81,63,.08);
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator{border-color:#cbd3ce!important}

/* Checkout con resumen fijo a la derecha. */
body.woocommerce-checkout:not(.woocommerce-order-received) .gk-header{
  border-bottom:1px solid var(--gkc-line);
  background:#fff;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .gk-header__nav,
body.woocommerce-checkout:not(.woocommerce-order-received) .gk-header__actions,
body.woocommerce-checkout:not(.woocommerce-order-received) .gk-mega{display:none!important}
body.woocommerce-checkout:not(.woocommerce-order-received) .gk-header__bar:after{
  content:'🔒  Pago seguro';
  margin-left:auto;
  color:var(--gkc-ink);
  font-size:.82rem;
  font-weight:850;
}
body.woocommerce-checkout:not(.woocommerce-order-received) header.wp-block-template-part,
body.woocommerce-checkout:not(.woocommerce-order-received) footer.wp-block-template-part{display:none!important}
body.woocommerce-checkout:not(.woocommerce-order-received) main{
  padding-top:34px!important;
  background:linear-gradient(90deg,#fff 0,#fff 56%,var(--gkc-soft) 56%,var(--gkc-soft) 100%);
}
body.woocommerce-checkout main>.wp-block-post-title{font-size:clamp(2.4rem,4vw,3.7rem)!important}
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .wp-block-woocommerce-checkout{
  width:min(1180px,100%)!important;
  max-width:none!important;
  margin-inline:auto!important;
}
body.woocommerce-checkout .wc-block-components-sidebar-layout{
  align-items:start;
  gap:66px;
}
body.woocommerce-checkout .wc-block-checkout__main{
  flex-basis:58%!important;
  padding-right:0!important;
}
body.woocommerce-checkout .wc-block-checkout__sidebar{
  position:sticky;
  top:24px;
  flex-basis:42%!important;
  padding:24px!important;
  border:1px solid var(--gkc-line);
  border-radius:var(--gkc-radius);
  background:#fff!important;
  box-shadow:var(--gkc-shadow);
}
.gk-checkout-summary-title{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:18px;
  padding-bottom:16px;
  border-bottom:1px solid var(--gkc-line);
}
.gk-checkout-summary-title span{
  color:var(--gkc-green);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.13em;
}
.gk-checkout-summary-title strong{
  color:#173329;
  font-size:1.18rem;
  font-weight:900;
}
body.woocommerce-checkout .wc-block-components-checkout-step{
  margin-bottom:18px!important;
  padding:22px!important;
  border:1px solid var(--gkc-line);
  border-radius:18px;
  background:#fff;
}
body.woocommerce-checkout .wc-block-components-checkout-step__heading{margin-bottom:16px!important}
body.woocommerce-checkout .wc-block-components-checkout-step__title{
  color:#173329!important;
  font-size:1.25rem!important;
  font-weight:900!important;
}
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-checkout input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea{
  min-height:54px!important;
  border:1px solid #ccd4cf!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--gkc-ink)!important;
  box-shadow:none!important;
}
body.woocommerce-checkout input:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout textarea:focus{border-color:var(--gkc-green)!important;box-shadow:0 0 0 3px rgba(6,81,63,.1)!important}
body.woocommerce-checkout .wc-block-components-order-summary-item__image img{
  border-radius:12px;
  background:var(--gkc-soft);
  object-fit:contain;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name{
  color:#173329!important;
  font-weight:900!important;
}
body.woocommerce-checkout .wc-block-components-product-details{
  margin-top:8px!important;
  color:var(--gkc-muted);
  font-size:.75rem!important;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout #place_order{
  min-height:62px!important;
  border:0!important;
  border-radius:15px!important;
  background:var(--gkc-green)!important;
  box-shadow:0 5px 0 var(--gkc-yellow)!important;
  color:#fff!important;
  font-size:1.03rem!important;
  font-weight:900!important;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout #place_order:hover{background:var(--gkc-green-2)!important;transform:translateY(-1px)}
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button{color:var(--gkc-green)!important;font-weight:800}

.gk-secure-footer{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:20px max(22px,calc((100vw - 1180px)/2));
  border-top:1px solid var(--gkc-line);
  background:#fff;
  color:var(--gkc-muted);
  font-size:.76rem;
}
.gk-secure-footer strong{color:var(--gkc-green)}

@media(max-width:900px){
  body.woocommerce-cart main,
  body.woocommerce-checkout main{padding:38px 18px 70px!important}
  .gk-commerce-highlights{grid-template-columns:1fr}
  .gk-commerce-highlight{min-height:68px}
  body.woocommerce-cart .wc-block-cart,
  body.woocommerce-checkout .wc-block-components-sidebar-layout{display:block!important}
  body.woocommerce-cart .wc-block-cart__sidebar,
  body.woocommerce-checkout .wc-block-checkout__sidebar{position:static;margin-top:24px}
  body.woocommerce-checkout:not(.woocommerce-order-received) main{background:#fff}
}

@media(max-width:620px){
  body.woocommerce-cart main>.wp-block-post-title,
  body.woocommerce-checkout main>.wp-block-post-title{margin-bottom:32px!important;font-size:2.8rem!important}
  .gk-commerce-steps{grid-template-columns:1fr;margin-bottom:24px}
  .gk-commerce-step{justify-content:flex-start;min-height:47px;padding:9px 13px}
  .gk-commerce-step+.gk-commerce-step{border-top:1px solid var(--gkc-line);border-left:0}
  .gk-commerce-highlights{gap:9px}
  .gk-commerce-highlight{padding:13px 14px}
  body.woocommerce-cart .wc-block-cart__sidebar,
  body.woocommerce-checkout .wc-block-checkout__sidebar{padding:18px!important;border-radius:17px}
  body.woocommerce-checkout .wc-block-components-checkout-step{padding:17px!important}
  .gk-secure-footer{flex-direction:column;align-items:center;text-align:center}
}
