/* PatternNest v2.9 — storefront-aligned visual system for AinaSewingPatterns */
:root{
  --pnw-ink:#111318;
  --pnw-muted:#6d6a66;
  --pnw-border:#d9d3cb;
  --pnw-border-soft:#e8e3dc;
  --pnw-paper:#fffdfa;
  --pnw-paper-2:#fbf8f3;
  --pnw-dark:#111318;
  --pnw-accent:#8b6b2e;
}

/* Force one clean storefront typography across plugin controls. This avoids the
   monospace rules used by some page/template blocks while staying visually close
   to the site's navigation and product UI. */
.pnw-wrap,
.pnw-wrap h1,.pnw-wrap h2,.pnw-wrap h3,.pnw-wrap h4,
.pnw-wrap p,.pnw-wrap span,.pnw-wrap strong,.pnw-wrap label,
.pnw-wrap input,.pnw-wrap select,.pnw-wrap button,.pnw-wrap a,
.pnw-product-link-wrap,.pnw-product-link-wrap a{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;
  font-variant-ligatures:normal;
}

.pnw-wrap{max-width:1080px;margin:2.8rem auto 4.2rem;padding:0 24px;color:var(--pnw-ink)}
.pnw-head{display:block;margin:0 0 1.55rem}
.pnw-head-copy{max-width:830px}
.pnw-head h2{margin:0;font-size:clamp(2.15rem,4vw,3.15rem);line-height:1.04;letter-spacing:-.035em;color:var(--pnw-ink);font-weight:600!important}
.pnw-subtitle{margin:.75rem 0 0;color:var(--pnw-muted);font-size:1rem;line-height:1.65;font-weight:400!important;letter-spacing:0!important;max-width:760px}
.pnw-lang{display:none!important}

