/* Opti Print — cart / checkout / thank-you */
:root{
  --op-blue:#1A56D6;
  --op-blue-deep:#0B2C6B;
  --op-graphite:#2B2F38;
  --op-accent:#FF7A29;
  --op-bg:#F4F6FA;
  --op-line:#E3E8F0;
}

.op-cart-page .woocommerce{
  max-width:1100px;margin:0 auto;padding:24px 16px 48px;
  color:var(--op-graphite);
}

/* ========== CHECKOUT (kill Printec floats) ========== */
body.op-checkout-page .entry-header,
body.op-checkout-page .page-title,
body.op-checkout-page .entry-title,
body.op-checkout-page h1.entry-title,
body.op-checkout-page .page-header,
body.op-checkout-page .woocommerce-products-header,
body.op-checkout-page .woocommerce-products-header__title,
body.op-checkout-page .site-main > .page-title,
body.op-checkout-page .content-area > .page-title,
body.op-checkout-page .woocommerce-billing-fields > h3 small,
body.op-checkout-page .woocommerce-additional-fields > h3 small,
body.op-checkout-page .op-page-hero,
body.woocommerce-checkout .op-page-hero{
  display:none !important;
}
body.op-checkout-page .woocommerce{
  display:block !important;
  float:none !important;
  width:100% !important;
  max-width:1100px !important;
  margin:0 auto !important;
  padding:24px 16px 56px !important;
  color:var(--op-graphite);
}
body.op-checkout-page .woocommerce::before,
body.op-checkout-page .woocommerce::after{
  content:none !important;display:none !important;
}
body.op-checkout-page .op-checkout-title{
  margin:0 0 16px;
  font-size:clamp(28px,3vw,36px);
  font-weight:800;
  line-height:1.2;
  color:var(--op-blue-deep);
  letter-spacing:.01em;
}
body.op-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info,
body.op-checkout-page .woocommerce-info{
  background:#fff !important;
  border:1px solid var(--op-line) !important;
  border-left:4px solid var(--op-accent) !important;
  border-radius:14px !important;
  color:var(--op-graphite) !important;
  box-shadow:0 8px 20px rgba(11,44,107,.05);
  margin:0 0 18px !important;
  padding:14px 16px !important;
}
body.op-checkout-page .woocommerce-info::before{display:none !important;}
body.op-checkout-page .woocommerce-info a{color:var(--op-blue);font-weight:700;}
body.op-checkout-page form.checkout_coupon{
  flex-wrap:wrap;gap:12px;align-items:flex-end;
  background:#fff;border:1px solid var(--op-line);border-radius:16px;
  padding:14px 16px;margin:0 0 20px !important;
}
/* WC toggles via inline display:none — only flex when shown */
body.op-checkout-page form.checkout_coupon:not([style*="none"]){
  display:flex !important;
}
body.op-checkout-page form.checkout_coupon .form-row{
  margin:0 !important;padding:0 !important;width:auto !important;float:none !important;
}
body.op-checkout-page form.checkout_coupon .form-row-first{
  flex:0 1 240px !important;width:auto !important;max-width:260px !important;
}
body.op-checkout-page form.checkout_coupon .form-row-last{
  flex:0 0 auto !important;width:auto !important;
}
body.op-checkout-page form.checkout_coupon input.input-text{
  width:100% !important;min-width:0;height:46px;border-radius:12px !important;
}
body.op-checkout-page form.checkout_coupon button{
  min-height:46px !important;padding:0 18px !important;border-radius:12px !important;
  background:var(--op-blue-deep) !important;color:#fff !important;
  border:2px solid var(--op-accent) !important;font-weight:800 !important;
  width:auto !important;
}

body.op-checkout-page form.checkout,
body.op-checkout-page form.checkout.woocommerce-checkout{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(300px,360px) !important;
  gap:20px 28px !important;
  align-items:start !important;
  width:100% !important;
  max-width:none !important;
  float:none !important;
  margin:0 !important;
  clear:none !important;
}
body.op-checkout-page form.checkout::before,
body.op-checkout-page form.checkout::after{
  content:none !important;display:none !important;
}

body.op-checkout-page #customer_details,
body.op-checkout-page .col2-set#customer_details,
body.op-checkout-page form.checkout > .col2-set{
  grid-column:1 !important;
  grid-row:1 / span 3 !important;
  float:none !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:22px 24px !important;
  clear:none !important;
  background:#fff;
  border:1px solid var(--op-line);
  border-radius:20px;
  box-shadow:0 10px 28px rgba(11,44,107,.06);
  min-width:0;
}
body.op-checkout-page #customer_details::before,
body.op-checkout-page #customer_details::after,
body.op-checkout-page .col2-set::before,
body.op-checkout-page .col2-set::after{
  content:none !important;display:none !important;
}
body.op-checkout-page #customer_details .col-1,
body.op-checkout-page #customer_details .col-2,
body.op-checkout-page .col2-set .col-1,
body.op-checkout-page .col2-set .col-2{
  float:none !important;
  width:100% !important;
  max-width:none !important;
  margin:0 0 8px !important;
  padding:0 !important;
  clear:none !important;
}

/* Sticky order card — same viewport rules as product «Ваше замовлення» */
body.op-checkout-page .op-overflow-visible{overflow:visible !important;}
body.op-checkout-page form.checkout,
body.op-checkout-page form.checkout.woocommerce-checkout,
body.op-checkout-page .woocommerce,
body.op-checkout-page .site-content,
body.op-checkout-page .content-area,
body.op-checkout-page .site-main{
  overflow:visible !important;
}
body.op-checkout-page #order_review_heading{
  grid-column:2 !important;
  grid-row:1 !important;
  float:none !important;
  width:100% !important;
  margin:0 !important;
  padding:18px 22px 0 !important;
  background:linear-gradient(160deg,var(--op-blue-deep) 0%,var(--op-blue) 100%);
  border-radius:20px 20px 0 0;
  color:var(--op-accent) !important;
  font-size:22px !important;
  font-weight:800 !important;
  box-shadow:0 16px 40px rgba(11,44,107,.28);
}
body.op-checkout-page #order_review,
body.op-checkout-page .woocommerce-checkout-review-order{
  grid-column:2 !important;
  grid-row:1 / span 3 !important;
  float:none !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  clear:none !important;
  position:sticky !important;
  top:96px !important;
  align-self:start !important;
  z-index:20;
  display:flex !important;
  flex-direction:column !important;
  max-height:calc(100vh - 112px);
  max-height:calc(100dvh - 112px);
  overflow:hidden !important;
  background:linear-gradient(160deg,var(--op-blue-deep) 0%,var(--op-blue) 100%) !important;
  border:none !important;
  border-radius:20px !important;
  padding:0 !important;
  box-shadow:0 16px 40px rgba(11,44,107,.28);
  color:#fff;
}
body.op-checkout-page #order_review #order_review_heading{
  flex:0 0 auto;
  background:transparent !important;
  box-shadow:none !important;
  padding:20px 24px 12px !important;
  border-radius:0 !important;
  grid-column:auto !important;
  grid-row:auto !important;
  margin:0 !important;
  width:auto !important;
}
body.op-checkout-page #order_review .op-checkout-review-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:0 24px 16px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.35) transparent;
}
body.op-checkout-page #order_review .op-checkout-review-scroll::-webkit-scrollbar{width:6px;}
body.op-checkout-page #order_review .op-checkout-review-scroll::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.35);border-radius:999px;
}
body.op-checkout-page #order_review #payment,
body.op-checkout-page #order_review .op-checkout-place{
  flex:0 0 auto;
  padding:12px 22px 20px !important;
  margin:0 !important;
  border-top:1px solid rgba(255,255,255,.16);
  background:linear-gradient(180deg,rgba(11,44,107,.15) 0%,rgba(11,44,107,.45) 100%);
}

body.op-checkout-page .woocommerce-billing-fields > h3,
body.op-checkout-page .woocommerce-additional-fields > h3{
  font-size:22px;font-weight:800;color:var(--op-blue-deep);margin:0 0 16px;
}
body.op-checkout-page .form-row{margin:0 0 14px !important;padding:0 !important;}
body.op-checkout-page .form-row label{
  font-weight:700;color:var(--op-blue-deep);font-size:13px;margin:0 0 6px;
}
body.op-checkout-page .form-row-first,
body.op-checkout-page .form-row-last{
  width:calc(50% - 8px) !important;
  float:left !important;
}
body.op-checkout-page .form-row-last{float:right !important;}
body.op-checkout-page .form-row-wide{clear:both !important;width:100% !important;}
body.op-checkout-page .form-row input.input-text,
body.op-checkout-page .form-row textarea,
body.op-checkout-page .form-row select,
body.op-checkout-page .op-np-box .input-text{
  width:100% !important;
  border:1.5px solid #c9d6ef !important;border-radius:12px !important;
  padding:12px 14px !important;background:#fff !important;box-shadow:none !important;
  min-height:46px;box-sizing:border-box;
}
body.op-checkout-page .form-row textarea{min-height:110px;resize:vertical;}
body.op-checkout-page .form-row input.input-text:focus,
body.op-checkout-page .form-row textarea:focus,
body.op-checkout-page .op-np-box .input-text:focus{
  border-color:var(--op-blue) !important;outline:none;
  box-shadow:0 0 0 3px rgba(26,86,214,.12) !important;
}

