/* PIUROPRINT shells for standard WordPress and WooCommerce pages. */
.pp-page-shell {
  width:100%;
  min-width:0;
  overflow:clip;
  background:var(--pp-bg);
}
body.woocommerce-checkout #primary.pp-page-shell,
body.woocommerce-account #primary.pp-page-shell {
  width:100%;
  max-width:none;
  margin-inline:0;
}
.pp-page-shell,.pp-page-shell *{box-sizing:border-box}

/* Commerce shell geometry is explicit. None of these pages may rely on the
   removed legacy woocommerce.css/Astra widths. */
body.pp-body :where(#primary.pp-cart-host, #primary.pp-checkout, #primary.pp-account-shell, #primary.pp-order-page) {
  width:100%;
  max-width:none;
  min-width:0;
  margin:0;
  padding-inline:0;
  box-sizing:border-box;
}
/* Canonical commerce rail: cart and checkout use the same shell width as
   header, footer, catalog and the rest of PIUROPRINT. Keep order-received
   intentionally compact; only the live cart/checkout flow owns this rail. */
body.pp-body #primary.pp-checkout > .pp-wrap,
body.pp-body #primary.pp-cart-host .pp-cart {
  width:calc(100% - var(--pp-shell-inset));
  max-width:var(--pp-container);
  margin-inline:auto;
}
body.pp-body #primary.pp-order-page > .pp-wrap {
  width:calc(100% - var(--pp-shell-inset));
  max-width:1320px;
  margin-inline:auto;
}
.pp-page-hero {
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 82% 12%,rgba(249,115,22,.22),transparent 28%),
    linear-gradient(135deg,#0F172A 0%,#111827 68%,#1C2336 100%);
}
.pp-page-hero::after {
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  right:-150px;
  bottom:-220px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:50%;
}
.pp-page-hero--compact{padding:52px 0 46px}
.pp-page-hero .pp-wrap{position:relative;z-index:1}
.pp-page-hero__eyebrow {
  margin:0 0 10px;
  color:#FB923C;
  font-size:var(--pp-fs-xs, 12px);
  line-height:1.2;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.pp-page-hero__title {
  max-width:900px;
  margin:0;
  color:#fff;
  font-family:var(--pp-font);
  font-size:clamp(34px,4vw,54px);
  line-height:1.08;
  font-weight:800;
  letter-spacing:-.025em;
}
.pp-page-hero__lead {
  max-width:720px;
  margin:16px 0 0;
  color:#CBD5E1;
  font-size:var(--pp-fs-xl, 16px);
  line-height:1.65;
}
.pp-page-body{padding:48px 0 76px;min-height:360px}
.pp-commerce-content,.pp-workspace-content,.pp-prose-card{min-width:0}
.pp-prose-card {
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:clamp(24px,4vw,48px);
  overflow:hidden;
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:var(--pp-radius-xl);
  box-shadow:var(--pp-shadow-card);
}
.pp-prose-card > :first-child{margin-top:0}
.pp-prose-card > :last-child{margin-bottom:0}
.pp-prose-card h2,.pp-prose-card h3,.pp-prose-card h4{color:var(--pp-dark);font-family:var(--pp-font)}
.pp-prose-card a:not(.pp-btn-primary):not(.button){color:var(--pp-orange);text-underline-offset:3px}
.pp-prose-card img,.pp-prose-card iframe,.pp-workspace-content img{max-width:100%}
.pp-prose-card table{display:block;max-width:100%;overflow-x:auto}
.pp-content-page--reviews .pp-prose-card{max-width:none}
.pp-content-page--workspace .pp-page-body{padding-top:32px}
.pp-workspace-content{width:100%;max-width:1800px;margin-inline:auto}
.pp-empty-page{display:grid;justify-items:start;gap:20px;max-width:680px}
.pp-empty-page p{margin:0;color:var(--pp-text-2);font-size:var(--pp-fs-xl, 16px);line-height:1.7}

.pp-account-shell .pp-commerce-content{width:calc(100% - var(--pp-shell-inset));max-width:var(--pp-container);margin-left:auto;margin-right:auto}
.pp-checkout .woocommerce-form-coupon-toggle,
.pp-checkout .woocommerce-form-login-toggle{margin-bottom:18px}
.pp-checkout .woocommerce-info,
.pp-account-shell .woocommerce-info{border-top-color:var(--pp-orange)}
.pp-checkout .woocommerce-info::before,
.pp-account-shell .woocommerce-info::before{color:var(--pp-orange)}
.pp-account-shell .woocommerce{min-width:0}
.pp-account-shell .woocommerce > *{min-width:0}

.woocommerce-cart .woocommerce-notices-wrapper{width:calc(100% - var(--pp-shell-inset));max-width:var(--pp-container);margin:18px auto 0}
.woocommerce-cart .woocommerce-message {
  min-height:58px;
  margin:0;
  padding:18px 22px 18px 58px;
  border:1px solid #FED7AA!important;
  border-left:4px solid var(--pp-orange)!important;
  border-radius:16px;
  background:#fff;
  color:var(--pp-text-2);
  box-shadow:var(--pp-shadow-card);
}
.woocommerce-cart .woocommerce-message::before{top:19px;left:22px;color:var(--pp-orange)}
.woocommerce-cart .woocommerce-message .button{display:inline-flex;align-items:center;justify-content:center}

/* Defensive sizing for plugin-generated product controls. */
.single-product .vz-product-top,.single-product .vz-product-top > *{min-width:0}
.single-product .summary.entry-summary table,
.single-product .summary.entry-summary .nbo-wrapper,
.single-product .summary.entry-summary .nbo-fields-wrapper,
.single-product .summary.entry-summary .nbd-option-wrapper{max-width:100%;min-width:0}
.single-product .summary.entry-summary table{display:block;overflow-x:auto}
.single-product .woocommerce-product-gallery img{max-width:100%;height:auto}

@media (max-width:767px) {
  .pp-page-hero--compact{padding:36px 0 32px}
  .pp-page-hero__title{font-size:var(--pp-fs-8xl, 34px)}
  .pp-page-hero__lead{font-size:var(--pp-fs-lg, 15px)}
  .pp-page-body{padding:28px 0 52px;min-height:280px}
  .pp-prose-card{padding:22px 18px;border-radius:18px}
  .pp-account-shell .woocommerce{display:block}
  .pp-account-shell .woocommerce-MyAccount-navigation{margin-bottom:20px}
  .woocommerce-cart .woocommerce-message{padding:17px 16px 17px 48px}
  .woocommerce-cart .woocommerce-message::before{top:18px;left:16px}
  .woocommerce-cart .woocommerce-message .button{float:none;margin:12px 0 0}
}

@media (max-width:420px) {
}