.pnw-card{border:1px solid var(--pnw-border);border-radius:10px;padding:28px;margin:22px 0;background:rgba(255,253,250,.96);box-shadow:none}
.pnw-form-card{padding:34px 34px 30px}
.pnw-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px}
.pnw-unit-choice{grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:0;color:#54514d;font-size:.85rem;font-weight:600!important}
.pnw-segmented{display:inline-flex;padding:2px;border:1px solid var(--pnw-border);border-radius:999px;background:#f5f1eb}
.pnw-segmented button{border:0;background:transparent;color:#5f5b56;border-radius:999px;padding:6px 11px;min-width:43px;cursor:pointer;font-size:.82rem!important;font-weight:600!important;line-height:1.1}
.pnw-segmented button.is-active{background:var(--pnw-dark);color:#fff;box-shadow:none}

.pnw-form-grid label>span{display:block;font-size:.88rem!important;font-weight:600!important;margin-bottom:8px;color:#282a2f;letter-spacing:.005em!important}
.pnw-form-grid select,.pnw-form-grid input{width:100%;min-height:52px;padding:0 16px;border:1px solid #cfc9c1;border-radius:6px;background:#fff;color:var(--pnw-ink);box-sizing:border-box;font-size:1rem!important;font-weight:400!important;letter-spacing:0!important;transition:border-color .18s ease,box-shadow .18s ease}
.pnw-form-grid select:focus,.pnw-form-grid input:focus{outline:none;border-color:#77716a;box-shadow:0 0 0 3px rgba(17,19,24,.05)}
.pnw-unit-input{display:flex;align-items:center;border:1px solid #cfc9c1;border-radius:6px;overflow:hidden;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}
.pnw-unit-input:focus-within{border-color:#77716a;box-shadow:0 0 0 3px rgba(17,19,24,.05)}
.pnw-unit-input input{border:0!important;box-shadow:none!important;background:transparent!important;outline:none!important}
.pnw-unit-input span{padding:0 15px;font-size:.85rem!important;font-weight:600!important;color:#55514c;background:#f8f5f0;min-height:52px;display:flex;align-items:center;border-left:1px solid #e2ddd6}

.pnw-submit{grid-column:1/-1;display:flex;justify-content:center;padding:12px 0 0}
.pnw-primary-btn,.pnw-submit .button{min-height:52px;padding:0 34px!important;border-radius:999px!important;border:1px solid var(--pnw-dark)!important;background:var(--pnw-dark)!important;color:#fff!important;font-size:.95rem!important;font-weight:600!important;letter-spacing:.005em!important;box-shadow:none!important;transition:background .18s ease,color .18s ease,transform .18s ease!important;min-width:280px}
.pnw-primary-btn:hover,.pnw-submit .button:hover{transform:translateY(-1px);background:#000!important;border-color:#000!important}

.pnw-message{padding:5px 2px 10px;font-size:.95rem!important;font-weight:500!important}.pnw-message.pnw-error{color:#a52a20}.pnw-message.pnw-ok{color:#256c42}
.pnw-result{margin:28px 0}.pnw-result h3{margin:0 0 15px;font-size:1.4rem!important;color:var(--pnw-ink);font-weight:600!important;letter-spacing:-.01em!important}
.pnw-summary{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 17px}
.pnw-summary span{display:inline-flex;align-items:center;gap:5px;padding:7px 11px;border-radius:999px;background:#f7f3ed;border:1px solid #e1dbd3;font-size:.9rem!important;color:#55514d}.pnw-summary strong{color:var(--pnw-ink);font-weight:600!important}
.pnw-canvas{overflow:auto;border:1px solid var(--pnw-border);border-radius:7px;background:#fff;padding:16px}.pnw-canvas svg{display:block;width:100%;height:auto;min-width:520px}

.pnw-extra-fabric{background:#f8f4ec;border-color:#ded5c7;box-shadow:none}
.pnw-extra-fabric h3{margin:0 0 7px;font-size:1.1rem!important;color:#292824;font-weight:600!important}.pnw-extra-fabric p{margin:0;color:#5e5a55;line-height:1.65;font-size:.96rem!important}
.pnw-warning{border-left:3px solid var(--pnw-accent);background:#fffaf0;box-shadow:none}.pnw-warning h3{margin-top:0;color:#604a1f;font-size:1.22rem!important;font-weight:600!important}.pnw-warning p{line-height:1.7;color:#4e4a45;max-width:960px;font-size:.96rem!important}
.pnw-confirm{display:flex;align-items:flex-start;gap:10px;margin-top:16px;font-size:.94rem!important;font-weight:600!important;color:#292a2d}.pnw-confirm input{margin-top:4px;transform:scale(1.05)}
.pnw-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.pnw-actions .button{min-height:46px;padding:0 21px!important;border-radius:999px!important;border:1px solid #aaa39b!important;background:#fff!important;color:var(--pnw-ink)!important;font-size:.9rem!important;font-weight:600!important}.pnw-actions .button:hover{background:#f4f0ea!important;border-color:#77716a!important}.pnw-actions button:disabled{opacity:.45;cursor:not-allowed}

/* Secondary request card: quieter than the generator so it does not compete with the main CTA. */
.pnw-request{background:transparent;border-color:var(--pnw-border);padding:25px 28px;box-shadow:none}
.pnw-request strong{display:block;font-size:1.03rem!important;color:var(--pnw-ink);margin-bottom:.35rem;font-weight:600!important;letter-spacing:-.005em!important}
.pnw-request p{margin:.35rem 0 .95rem;color:#6b6762;line-height:1.6;font-size:.95rem!important;max-width:820px}
.pnw-request .button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px!important;border-radius:999px!important;background:transparent!important;border:1px solid #817a72!important;color:var(--pnw-ink)!important;text-decoration:none!important;font-size:.88rem!important;font-weight:600!important;box-shadow:none!important}
.pnw-request .button:hover{background:var(--pnw-dark)!important;color:#fff!important;border-color:var(--pnw-dark)!important}

.pnw-piece{fill-opacity:.15;stroke:#222;stroke-width:.3;vector-effect:non-scaling-stroke}.pnw-piece.mirror{stroke-dasharray:1.3 1}.pnw-piece-label{font-size:3px;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.pnw-fabric{fill:none;stroke:#111;stroke-width:.5;vector-effect:non-scaling-stroke}.pnw-svg-note{font-size:3.1px}.pnw-svg-title{font-size:4.2px;font-weight:700}.pnw-loading{opacity:.6;pointer-events:none}

/* Product-page entry point — same black pill language as the site's primary actions. */
.pnw-product-link-wrap{width:100%;display:flex;justify-content:center;clear:both;margin:25px 0 22px;padding:4px 0}
.pnw-product-link{margin:0!important;text-align:center;width:100%}
.woocommerce div.product .pnw-product-link-wrap a.pnw-product-btn.button,.pnw-product-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:50px!important;padding:0 30px!important;border-radius:999px!important;background:#111!important;color:#fff!important;border:1px solid #111!important;text-decoration:none!important;font-size:.95rem!important;font-weight:600!important;letter-spacing:.005em!important;box-shadow:none!important;opacity:1!important;transition:all .18s ease!important;min-width:min(100%,310px)}
.woocommerce div.product .pnw-product-link-wrap a.pnw-product-btn.button:hover,.pnw-product-btn:hover{background:#fff!important;color:#111!important;border-color:#111!important;transform:none!important}

/* Hide native number spinner affordances when browsers inject them. */
.pnw-form-grid input::-webkit-outer-spin-button,.pnw-form-grid input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pnw-form-grid input[type=number]{-moz-appearance:textfield}

@media(max-width:800px){
  .pnw-wrap{padding:0 18px;margin-top:2rem}.pnw-head h2{font-size:clamp(2rem,8vw,2.55rem)}
  .pnw-form-grid{grid-template-columns:1fr}.pnw-form-card{padding:26px 20px}.pnw-unit-choice{justify-content:flex-start}.pnw-canvas svg{min-width:430px}
  .pnw-primary-btn,.pnw-submit .button{width:100%;min-width:0}.pnw-request{padding:22px 20px}
  .pnw-product-link-wrap{margin:18px 0}.woocommerce div.product .pnw-product-link-wrap a.pnw-product-btn.button,.pnw-product-btn{width:100%!important;min-width:0!important}
}
@media(max-width:480px){
  .pnw-wrap{padding:0 14px}.pnw-card{border-radius:8px}.pnw-form-card{padding:22px 16px}.pnw-form-grid{gap:18px}.pnw-subtitle{font-size:.95rem!important}
}
@media print{.pnw-actions{display:none!important}.pnw-card{box-shadow:none}}

/* Account and guest purchase verification share the storefront typography. */
.pnw-access{scroll-margin-top:140px;white-space:normal!important;line-height:1.55}
.pnw-access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px;align-items:start}
.pnw-access-grid>.pnw-card{margin:0;min-width:0}
.pnw-access h2{margin:0 0 12px;font-size:1.5rem!important;font-weight:600!important;line-height:1.25;color:var(--pnw-ink)!important}
.pnw-access p,.pnw-access label{color:var(--pnw-ink)!important;font-size:1rem!important;letter-spacing:normal!important}
.pnw-access label{display:block;margin:0 0 7px}
.pnw-access form{margin:18px 0 12px}
.pnw-access form p{margin:0 0 16px}
.pnw-access input[type=text],.pnw-access input[type=email],.pnw-access input[type=password]{display:block;width:100%;max-width:100%;min-height:48px;box-sizing:border-box;margin:0 0 18px;padding:10px 12px;border:1px solid #bcb5ad;border-radius:6px;background:#fff;color:#111;font-size:16px!important;line-height:1.4!important;letter-spacing:normal!important}
.pnw-access input[type=checkbox]{width:18px;height:18px;vertical-align:middle;margin:0 7px 0 0}
.pnw-access .login-remember label{display:flex;align-items:center;gap:4px}
.pnw-access .pnw-access-button,.pnw-access input[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;padding:10px 24px!important;border:1px solid #111!important;border-radius:999px!important;background:#111!important;color:#fff!important;white-space:normal;text-align:center;font-size:16px!important;font-weight:600!important;cursor:pointer}
.pnw-access a{color:#51402c!important;text-decoration:underline;overflow-wrap:anywhere}
.pnw-access .pnw-access-notice{padding:16px 20px;margin-bottom:24px;border:1px solid #bfa987;background:#fff8eb;border-radius:8px}
.pnw-access .pnw-code-form{border-top:1px solid var(--pnw-border);padding-top:22px;margin-top:24px}
.pnw-access .pnw-access-help{font-size:.875rem!important;color:#5d5953!important}
.pnw-access input:focus-visible,.pnw-access button:focus-visible,.pnw-access a:focus-visible{outline:3px solid #8b6b2e;outline-offset:3px}
.pnw-access .cf-turnstile{max-width:100%;overflow:auto}
@media(max-width:600px){.pnw-access-grid{grid-template-columns:minmax(0,1fr);gap:18px}.pnw-access .pnw-card{padding:22px 16px}.pnw-access .pnw-access-button,.pnw-access input[type=submit]{width:100%}}

/* Per-piece manual adjustment. Rotation is offered only when the selected fabric
   direction allows a 180° reversal, so the pattern's directed grain arrows stay safe. */
.pnw-piece-adjust{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px 12px;align-items:end;margin-top:16px;padding-top:16px;border-top:1px solid var(--pnw-border-soft)}
.pnw-piece-adjust label{display:block;margin:0}
.pnw-piece-adjust label>span{display:block;margin-bottom:7px;font-size:.86rem!important;font-weight:600!important;color:#33353a}
.pnw-piece-adjust select{width:100%;min-height:44px;padding:0 12px;border:1px solid #cfc9c1;border-radius:6px;background:#fff;color:var(--pnw-ink);font-size:.92rem!important}
.pnw-piece-adjust .pnw-rotate-piece{min-height:44px;padding:0 18px!important;border-radius:999px!important;border:1px solid #817a72!important;background:#fff!important;color:var(--pnw-ink)!important;font-size:.88rem!important;font-weight:600!important;box-shadow:none!important}
.pnw-piece-adjust .pnw-rotate-piece:hover:not(:disabled){background:var(--pnw-dark)!important;color:#fff!important;border-color:var(--pnw-dark)!important}
.pnw-piece-adjust .pnw-rotate-piece:disabled{opacity:.45;cursor:not-allowed}
.pnw-piece-adjust small{grid-column:1/-1;color:#6b6762;font-size:.82rem!important;line-height:1.45}
@media(max-width:650px){.pnw-piece-adjust{grid-template-columns:1fr}.pnw-piece-adjust .pnw-rotate-piece{width:100%}.pnw-piece-adjust small{grid-column:1}}

.pnw-access .pnw-access-intro{margin:0 0 28px;max-width:900px}.pnw-access .pnw-access-intro h2{font-family:inherit;font-size:clamp(24px,3vw,36px);line-height:1.2;margin:0 0 14px}.pnw-access .pnw-access-intro p{font-family:inherit;line-height:1.6;margin:0}

/* Etsy activation request: a full-width card below the access forms. */
.pnw-access .pnw-etsy-callout{margin-top:24px;border:1px solid #d8cbbd;border-left:4px solid #9b7656;background:#f7f3ed;min-width:0}
.pnw-access .pnw-etsy-callout .pnw-etsy-link{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;max-width:100%;min-height:44px;text-align:center;text-decoration:none!important;white-space:normal;overflow-wrap:anywhere}
.pnw-access .pnw-etsy-callout p{overflow-wrap:anywhere}
.pnw-access .pnw-etsy-callout .pnw-access-help{margin:12px 0 0}
@media(max-width:600px){.pnw-access .pnw-etsy-callout{margin-top:18px}.pnw-access .pnw-etsy-callout .pnw-etsy-link{width:100%}}