/* Delivery block */
.op-checkout-delivery{
  margin:8px 0 20px;padding:0;border:0;background:transparent;
}
.op-checkout-delivery h3{margin:0 0 14px;font-size:22px;font-weight:800;color:var(--op-blue-deep);}
.op-ship-option{
  display:flex;gap:12px;align-items:flex-start;padding:14px;
  border:1px solid var(--op-line);border-radius:14px;margin:0 0 10px;cursor:pointer;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
  background:#fff;
}
.op-ship-option:hover{border-color:rgba(26,86,214,.35);}
.op-ship-option:has(input:checked){
  border-color:var(--op-blue);background:rgba(26,86,214,.04);
  box-shadow:0 0 0 3px rgba(26,86,214,.1);
}
.op-ship-option input{margin-top:4px;accent-color:var(--op-blue);}
.op-ship-option__body{display:grid;gap:2px;}
.op-ship-option__body strong{color:var(--op-blue-deep);font-size:15px;}
.op-ship-option__body small{color:#6b7280;font-size:13px;line-height:1.35;}
.op-vat-min-notice{
  margin:12px 0 0;padding:14px 14px 12px;border-radius:14px;
  background:#fff4ec;border:1px solid rgba(255,122,41,.45);
  display:grid;gap:10px;
}
.op-vat-min-notice[hidden]{display:none !important;}
.op-vat-min-notice__text{
  margin:0;color:#FF7A29;font-size:13px;line-height:1.45;font-weight:800;
}
.op-vat-min-notice__actions{
  display:flex;flex-wrap:wrap;gap:8px;
}
.op-vat-min-notice__btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:9px 14px;border-radius:999px;
  border:2px solid rgba(26,86,214,.28);
  background:#fff;color:var(--op-blue-deep);
  font:inherit;font-size:13px;font-weight:750;line-height:1.2;
  text-decoration:none !important;
  transition:background .15s,border-color .15s,color .15s;
}
.op-vat-min-notice__btn:hover{
  border-color:var(--op-accent);background:#fff8f2;color:var(--op-blue-deep);
}
.op-vat-min-notice__btn--primary{
  border-color:transparent;
  background:var(--op-accent);color:#fff;
}
.op-vat-min-notice__btn--primary:hover{
  filter:brightness(1.05);background:var(--op-accent);color:#fff;border-color:transparent;
}
.op-vat-min-notice__suggest{
  margin:0;font-size:12px;line-height:1.4;color:#6b7280;
}
.op-vat-min-notice__suggest a{
  color:var(--op-blue);font-weight:700;text-decoration:underline;
}
.op-vat-min-notice__soon{color:#9aa3b2;}
.op-vat-rekvizyty{
  margin:14px 0 0;padding:16px;border-radius:14px;
  border:1px solid rgba(26,86,214,.22);
  background:linear-gradient(180deg,#fff 0%,#f7f9ff 100%);
  display:grid;gap:8px;
}
.op-vat-rekvizyty[hidden]{display:none !important;}
.op-vat-rekvizyty__title{
  margin:0;font-size:16px;font-weight:800;color:var(--op-blue-deep);
}
.op-vat-rekvizyty__lead{
  margin:0 0 4px;font-size:13px;line-height:1.45;color:#6b7280;
}
.op-vat-rekvizyty__label{
  margin:4px 0 0;font-size:13px;font-weight:700;color:var(--op-graphite);
}
.op-vat-rekvizyty textarea.input-text{
  width:100%;min-height:110px;resize:vertical;
  border:1px solid rgba(43,47,56,.16);border-radius:12px;
  padding:12px 14px;font:inherit;font-size:14px;line-height:1.4;
  background:#fff;color:var(--op-graphite);
}
.op-vat-rekvizyty textarea.input-text:focus{
  outline:none;border-color:var(--op-blue);
  box-shadow:0 0 0 3px rgba(26,86,214,.12);
}
.op-vat-rekvizyty__files{
  display:block;width:100%;
  font:inherit;font-size:13px;color:var(--op-graphite);
}
.op-vat-rekvizyty__hint{
  margin:0;font-size:12px;line-height:1.4;color:#8b93a1;
}
.op-vat-rekvizyty__warn{
  margin:0;padding:10px 12px;border-radius:10px;
  background:#fff4ec;border:1px solid rgba(255,122,41,.4);
  color:#c45a12;font-size:13px;line-height:1.4;font-weight:700;
}
.op-vat-rekvizyty__warn[hidden]{display:none !important;}
.op-vat-rekvizyty__later{
  display:flex;align-items:flex-start;gap:8px;
  margin:2px 0 0;font-size:13px;font-weight:650;color:var(--op-graphite);cursor:pointer;
}
.op-vat-rekvizyty__later input{margin-top:2px;accent-color:var(--op-blue);}
#place_order.is-vat-blocked,
button[name="woocommerce_checkout_place_order"].is-vat-blocked{
  opacity:.55;cursor:not-allowed;filter:grayscale(.1);
}
.op-ship-option__np{display:inline-flex;align-items:center;gap:8px;}
.op-ship-option__np img{width:22px;height:22px;object-fit:contain;background:#fff;border-radius:6px;}

.op-np-box{
  margin:0 0 12px;padding:16px;border-radius:14px;
  border:1px solid rgba(26,86,214,.2);background:linear-gradient(180deg,#fff,#f7f9ff);
}
.op-np-types{display:flex;flex-wrap:wrap;gap:10px 16px;margin:0 0 14px;}
.op-np-types label{display:inline-flex;align-items:center;gap:6px;font-size:14px;cursor:pointer;}
.op-np-types input{accent-color:var(--op-blue);}
.op-chip-muted{
  display:inline-block;margin-left:4px;padding:2px 8px;border-radius:999px;
  background:#eef2f7;color:#64748b;font-size:11px;font-weight:700;
}
.op-np-label{display:block;margin:0 0 6px;font-size:13px;font-weight:700;color:var(--op-blue-deep);}
.op-np-autocomplete{position:relative;margin:0 0 12px;}
.op-np-suggest{
  position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;
  list-style:none;margin:0;padding:6px;max-height:220px;overflow:auto;
  background:#fff;border:1px solid var(--op-line);border-radius:12px;
  box-shadow:0 12px 28px rgba(11,44,107,.14);
}
.op-np-suggest li{padding:10px 12px;border-radius:8px;cursor:pointer;font-size:14px;}
.op-np-suggest li:hover,.op-np-suggest li.is-active{background:rgba(26,86,214,.08);color:var(--op-blue-deep);}
.op-np-quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.op-np-quick button{
  border:none;background:transparent;color:var(--op-blue);font:inherit;font-size:13px;
  font-weight:700;padding:0;cursor:pointer;text-decoration:underline;
}
.op-np-note{margin:8px 0 0;font-size:12px;color:#6b7280;line-height:1.4;}
.op-np-note--error{color:#b42318;}

/* Order review table + payment */
body.op-checkout-page .woocommerce-checkout-review-order-table{
  width:100% !important;border:0 !important;color:#fff;margin:0 0 16px;
  display:block !important;
}
body.op-checkout-page .woocommerce-checkout-review-order-table thead{display:none !important;}
body.op-checkout-page .woocommerce-checkout-review-order-table tbody,
body.op-checkout-page .woocommerce-checkout-review-order-table tfoot{
  display:block !important;width:100% !important;
}
body.op-checkout-page .woocommerce-checkout-review-order-table tbody tr.cart_item{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-rows:auto auto !important;
  gap:6px 12px !important;
  padding:0 0 14px !important;margin:0 0 14px !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
  width:100% !important;
  align-items:start !important;
}
body.op-checkout-page .woocommerce-checkout-review-order-table th,
body.op-checkout-page .woocommerce-checkout-review-order-table td{
  border:0 !important;padding:0 !important;background:transparent !important;
  color:inherit !important;vertical-align:top;
  display:block !important;
  width:auto !important;max-width:none !important;
  word-break:normal !important;overflow-wrap:break-word !important;
}
body.op-checkout-page #order_review .woocommerce-Price-amount,
body.op-checkout-page #order_review .woocommerce-Price-amount bdi,
body.op-checkout-page #order_review .woocs_special_price_code,
body.op-checkout-page #order_review .amount{
  color:#fff !important;
}
body.op-checkout-page .woocommerce-checkout-review-order-table .product-name,
body.op-checkout-page .woocommerce-checkout-review-order-table .product-name a{
  grid-column:1 !important;grid-row:1 !important;
  justify-self:stretch !important;
  width:100% !important;min-width:0 !important;
  font-weight:700;color:#fff !important;font-size:15px;line-height:1.35;
  text-align:left !important;
}
body.op-checkout-page .woocommerce-checkout-review-order-table .product-name .product-quantity{
  opacity:.75;font-weight:600;font-size:13px;
}
body.op-checkout-page .woocommerce-checkout-review-order-table .product-total{
  grid-column:2 !important;grid-row:1 !important;
  justify-self:end !important;
  width:auto !important;
  text-align:right !important;white-space:nowrap;align-self:start;
}
body.op-checkout-page .woocommerce-checkout-review-order-table .product-total .amount,
body.op-checkout-page .woocommerce-checkout-review-order-table .product-total .woocommerce-Price-amount,
body.op-checkout-page .woocommerce-checkout-review-order-table .product-total .amount bdi,
body.op-checkout-page .woocommerce-checkout-review-order-table .product-total .woocommerce-Price-currencySymbol{
  font-weight:800 !important;color:var(--op-accent) !important;font-size:16px !important;
}
/* Order details — label left ··· value right (full width) */
body.op-checkout-page .woocommerce-checkout-review-order-table .product-name,
body.op-checkout-page .woocommerce-checkout-review-order-table .product-name a{
  text-align:left !important;
}
body.op-checkout-page tr.cart_item > .op-review-meta{
  grid-column:1 / -1 !important;
  grid-row:2 !important;
}
body.op-checkout-page .op-review-meta{
  list-style:none;margin:4px 0 0;padding:0;
  display:grid !important;gap:8px;width:100% !important;
  max-width:100% !important;
  justify-items:stretch !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
body.op-checkout-page .op-review-meta li{
  display:grid !important;
  grid-template-columns:auto minmax(12px,1fr) minmax(0,max-content) !important;
  align-items:baseline !important;
  column-gap:8px;
  width:100% !important;max-width:100% !important;
  font-size:13px;line-height:1.4;color:#fff !important;
  box-sizing:border-box !important;
  min-width:0 !important;
}
body.op-checkout-page .op-review-meta li span{
  grid-column:1;color:#fff !important;opacity:.95;font-weight:600;
  text-align:left !important;min-width:0;white-space:nowrap;
}
body.op-checkout-page .op-review-meta li strong{
  grid-column:3;color:#fff !important;font-weight:700;
  text-align:right !important;min-width:0 !important;max-width:14em;
  overflow-wrap:anywhere !important;word-break:break-word !important;
  white-space:normal !important;
}
body.op-checkout-page .op-review-meta .op-summary__lead{
  grid-column:2;min-width:12px;height:0;margin:0 0 4px;border:0 !important;align-self:end;
  border-bottom:1px dotted rgba(255,122,41,.85) !important;
}
body.op-checkout-page .woocommerce-checkout-review-order-table tfoot tr{
  justify-content:space-between !important;
}
body.op-checkout-page .woocommerce-checkout-review-order-table tfoot th{
  text-align:left !important;flex:1 1 auto !important;
}
/* Fallback if JS hasn't rewritten dl yet */
body.op-checkout-page .woocommerce-checkout-review-order-table dl.variation{
  display:grid !important;gap:8px !important;margin:12px 0 0 !important;width:100% !important;
}
body.op-checkout-page .woocommerce-checkout-review-order-table dl.variation dt,
body.op-checkout-page .woocommerce-checkout-review-order-table dl.variation dd,
body.op-checkout-page .woocommerce-checkout-review-order-table dl.variation dd p{
  color:#fff !important;float:none !important;margin:0 !important;padding:0 !important;
  width:auto !important;word-break:normal !important;
}
body.op-checkout-page .woocommerce-checkout-review-order-table tfoot tr{
  display:flex !important;justify-content:space-between;align-items:baseline;
  gap:12px;padding:10px 0 !important;
  border-top:1px solid rgba(255,255,255,.18) !important;
}
body.op-checkout-page .woocommerce-checkout-review-order-table tfoot th,
body.op-checkout-page .woocommerce-checkout-review-order-table tfoot td,
body.op-checkout-page .woocommerce-checkout-review-order-table tfoot .amount,
body.op-checkout-page .woocommerce-checkout-review-order-table tfoot .woocommerce-Price-amount,
body.op-checkout-page .woocommerce-checkout-review-order-table tfoot bdi{
  color:#fff !important;font-weight:700;
}
body.op-checkout-page .woocommerce-checkout-review-order-table tfoot th{text-align:left;flex:1;}
body.op-checkout-page .woocommerce-checkout-review-order-table tfoot td{text-align:right;flex:0 0 auto;}
body.op-checkout-page #order_review .order-total th,
body.op-checkout-page #order_review .order-total td,
body.op-checkout-page #order_review .order-total .amount,
body.op-checkout-page #order_review .order-total .woocommerce-Price-amount,
body.op-checkout-page #order_review .order-total bdi,
body.op-checkout-page #order_review .order-total .woocommerce-Price-currencySymbol,
body.op-checkout-page #order_review .order-total .woocs_special_price_code,
body.op-checkout-page #order_review .product-total .amount,
body.op-checkout-page #order_review .product-total .woocommerce-Price-amount,
body.op-checkout-page #order_review .product-total bdi,
body.op-checkout-page #order_review .product-total .woocs_special_price_code{
  color:var(--op-accent) !important;font-weight:800 !important;
}
body.op-checkout-page #order_review .order-total .amount,
body.op-checkout-page #order_review .order-total .woocommerce-Price-amount{
  font-size:20px !important;
}
/* Hide WC payment list if theme still injects it into the blue card */
body.op-checkout-page #order_review ul.payment_methods,
body.op-checkout-page #order_review ul.wc_payment_methods,
body.op-checkout-page #order_review .wc_payment_method,
body.op-checkout-page #order_review .payment_box{
  display:none !important;
}
body.op-checkout-page #place_order{
  width:100% !important;border:none !important;border-radius:14px !important;
  padding:16px 20px !important;margin:8px 0 0 !important;
  background:var(--op-accent) !important;color:#fff !important;
  font-weight:800 !important;font-size:16px !important;
  box-shadow:0 10px 24px rgba(255,122,41,.35);
}
body.op-checkout-page #place_order:hover{filter:brightness(1.05);}
body.op-checkout-page .woocommerce-terms-and-conditions-wrapper,
body.op-checkout-page .woocommerce-privacy-policy-text{
  display:none !important;
}
body.op-checkout-page .op-checkout-consents{
  display:grid;
  gap:12px;
  margin:0 0 14px;
}
body.op-checkout-page .op-checkout-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0;
  font-size:13px;
  line-height:1.4;
  font-weight:600;
  color:#334155;
  cursor:pointer;
}
body.op-checkout-page .op-checkout-consent input[type="checkbox"]{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin:2px 0 0;
  accent-color:var(--op-blue);
  cursor:pointer;
}
body.op-checkout-page .op-checkout-consent a{
  color:var(--op-blue);
  text-decoration:underline;
  text-underline-offset:2px;
}
body.op-checkout-page #order_review .op-checkout-consent{
  color:rgba(255,255,255,.92);
}
body.op-checkout-page #order_review .op-checkout-consent a{
  color:var(--op-accent);
}

/* Payment + taxi under delivery (left column) */
body.op-checkout-page .op-checkout-payment{
  margin:8px 0 8px;
}
body.op-checkout-page .op-checkout-payment > h3{
  margin:0 0 14px;font-size:22px;font-weight:800;color:var(--op-blue-deep);
}
body.op-checkout-page .op-checkout-prefill-note{
  margin:-6px 0 12px;font-size:13px;color:#64748b;line-height:1.35;
}
body.op-checkout-page .op-smart-summary{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:0 0 12px;padding:14px 16px;
  border:1px solid rgba(26,86,214,.22);border-radius:14px;
  background:linear-gradient(180deg,#fff,#f5f8ff);
}
body.op-checkout-page .op-smart-summary__text{
  display:grid;gap:2px;min-width:0;
}
body.op-checkout-page .op-smart-summary__text strong{
  font-size:15px;font-weight:800;color:var(--op-blue-deep);line-height:1.3;
}
body.op-checkout-page .op-smart-summary__text small{
  font-size:12px;color:#64748b;line-height:1.35;
}
body.op-checkout-page .op-smart-summary__edit{
  flex:0 0 auto;border:0;background:transparent;padding:6px 0;
  color:var(--op-blue);font:inherit;font-size:13px;font-weight:800;
  text-decoration:underline;text-underline-offset:2px;cursor:pointer;
}
body.op-checkout-page .op-smart-choices[hidden]{display:none !important;}
body.op-checkout-page .op-smart-choices{margin:0 0 4px;}
body.op-checkout-page .op-taxi-box{
  margin:0 0 12px;padding:16px;border-radius:14px;
  border:1px solid rgba(26,86,214,.2);background:linear-gradient(180deg,#fff,#f7f9ff);
}

/* ========== CART (kill Printec floats, card rows) ========== */
body.op-cart-page .woocommerce .op-cart-title,
body.op-cart-page .op-cart-title{
  grid-column:1 / -1 !important;
  grid-row:auto !important;
  margin:0 0 8px;
  font-size:clamp(28px,3vw,36px);
  font-weight:800;
  line-height:1.2;
  color:var(--op-blue-deep);
  letter-spacing:.01em;
  text-align:left;
}
body.op-cart-page .entry-header,
body.op-cart-page .page-title,
body.op-cart-page .entry-title,
body.op-cart-page h1.entry-title,
body.op-cart-page .page-header,
body.op-cart-page .woocommerce-products-header,
body.op-cart-page .woocommerce-products-header__title,
body.op-cart-page .site-main > .page-title,
body.op-cart-page .content-area > .page-title,
body.op-cart-page .op-page-hero,
body.woocommerce-cart .op-page-hero,
body.op-checkout-page .op-page-hero,
body.woocommerce-checkout .op-page-hero,
body.op-thankyou-page .op-page-hero{
  display:none !important;
}
body.op-cart-page #content,
body.op-cart-page .site-content,
body.op-cart-page .col-full,
body.op-cart-page .content-area,
body.op-cart-page .site-main{
  max-width:none !important;
  width:100% !important;
}
body.op-cart-page .woocommerce{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 340px !important;
  gap:28px !important;
  align-items:start !important;
  max-width:1180px !important;
  width:100% !important;
  margin:0 auto !important;
  padding:24px 20px 56px !important;
  float:none !important;
}
body.op-cart-page .woocommerce::before,
body.op-cart-page .woocommerce::after{
  content:none !important;display:none !important;
}
body.op-cart-page .woocommerce > .woocommerce-notices-wrapper,
body.op-cart-page .woocommerce > .woocommerce-message,
body.op-cart-page .woocommerce > .woocommerce-info,
body.op-cart-page .woocommerce > .woocommerce-error,
body.op-cart-page .woocommerce > .cart-empty,
body.op-cart-page .woocommerce > .return-to-shop,
body.op-cart-page .woocommerce > .op-cart-empty-actions{
  grid-column:1 / -1 !important;
}
body.op-cart-page .op-cart-empty-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:8px 0 24px;
}
body.op-cart-page .op-cart-empty-actions__btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 20px !important;
  border-radius:12px !important;
  font-weight:700 !important;
  font-size:15px !important;
  text-decoration:none !important;
  line-height:1.25 !important;
  box-shadow:none !important;
}
body.op-cart-page .op-cart-empty-actions__btn--primary{
  background:linear-gradient(135deg,#FF7A29 0%,#ff934d 100%) !important;
  border:0 !important;
  color:#fff !important;
}
body.op-cart-page .op-cart-empty-actions__btn--primary:hover{
  filter:brightness(1.03);
  color:#fff !important;
}
body.op-cart-page .op-cart-empty-actions__btn--secondary{
  background:#fff !important;
  border:2px solid rgba(26,86,214,.28) !important;
  color:#0B2C6B !important;
}
body.op-cart-page .op-cart-empty-actions__btn--secondary:hover{
  border-color:#1A56D6 !important;
  background:#f4f7ff !important;
  color:#0B2C6B !important;
}
body.op-cart-page .woocommerce-cart-form,
body.op-cart-page form.woocommerce-cart-form{
  grid-column:1 !important;
  grid-row:auto !important;
  float:none !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  clear:none !important;
  background:#fff;
  border:1px solid var(--op-line);
  border-radius:20px;
  padding:22px 24px;
  box-shadow:0 10px 28px rgba(11,44,107,.06);
  min-width:0;
}
body.op-cart-page .cart-collaterals{
  grid-column:2 !important;
  grid-row:auto !important;
  float:none !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  clear:none !important;
  position:sticky;
  top:110px;
  align-self:start;
}
body.op-cart-page .cart-collaterals::before,
body.op-cart-page .cart-collaterals::after{
  content:none !important;display:none !important;
}
body.op-cart-page .cart-collaterals .cross-sells{
  display:none !important;
}
body.op-cart-page .op-cart-kp{
  margin:18px 0 0;
  padding:16px 18px;
  border:1px solid rgba(11,44,107,.12);
  border-radius:14px;
  background:#F4F6FA;
}
body.op-cart-page .op-cart-kp__title{
  margin:0 0 6px;
  font-size:17px;
  color:#0B2C6B;
}
body.op-cart-page .op-cart-kp__lead{
  margin:0 0 12px;
  font-size:13.5px;
  color:#5b6472;
  line-height:1.45;
}
body.op-cart-page .op-cart-kp__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  padding:0 14px;
  border-radius:12px;
  border:1.5px solid #1A56D6;
  background:#fff;
  color:#1A56D6;
  font-weight:700;
  font-size:14px;
  cursor:pointer;
}
body.op-cart-page .op-cart-kp__btn:hover{
  background:rgba(26,86,214,.06);
  color:#0B2C6B;
}

/* Cart items as wide cards — abandon broken WC table layout */
body.op-cart-page table.shop_table.cart,
body.op-cart-page table.shop_table_responsive.cart{
  display:block !important;
  width:100% !important;
  border:0 !important;
  margin:0 !important;
}
body.op-cart-page table.cart thead{display:none !important;}
body.op-cart-page table.cart tbody{display:block !important;width:100% !important;}
body.op-cart-page table.cart tr.cart_item,
body.op-cart-page table.cart tr.woocommerce-cart-form__cart-item{
  display:grid !important;
  grid-template-columns:88px minmax(0,1fr) 160px !important;
  gap:10px 20px !important;
  width:100% !important;
  margin:0 0 18px !important;
  padding:18px 18px 16px !important;
  border:1px solid var(--op-line) !important;
  border-radius:16px !important;
  background:#fff !important;
  box-sizing:border-box !important;
  align-items:start !important;
}
body.op-cart-page table.cart tr td{
  display:block !important;
  float:none !important;
  width:auto !important;
  max-width:none !important;
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
  text-align:left !important;
  clear:none !important;
  vertical-align:top !important;
  word-break:normal !important;
  overflow-wrap:anywhere;
  white-space:normal !important;
}
body.op-cart-page table.cart tr td::before,
body.op-cart-page table.cart tr td::after{
  content:none !important;display:none !important;
}
body.op-cart-page table.cart td.product-remove{display:none !important;}
body.op-cart-page table.cart td.product-thumbnail{
  grid-column:1 !important;
  grid-row:1 / span 3 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:8px !important;
}
body.op-cart-page table.cart td.product-thumbnail img{
  width:72px !important;height:72px !important;
  object-fit:cover;border-radius:12px;display:block;
}
/* Custom remove — independent of theme icon font */
body.op-cart-page .op-cart-remove{
  display:inline-flex !important;
  align-items:center;justify-content:center;
  width:34px;height:34px;margin:0;padding:0;
  border-radius:50%;
  border:2px solid var(--op-blue-deep);
  background:#fff;
  color:var(--op-blue-deep);
  font-family:Arial,"Segoe UI",sans-serif;
  font-size:24px;font-weight:700;line-height:1;
  cursor:pointer;
  box-shadow:0 2px 10px rgba(11,44,107,.16);
  -webkit-appearance:none;appearance:none;
}
body.op-cart-page .op-cart-remove:hover{
  color:#fff;background:#c2410c;border-color:#c2410c;
}
body.op-cart-page table.cart td.product-thumbnail a.remove{
  display:none !important;
}
body.op-cart-page table.cart td.product-name{
  grid-column:2 !important;
  grid-row:1 / span 3 !important;
  min-width:0 !important;
  font-weight:700;color:var(--op-blue-deep);
}
body.op-cart-page table.cart td.product-name a{
  display:inline !important;
  font-size:16px;line-height:1.35;
  color:var(--op-blue-deep) !important;
  white-space:normal !important;
  word-break:normal !important;
}
/* Labels left, values right — CSS grid (no floats) */
body.op-cart-page table.cart td.product-name dl.variation,
body.op-cart-page table.cart td.product-name .variation,
body.op-cart-page table.cart td.product-name ul.wc-item-meta{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  column-gap:12px !important;
  row-gap:6px !important;
  margin:12px 0 0 !important;
  padding:0 !important;
  list-style:none !important;
  font-weight:500;font-size:13px;
  overflow:visible !important;
  width:100% !important;
}
body.op-cart-page table.cart td.product-name dl.variation::before,
body.op-cart-page table.cart td.product-name dl.variation::after{
  content:none !important;display:none !important;
}
body.op-cart-page table.cart td.product-name dl.variation dt,
body.op-cart-page table.cart td.product-name ul.wc-item-meta .wc-item-meta-label{
  float:none !important;
  clear:none !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  color:#64748b !important;
  font-weight:600 !important;
  text-align:left !important;
  white-space:nowrap !important;
  line-height:1.4 !important;
}
body.op-cart-page table.cart td.product-name dl.variation dd,
body.op-cart-page table.cart td.product-name ul.wc-item-meta li{
  float:none !important;
  display:contents !important; /* li children participate in parent grid when ul */
  margin:0 !important;
  padding:0 !important;
  width:auto !important;
  max-width:none !important;
  clear:none !important;
  color:var(--op-graphite) !important;
  text-align:right !important;
  line-height:1.4 !important;
  min-width:0;
}
body.op-cart-page table.cart td.product-name dl.variation dd{
  display:block !important;
  text-align:right !important;
  justify-self:end !important;
}
body.op-cart-page table.cart td.product-name dl.variation dd p,
body.op-cart-page table.cart td.product-name ul.wc-item-meta p{
  margin:0 !important;display:inline !important;
  text-align:right !important;
  word-break:normal !important;
  overflow-wrap:anywhere;
}
body.op-cart-page table.cart td.product-price,
body.op-cart-page table.cart td.product-quantity,
body.op-cart-page table.cart td.product-subtotal{
  grid-column:3 !important;
  justify-self:stretch !important;
  display:flex !important;justify-content:space-between;align-items:center;
}
body.op-cart-page table.cart td.product-price{grid-row:1 !important;}
body.op-cart-page table.cart td.product-price::before{
  content:"Ціна";font-size:12px;font-weight:600;color:#64748b;
}
body.op-cart-page table.cart td.product-quantity{grid-row:2 !important;}
body.op-cart-page table.cart td.product-quantity::before{
  content:"Тираж";font-size:12px;font-weight:600;color:#64748b;
}
body.op-cart-page table.cart td.product-subtotal{
  grid-row:3 !important;
  padding-top:8px !important;
  border-top:1px solid var(--op-line) !important;
}
body.op-cart-page table.cart td.product-subtotal::before{
  content:"Сума";font-size:12px;font-weight:600;color:#64748b;
}
body.op-cart-page .op-cart-qty{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:64px;padding:7px 10px;border-radius:10px;
  background:rgba(26,86,214,.08);color:var(--op-blue-deep);
  font-weight:800;font-size:14px;white-space:nowrap;
}
body.op-cart-page .op-cart-item-sub{font-weight:600;color:#64748b;font-size:.92em;}
body.op-cart-page .product-price .amount,
body.op-cart-page .product-subtotal .amount,
body.op-cart-page .woocommerce-Price-amount{
  white-space:nowrap !important;font-weight:800;color:var(--op-blue-deep);
}

/* Actions row */
body.op-cart-page table.cart tr:not(.cart_item):not(.woocommerce-cart-form__cart-item){
  display:block !important;width:100% !important;border:0 !important;padding:0 !important;margin:0 !important;
}
/* [Код купону] [Застосувати] ........... [Оновити] — compact, with gaps */
body.op-cart-page table.cart td.actions,
body.op-cart-page .actions{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:12px 16px !important;
  width:100% !important;
  padding:20px 0 4px !important;
  border:0 !important;
  box-sizing:border-box !important;
}
body.op-cart-page .coupon{display:none !important;}
body.op-cart-page table.cart td.actions > input#coupon_code,
body.op-cart-page table.cart td.actions > input[name="coupon_code"],
body.op-cart-page .actions > input#coupon_code,
body.op-cart-page .actions > input[name="coupon_code"]{
  flex:0 1 220px !important;
  width:220px !important;
  max-width:240px !important;
  min-width:160px !important;
  margin:0 !important;
  border:1.5px solid #c9d6ef !important;border-radius:12px !important;
  padding:12px 14px !important;background:#fff !important;box-shadow:none !important;
  height:46px !important;box-sizing:border-box;
  order:1;
}
body.op-cart-page .woocommerce-cart-form button[name="apply_coupon"]{
  order:2;
  flex:0 0 auto !important;
  width:auto !important;
  min-width:0 !important;
  display:inline-flex !important;align-items:center;justify-content:center;
  min-height:46px !important;height:46px !important;
  padding:0 18px !important;margin:0 !important;
  border-radius:12px !important;
  background:var(--op-blue-deep) !important;background-image:none !important;
  color:#fff !important;border:2px solid var(--op-accent) !important;
  box-shadow:none !important;font-weight:800 !important;font-size:14px !important;
  white-space:nowrap !important;opacity:1 !important;float:none !important;
}
body.op-cart-page .woocommerce-cart-form button[name="update_cart"],
body.op-cart-page .woocommerce-cart-form button[name="update_cart"]:disabled{
  order:3;
  flex:0 0 auto !important;
  width:auto !important;
  min-width:0 !important;
  margin-left:auto !important;
  display:inline-flex !important;align-items:center;justify-content:center;
  min-height:46px !important;height:46px !important;
  padding:0 18px !important;
  border-radius:12px !important;
  background:var(--op-blue-deep) !important;background-image:none !important;
  color:#fff !important;border:2px solid var(--op-accent) !important;
  box-shadow:none !important;font-weight:800 !important;font-size:14px !important;
  white-space:nowrap !important;opacity:1 !important;float:none !important;
}
/* Hidden WC fields must not participate in flex gap layout */
body.op-cart-page table.cart td.actions > input[type="hidden"]{
  display:none !important;
  position:absolute !important;
  width:0 !important;height:0 !important;margin:0 !important;padding:0 !important;
  border:0 !important;
}
body.op-cart-page .woocommerce-cart-form button[name="update_cart"]:hover,
body.op-cart-page .woocommerce-cart-form button[name="apply_coupon"]:hover{
  background:#0d3a8a !important;color:#fff !important;
}

/* Cart totals — «Ваше замовлення» look */
body.op-cart-page .cart-collaterals .cart_totals,
body.op-cart-page .cart_totals{
  background:linear-gradient(160deg,var(--op-blue-deep) 0%,var(--op-blue) 100%) !important;
  border:none !important;border-radius:20px !important;padding:22px !important;
  box-shadow:0 16px 40px rgba(11,44,107,.28);
  color:#fff;
  width:100% !important;
  box-sizing:border-box !important;
}
body.op-cart-page .cart_totals > h2{
  margin:0 0 16px;font-size:22px;font-weight:800;letter-spacing:.01em;
  color:var(--op-accent) !important;
}
body.op-cart-page .cart_totals .shop_table,
body.op-cart-page .cart_totals table,
body.op-cart-page .cart_totals table.shop_table_responsive{
  display:block !important;width:100% !important;
  border:0 !important;background:transparent !important;color:#fff;
}
body.op-cart-page .cart_totals thead{display:none !important;}
body.op-cart-page .cart_totals tbody{display:block !important;width:100% !important;}
body.op-cart-page .cart_totals tr,
body.op-cart-page .cart_totals table.shop_table_responsive tr{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
  padding:0 !important;
}
body.op-cart-page .cart_totals tr:last-child{border-bottom:0 !important;}
body.op-cart-page .cart_totals th,
body.op-cart-page .cart_totals td,
body.op-cart-page .cart_totals table.shop_table_responsive tr th,
body.op-cart-page .cart_totals table.shop_table_responsive tr td{
  display:block !important;
  float:none !important;
  position:static !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  border:0 !important;
  padding:14px 0 !important;
  background:transparent !important;
  color:#fff !important;
  text-align:left !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  white-space:normal !important;
}
/* Kill WC responsive label that stacks letters vertically */
body.op-cart-page .cart_totals td::before,
body.op-cart-page .cart_totals th::before,
body.op-cart-page .cart_totals td::after,
body.op-cart-page .cart_totals th::after,
body.op-cart-page .cart_totals table.shop_table_responsive tr td::before,
body.op-cart-page .cart_totals table.shop_table_responsive tr td::after{
  content:none !important;
  display:none !important;
  float:none !important;
  width:0 !important;
}
body.op-cart-page .cart_totals th{
  flex:1 1 auto !important;
  font-weight:600 !important;
  opacity:.92;
  text-align:left !important;
  font-size:15px !important;
  white-space:nowrap !important;
}
body.op-cart-page .cart_totals td{
  flex:0 1 auto !important;
  text-align:right !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}
body.op-cart-page .cart_totals .amount,
body.op-cart-page .cart_totals .woocommerce-Price-amount,
body.op-cart-page .cart_totals bdi{
  color:#fff !important;white-space:nowrap !important;font-weight:800;
  display:inline-block;
}
body.op-cart-page .cart_totals .order-total th,
body.op-cart-page .cart_totals .order-total td{
  font-size:18px;padding-top:16px !important;
}
body.op-cart-page .cart_totals .order-total .amount,
body.op-cart-page .cart_totals .order-total .woocommerce-Price-amount{
  color:var(--op-accent) !important;font-size:26px;
}
body.op-cart-page .wc-proceed-to-checkout{padding:16px 0 0 !important;}
body.op-cart-page .wc-proceed-to-checkout a.checkout-button,
body.op-cart-page .cart_totals .checkout-button{
  display:flex !important;align-items:center;justify-content:center;
  width:100% !important;margin:0 !important;
  background:var(--op-accent)!important;color:#fff!important;
  border:none!important;border-radius:14px!important;
  padding:15px 18px!important;font-weight:800!important;font-size:16px!important;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(255,122,41,.28);
}
body.op-cart-page .wc-proceed-to-checkout a.checkout-button:hover,
body.op-cart-page .cart_totals .checkout-button:hover{
  filter:brightness(1.05);color:#fff!important;
}

/* Thank you — callback-modal chrome */
body.op-thankyou-page .entry-header,
body.op-thankyou-page .page-title{display:none !important;}
body.op-thankyou-page .woocommerce{
  max-width:560px;margin:32px auto 56px;padding:0;
  text-align:left;
  background:#fff;
  border:1px solid rgba(26,86,214,.18);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 22px 50px rgba(11,44,107,.22);
}
body.op-thankyou-page .woocommerce-order{
  text-align:left;background:transparent;border:0;border-radius:0;
  padding:0;max-width:none;margin:0;overflow:visible;box-shadow:none;
}
body.op-thankyou-page .woocommerce-notice--success,
body.op-thankyou-page .woocommerce-thankyou-order-received{
  display:block;
  margin:0 !important;
  padding:36px 28px 22px !important;
  border:none !important;
  border-radius:0 !important;
  background:linear-gradient(135deg,#0B2C6B 0%,#1A56D6 100%) !important;
  color:#fff !important;
  box-shadow:none !important;
  list-style:none !important;
  text-align:center;
}
body.op-thankyou-page .woocommerce-thankyou-order-received::before{display:none !important;content:none !important;}
body.op-thankyou-page .op-thankyou-title{
  display:block;
  font-size:clamp(20px,2.6vw,26px);
  font-weight:800;line-height:1.25;color:#fff;
  margin:0 0 6px;
}
body.op-thankyou-page .op-thankyou-sub{
  display:block;
  font-size:14px;line-height:1.4;font-weight:500;
  color:rgba(255,255,255,.88);
}
body.op-thankyou-page .woocommerce-order-overview{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  list-style:none !important;
  margin:0 !important;
  padding:14px 12px 8px !important;
  background:linear-gradient(180deg,#fff 0%,#f5f8ff 100%);
  width:100% !important;
  float:none !important;
  clear:both !important;
}
@media (min-width:720px){
  body.op-thankyou-page .woocommerce-order-overview{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}
body.op-thankyou-page .woocommerce-order-overview::before,
body.op-thankyou-page .woocommerce-order-overview::after{display:none !important;content:none !important;}
body.op-thankyou-page .woocommerce-order-overview li{
  float:none !important;
  width:auto !important;
  max-width:none !important;
  display:block !important;
  margin:0 !important;padding:12px 14px !important;
  border:1px solid #e3e8f0 !important;
  border-radius:12px !important;
  background:#fff;
  font-size:12px;font-weight:600;color:#64748b;line-height:1.35;
  box-sizing:border-box !important;
}
body.op-thankyou-page .woocommerce-order-overview li strong{
  display:block;margin-top:4px;
  font-size:14px;font-weight:800;color:var(--op-blue-deep);
  word-break:break-word;
}
body.op-thankyou-page .woocommerce-thankyou-order-details + p,
body.op-thankyou-page .woocommerce-order > p{
  margin:0 !important;padding:0 14px 12px !important;
  background:linear-gradient(180deg,#fff 0%,#f5f8ff 100%);
  font-size:13px;color:#64748b;
}
body.op-thankyou-page .woocommerce-order-details,
body.op-thankyou-page .woocommerce-customer-details{
  margin:0 !important;
  padding:8px 12px 0 !important;
  background:#f5f8ff;
}
body.op-thankyou-page .woocommerce-order-details > h2,
body.op-thankyou-page .woocommerce-column__title,
body.op-thankyou-page .woocommerce-customer-details > h2{
  margin:0 0 12px !important;
  font-size:18px !important;font-weight:800 !important;
  color:var(--op-blue-deep) !important;
  border:none !important;
  text-align:left !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
body.op-thankyou-page .woocommerce-table--order-details{
  width:100% !important;margin:0 0 12px !important;
  background:transparent !important;border-radius:0 !important;overflow:visible;
  border:0 !important;box-shadow:none !important;
  display:block !important;
}
body.op-thankyou-page .woocommerce-table--order-details thead,
body.op-thankyou-page .woocommerce-table--order-details tbody,
body.op-thankyou-page .woocommerce-table--order-details tfoot{
  display:block !important;width:100% !important;
}
body.op-thankyou-page .woocommerce-table--order-details thead{display:none !important;}
body.op-thankyou-page .woocommerce-table--order-details tr{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:8px 12px !important;
  width:100% !important;
  margin:0 !important;
  padding:12px 2px !important;
  box-sizing:border-box !important;
  border:0 !important;
  border-bottom:1px solid #e3e8f0 !important;
  float:none !important;
  background:transparent !important;
}
body.op-thankyou-page .woocommerce-table--order-details tbody tr:last-child{border-bottom:0 !important;}
body.op-thankyou-page .woocommerce-table--order-details th,
body.op-thankyou-page .woocommerce-table--order-details td{
  border:0 !important;padding:0 !important;background:transparent !important;
  color:var(--op-graphite);vertical-align:top;text-align:left;
  display:block !important;width:auto !important;float:none !important;
  hyphens:none !important;-webkit-hyphens:none !important;
  word-break:normal !important;overflow-wrap:anywhere !important;
}
body.op-thankyou-page .woocommerce-table--order-details td::before,
body.op-thankyou-page .woocommerce-table--order-details th::before{
  display:none !important;content:none !important;
}
body.op-thankyou-page .woocommerce-table--order-details .product-name,
body.op-thankyou-page .woocommerce-table--order-details .product-name a{
  grid-column:1 !important;grid-row:1 !important;
  font-weight:700;color:var(--op-blue-deep) !important;
  font-size:15px;line-height:1.35;min-width:0 !important;
}
body.op-thankyou-page .woocommerce-table--order-details .product-total{
  grid-column:2 !important;grid-row:1 !important;
  justify-self:end !important;align-self:start !important;
  text-align:right !important;white-space:nowrap !important;
  font-weight:800;color:var(--op-accent) !important;font-size:16px;
}
body.op-thankyou-page .woocommerce-table--order-details .product-total .woocommerce-Price-amount,
body.op-thankyou-page .woocommerce-table--order-details .product-total .amount,
body.op-thankyou-page .woocommerce-table--order-details .product-total bdi{
  white-space:nowrap !important;
  color:var(--op-accent) !important;
  font-weight:800 !important;
}
body.op-thankyou-page .woocommerce-table--order-details tfoot tr{
  padding:10px 2px !important;
  background:transparent !important;
}
body.op-thankyou-page .woocommerce-table--order-details tfoot th{
  grid-column:1 !important;font-weight:600;color:#64748b !important;text-align:left !important;
}
body.op-thankyou-page .woocommerce-table--order-details tfoot td{
  grid-column:2 !important;justify-self:end !important;
  color:var(--op-graphite) !important;font-weight:700;text-align:right !important;
  white-space:nowrap !important;
}
body.op-thankyou-page .woocommerce-table--order-details tfoot .woocommerce-Price-amount,
body.op-thankyou-page .woocommerce-table--order-details tfoot .amount{
  color:var(--op-accent) !important;font-weight:800;font-size:16px;
  white-space:nowrap !important;
}
body.op-thankyou-page .woocommerce-table--order-details tfoot tr.order-total th,
body.op-thankyou-page .woocommerce-table--order-details tfoot tr.order-total td,
body.op-thankyou-page .woocommerce-table--order-details tfoot tr.order-total .amount{
  color:var(--op-accent) !important;font-weight:800 !important;font-size:17px !important;
}
/* Specs card — full width under name/price (like checkout summary) */
body.op-thankyou-page .woocommerce-table--order-details tr > .op-review-meta,
body.op-thankyou-page .woocommerce-table--order-details tr > dl.variation,
body.op-thankyou-page .woocommerce-table--order-details tr > ul.wc-item-meta{
  grid-column:1 / -1 !important;
  grid-row:2 !important;
  width:100% !important;
  margin:6px 0 0 !important;
  padding:16px 18px !important;
  list-style:none !important;
  border-radius:12px !important;
  border:none !important;
  background:linear-gradient(160deg,#0B2C6B 0%,#1A56D6 100%) !important;
  box-sizing:border-box !important;
  display:grid !important;
  gap:8px !important;
}
body.op-thankyou-page .woocommerce-table--order-details .op-review-meta li{
  display:grid !important;
  grid-template-columns:auto minmax(12px,1fr) minmax(0,max-content) !important;
  align-items:baseline !important;
  column-gap:8px;
  width:100% !important;max-width:100% !important;
  margin:0 !important;padding:0 !important;
  color:#fff !important;font-size:13px;line-height:1.4;
  border:0 !important;background:transparent !important;
  min-width:0 !important;
}
body.op-thankyou-page .woocommerce-table--order-details .op-review-meta li span{
  grid-column:1;min-width:0;font-weight:600;color:#fff !important;text-align:left !important;
  white-space:nowrap;hyphens:none !important;
}
body.op-thankyou-page .woocommerce-table--order-details .op-review-meta li strong{
  grid-column:3;min-width:0 !important;max-width:14em;font-weight:700;color:#fff !important;text-align:right !important;
  overflow-wrap:anywhere !important;word-break:break-word !important;hyphens:none !important;
}
body.op-thankyou-page .woocommerce-table--order-details .op-review-meta .op-summary__lead{
  grid-column:2;min-width:12px;height:0;margin:0 0 4px;border:0 !important;align-self:end;
  border-bottom:1px dotted rgba(255,122,41,.85) !important;
}
/* Fallback before JS rewrite */
body.op-thankyou-page .woocommerce-table--order-details dl.variation dt,
body.op-thankyou-page .woocommerce-table--order-details dl.variation dd,
body.op-thankyou-page .woocommerce-table--order-details ul.wc-item-meta li{
  margin:0 !important;padding:0 !important;float:none !important;width:auto !important;
  border:0 !important;background:transparent !important;color:#fff !important;
  hyphens:none !important;word-break:normal !important;
}
body.op-thankyou-page .woocommerce-table--order-details dl.variation{
  grid-template-columns:auto 1fr auto;
}
body.op-thankyou-page .woocommerce-table--order-details dl.variation dt{
  font-weight:600;text-align:left !important;opacity:.95;
}
body.op-thankyou-page .woocommerce-table--order-details dl.variation dd{
  text-align:right !important;font-weight:700;grid-column:3;
}
body.op-thankyou-page .woocommerce-table--order-details dl.variation dd p{margin:0;color:inherit;}
body.op-thankyou-page .woocommerce-table--order-details ul.wc-item-meta li{
  display:flex !important;align-items:baseline;justify-content:space-between;gap:8px;
}
body.op-thankyou-page .woocommerce-table--order-details ul.wc-item-meta .wc-item-meta-label{
  color:#fff !important;font-weight:600;margin:0 !important;text-align:left !important;
}
body.op-thankyou-page .woocommerce-table--order-details ul.wc-item-meta p,
body.op-thankyou-page .woocommerce-table--order-details ul.wc-item-meta a{
  margin:0 !important;color:#fff !important;font-weight:700;text-align:right !important;
}
body.op-thankyou-page .woocommerce-customer-details address{
  border:0 !important;border-radius:0 !important;
  padding:4px 2px 16px !important;background:transparent !important;
  font-style:normal;line-height:1.5;color:var(--op-graphite);
}
body.op-thankyou-page .woocommerce-info{
  margin:0 !important;padding:14px 20px !important;
  border:none !important;border-radius:0 !important;
  background:#eef3ff !important;color:var(--op-blue-deep) !important;
  box-shadow:none !important;
}
body.op-thankyou-page .woocommerce-info::before{display:none !important;}
body.op-thankyou-page form.woocommerce-form-login{
  margin:0 !important;padding:18px 20px 8px !important;
  background:linear-gradient(180deg,#fff 0%,#f5f8ff 100%);
  border:0 !important;box-shadow:none !important;
}
body.op-thankyou-page form.woocommerce-form-login .form-row{
  width:100% !important;float:none !important;margin:0 0 12px !important;padding:0 !important;
}
body.op-thankyou-page form.woocommerce-form-login label{
  font-size:12px;font-weight:700;color:var(--op-graphite);
}
body.op-thankyou-page form.woocommerce-form-login input.input-text{
  width:100% !important;border:1.5px solid #c9d6ef !important;border-radius:10px !important;
  padding:10px 12px !important;background:#fff !important;box-shadow:none !important;
}
body.op-thankyou-page form.woocommerce-form-login button[type="submit"],
body.op-thankyou-page form.woocommerce-form-login .woocommerce-button,
body.op-thankyou-page form.woocommerce-form-login input[type="submit"]{
  width:100% !important;min-height:46px !important;margin:4px 0 8px !important;
  border:none !important;border-radius:999px !important;
  background:linear-gradient(135deg,#FF7A29 0%,#ff934d 100%) !important;
  color:#fff !important;font-weight:800 !important;font-size:14px !important;
  box-shadow:0 8px 16px rgba(255,122,41,.24) !important;
}
body.op-thankyou-page form.woocommerce-form-login .lost_password,
body.op-thankyou-page form.woocommerce-form-login a{
  color:var(--op-blue);font-weight:700;
}
body.op-thankyou-page .op-thankyou-actions{
  padding:8px 12px 20px;
  background:linear-gradient(180deg,#f5f8ff 0%,#eef3ff 100%);
}
body.op-thankyou-page .op-thankyou-home{
  display:inline-flex;align-items:center;justify-content:center;width:100%;
  min-height:48px;padding:12px 18px;border-radius:999px;box-sizing:border-box;
  background:var(--op-blue-deep);
  color:#fff !important;font-weight:800;font-size:15px;text-decoration:none !important;
  border:2px solid var(--op-accent);
  box-shadow:0 8px 16px rgba(11,44,107,.18);
  transition:filter .15s,transform .15s,background .15s;
}
body.op-thankyou-page .op-thankyou-home:hover{
  background:#0d3a8a;transform:translateY(-1px);color:#fff !important;
}
@media (max-width:560px){
  body.op-thankyou-page .woocommerce{
    margin:12px 6px 32px !important;
    border-radius:14px !important;
  }
  body.op-thankyou-page .woocommerce-order-overview{grid-template-columns:1fr;}
  body.op-thankyou-page .woocommerce-order-overview{
    padding:12px 10px 6px !important;
  }
  body.op-thankyou-page .woocommerce-order-details,
  body.op-thankyou-page .woocommerce-customer-details{
    padding:6px 10px 0 !important;
  }
  body.op-thankyou-page .woocommerce-thankyou-order-details + p,
  body.op-thankyou-page .woocommerce-order > p{
    padding:0 10px 10px !important;
  }
  body.op-thankyou-page .woocommerce-table--order-details tr{
    padding:10px 0 !important;
  }
  body.op-thankyou-page .woocommerce-table--order-details tr > .op-review-meta,
  body.op-thankyou-page .woocommerce-table--order-details tr > dl.variation,
  body.op-thankyou-page .woocommerce-table--order-details tr > ul.wc-item-meta{
    padding:14px 16px !important;
  }
  body.op-thankyou-page .op-thankyou-actions{
    padding:8px 10px 18px !important;
  }
  body.op-thankyou-page .woocommerce-info{
    padding:12px 10px !important;
  }
}

/* Added-to-cart modal — reuse callback modal chrome */
.op-added-modal.op-modal-overlay{
  z-index:3000;
}
.op-added-modal .op-modal--added{
  max-width:400px;
}
.op-added-modal__actions{display:grid;gap:10px;}
.op-added-modal__btn{
  display:inline-flex;align-items:center;justify-content:center;width:100%;
  border:none;border-radius:999px;padding:12px 18px;font:inherit;font-weight:800;
  font-size:14px;cursor:pointer;text-decoration:none;line-height:1.2;
  transition:filter .15s,transform .15s,background .15s;
}
.op-added-modal__btn--primary{
  background:linear-gradient(135deg,#FF7A29 0%,#ff934d 100%);
  color:#fff;box-shadow:0 8px 16px rgba(255,122,41,.24);
}
.op-added-modal__btn--primary:hover{
  filter:brightness(1.02);transform:translateY(-1px);color:#fff;
}
.op-added-modal__btn--secondary{
  background:#fff;color:var(--op-blue-deep);
  border:2px solid rgba(26,86,214,.28);
}
.op-added-modal__btn--secondary:hover{
  border-color:var(--op-blue);background:#f4f7ff;color:var(--op-blue-deep);
}
.op-added-modal__btn--ghost{
  background:transparent;color:var(--op-graphite,#2B2F38);
  border:none;font-weight:700;
}
.op-added-modal__btn--ghost:hover{
  background:rgba(26,86,214,.06);color:var(--op-blue-deep);
}

/* Guard against horizontal "slide" from long NP warehouse labels / theme floats */
body.op-checkout-page,
body.op-checkout-page .site,
body.op-checkout-page #page,
body.op-checkout-page .site-content,
body.op-checkout-page .content-area,
body.op-checkout-page .site-main,
body.op-checkout-page .woocommerce,
body.op-checkout-page form.checkout{
  max-width:100% !important;
  overflow-x:clip;
}
body.op-checkout-page .op-np-box,
body.op-checkout-page .op-np-autocomplete,
body.op-checkout-page .op-ship-option,
body.op-checkout-page #customer_details{
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
body.op-checkout-page .op-np-suggest{
  left:0 !important;right:0 !important;width:auto !important;
  max-width:100% !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  box-sizing:border-box !important;
}
body.op-checkout-page .op-np-suggest li{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}
body.op-checkout-page #opti_np_city,
body.op-checkout-page #opti_np_warehouse,
body.op-checkout-page #opti_np_address{
  max-width:100% !important;
  width:100% !important;
  box-sizing:border-box !important;
}

@media (max-width:980px){
  body.op-checkout-page form.checkout,
  body.op-checkout-page form.checkout.woocommerce-checkout{
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
  }
  body.op-checkout-page #order_review,
  body.op-checkout-page #customer_details,
  body.op-checkout-page .op-checkout-place,
  body.op-checkout-page form.checkout > *{
    max-width:100% !important;
    min-width:0 !important;
  }
  body.op-checkout-page #customer_details,
  body.op-checkout-page .col2-set#customer_details{
    grid-column:1 !important;grid-row:auto !important;order:2;
  }
  body.op-checkout-page #order_review_heading{
    grid-column:1 !important;grid-row:auto !important;order:1;
    border-radius:20px 20px 0 0 !important;
  }
  /* Mobile: no sticky / no inner scroll trap — page must scroll freely */
  body.op-checkout-page #order_review,
  body.op-checkout-page .woocommerce-checkout-review-order{
    grid-column:1 !important;grid-row:auto !important;order:1;
    position:static !important;
    top:auto !important;
    display:block !important;
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
    border-radius:20px !important;
  }
  /* Inner scroll unwrap removes its padding — pad the card itself on mobile. */
  body.op-checkout-page #order_review,
  body.op-checkout-page .woocommerce-checkout-review-order{
    padding:18px 22px 20px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }
  body.op-checkout-page #order_review .op-checkout-review-scroll{
    display:block !important;
    flex:none !important;
    min-height:0 !important;
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
    overflow-y:visible !important;
    overscroll-behavior:auto !important;
    -webkit-overflow-scrolling:auto;
    padding:0 !important;
  }
  body.op-checkout-page #order_review #order_review_heading{
    padding:0 0 10px !important;
  }
  body.op-checkout-page #order_review #payment,
  body.op-checkout-page #order_review .op-checkout-place{
    position:static !important;
    padding:12px 0 0 !important;
  }
  body.op-checkout-page .woocommerce-checkout-review-order-table,
  body.op-checkout-page .op-review-meta{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  /* Place-order after personal data / delivery / payment */
  body.op-checkout-page form.checkout > .op-checkout-place--after-form,
  body.op-checkout-page form.checkout > #payment.op-checkout-place--after-form{
    grid-column:1 !important;
    grid-row:auto !important;
    order:3 !important;
    margin:8px 0 28px !important;
    padding:18px 18px 20px !important;
    background:#fff !important;
    border:1px solid var(--op-line) !important;
    border-radius:16px !important;
    border-top:1px solid var(--op-line) !important;
    box-shadow:0 8px 22px rgba(11,44,107,.06) !important;
    color:var(--op-graphite) !important;
  }
  body.op-checkout-page .op-checkout-place--after-form .op-checkout-consent{
    color:#334155 !important;
  }
  body.op-checkout-page .op-checkout-place--after-form .op-checkout-consent a{
    color:var(--op-blue) !important;
  }
  .op-np-types{flex-direction:column;}
  body.op-cart-page .woocommerce{
    grid-template-columns:1fr !important;
  }
  body.op-cart-page .cart-collaterals{
    grid-column:1 !important;position:static;order:3;
  }
  body.op-cart-page .woocommerce-cart-form{
    grid-column:1 !important;order:2;
  }
  body.op-cart-page .woocommerce > .op-cart-title{order:1;}
}
@media (max-width:700px){
  body.op-checkout-page .woocommerce{
    padding:10px 6px 40px !important;
  }
  body.op-checkout-page #customer_details,
  body.op-checkout-page .col2-set#customer_details,
  body.op-checkout-page form.checkout > .col2-set{
    padding:16px 12px !important;
  }
  body.op-checkout-page #order_review,
  body.op-checkout-page .woocommerce-checkout-review-order{
    padding:16px 22px 18px !important;
  }
  body.op-checkout-page #order_review #order_review_heading{
    padding:0 0 8px !important;
  }
  body.op-checkout-page .woocommerce-checkout-review-order-table .product-name,
  body.op-checkout-page .woocommerce-checkout-review-order-table .product-total{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  body.op-checkout-page .op-review-meta li{
    gap:8px;
  }
  body.op-checkout-page form.checkout > .op-checkout-place--after-form,
  body.op-checkout-page form.checkout > #payment.op-checkout-place--after-form{
    padding:16px 14px 18px !important;
  }
  body.op-checkout-page .form-row-first,
  body.op-checkout-page .form-row-last{
    width:100% !important;float:none !important;
  }
  body.op-cart-page #content,
  body.op-cart-page .site-content,
  body.op-cart-page .col-full,
  body.op-cart-page .content-area,
  body.op-cart-page .site-main,
  body.op-cart-page .entry-content,
  body.op-cart-page article{
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  body.op-cart-page .woocommerce{
    padding:10px 6px 36px !important;
    gap:12px !important;
    max-width:100% !important;
  }
  body.op-cart-page .woocommerce .op-cart-title,
  body.op-cart-page .op-cart-title{
    margin:0 2px 4px !important;
    font-size:26px !important;
  }
  body.op-cart-page .woocommerce-cart-form,
  body.op-cart-page form.woocommerce-cart-form{
    padding:12px 10px !important;
    border-radius:14px !important;
  }
  body.op-cart-page .cart-collaterals .cart_totals,
  body.op-cart-page .cart_totals{
    padding:14px 12px !important;
    border-radius:14px !important;
  }
  body.op-cart-page table.cart tr.cart_item,
  body.op-cart-page table.cart tr.woocommerce-cart-form__cart-item{
    grid-template-columns:64px minmax(0,1fr) !important;
    gap:10px 12px !important;
    padding:14px 12px !important;
    margin:0 0 12px !important;
  }
  body.op-cart-page table.cart td.product-thumbnail{
    grid-column:1 !important;grid-row:1 !important;
  }
  body.op-cart-page table.cart td.product-thumbnail img{
    width:56px !important;height:56px !important;
  }
  body.op-cart-page table.cart td.product-name{
    grid-column:2 !important;grid-row:1 !important;
    min-width:0 !important;
  }
  body.op-cart-page table.cart td.product-name a{
    font-size:15px !important;
  }
  body.op-cart-page table.cart td.product-price,
  body.op-cart-page table.cart td.product-quantity,
  body.op-cart-page table.cart td.product-subtotal{
    grid-column:1 / -1 !important;
  }
  body.op-cart-page table.cart td.product-price{grid-row:2 !important;}
  body.op-cart-page table.cart td.product-quantity{grid-row:3 !important;}
  body.op-cart-page table.cart td.product-subtotal{grid-row:4 !important;}
  body.op-cart-page table.cart td.product-name dl.variation,
  body.op-cart-page table.cart td.product-name ul.wc-item-meta{
    grid-template-columns:auto minmax(0,1fr) !important;
    font-size:12px !important;
  }
  body.op-cart-page table.cart td.product-name dl.variation dt{
    width:auto !important;max-width:none !important;
    white-space:nowrap !important;
  }
  body.op-cart-page table.cart td.product-name dl.variation dd{
    margin:0 !important;text-align:right !important;
  }
  body.op-cart-page table.cart td.actions,
  body.op-cart-page .actions{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
  }
  body.op-cart-page table.cart td.actions > input#coupon_code,
  body.op-cart-page table.cart td.actions > input[name="coupon_code"],
  body.op-cart-page .actions > input#coupon_code,
  body.op-cart-page .actions > input[name="coupon_code"]{
    flex:0 0 auto !important;
    align-self:stretch !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:46px !important;
    min-height:46px !important;
    max-height:46px !important;
    line-height:22px !important;
    padding:10px 14px !important;
    box-sizing:border-box !important;
    resize:none !important;
  }
  body.op-cart-page .woocommerce-cart-form button[name="update_cart"],
  body.op-cart-page .woocommerce-cart-form button[name="update_cart"]:disabled{
    margin-left:0 !important;width:100% !important;
    flex:0 0 auto !important;
  }
  body.op-cart-page .woocommerce-cart-form button[name="apply_coupon"]{
    width:100% !important;
    flex:0 0 auto !important;
  }
  body.op-cart-page .cart_totals > h2{font-size:20px;}
  body.op-cart-page .cart_totals th{
    white-space:normal !important;
    font-size:14px !important;
  }
  body.op-cart-page .cart_totals .order-total .amount{font-size:22px;}
}
