/* Legacy component presentation. Public brand tokens are owned by the Theme.
 * Fallbacks preserve private flows that do not load the public shell. */
.cp-visual-coherence{
  --cpv-canvas:var(--cp-color-canvas,#F7F8FB);
  --cpv-surface:#FFFFFF;
  --cpv-surface-soft:var(--cp-color-canvas,#F9FAFB);
  --cpv-surface-brand:var(--cp-color-accent-soft,#FFF3F8);
  --cpv-text:var(--cp-color-ink,#071A3D);
  --cpv-body:var(--cp-color-body,#344054);
  --cpv-muted:var(--cp-color-muted,#667085);
  --cpv-border:var(--cp-color-line,#E1E6ED);
  --cpv-border-strong:#D0D5DD;
  --cpv-primary:var(--cp-color-accent,#EF2F7C);
  --cpv-primary-hover:var(--cp-color-accent-hover,#D91F68);
  --cpv-primary-soft:var(--cp-color-accent-soft,#FFF0F6);
  --cpv-success:#21A966;
  --cpv-success-soft:#ECFDF3;
  --cpv-warning:#F59E0B;
  --cpv-warning-soft:#FFFAEB;
  --cpv-danger:#D92D4D;
  --cpv-danger-soft:#FFF1F3;
  --cpv-radius-xs:8px;
  --cpv-radius-sm:var(--cp-control-radius,12px);
  --cpv-radius-md:var(--cp-card-radius,16px);
  --cpv-radius-lg:24px;
  --cpv-shadow-sm:0 2px 8px rgba(7,26,61,.045);
  --cpv-shadow-md:0 8px 24px rgba(7,26,61,.065);
  --cpv-focus:0 0 0 3px rgba(191,0,105,.25);
  --cp-pink:var(--cpv-primary);
  --cp-pink-dark:var(--cpv-primary-hover);
  --cp-pink-soft:var(--cpv-primary-soft);
  --cp-green:var(--cpv-success);
  --cp-green-soft:var(--cpv-success-soft);
  --cp-ink:var(--cpv-text);
  --cp-muted:var(--cpv-muted);
  --cp-line:var(--cpv-border);
  --cp-bg:var(--cpv-canvas);
  --cp-card:var(--cpv-surface);
  --cp-radius:var(--cpv-radius-md);
  --cp-shadow:var(--cpv-shadow-sm);
  color:var(--cpv-body);
  background:var(--cpv-canvas);
  font-family:var(--cp-font-body,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.cp-visual-coherence *, .cp-visual-coherence *::before, .cp-visual-coherence *::after{box-sizing:border-box}
.cp-visual-coherence :where(h1,h2,h3,h4,h5,h6){color:var(--cpv-text);letter-spacing:-.025em;text-wrap:balance}
.cp-visual-coherence :where(h1){line-height:1.04}
.cp-visual-coherence :where(h2){line-height:1.12}
.cp-visual-coherence :where(h3,h4){line-height:1.2}
/* Text inherits its component's foreground. Never paint dark summary text globally. */
.cp-visual-coherence :where(a){text-underline-offset:2px}
/* Legacy/private navigation. Public navigation has its own Theme component. */
.cp-visual-coherence .cp-site-header{background:rgba(255,255,255,.97)!important;border-bottom:1px solid var(--cpv-border)!important;box-shadow:none!important}
.cp-visual-coherence .cp-site-nav{color:var(--cpv-text)}
.cp-visual-coherence .cp-nav-links>a,.cp-visual-coherence .cp-nav-utilities>a{color:var(--cpv-text)!important;border-radius:10px;font-weight:700;transition:background .16s ease,color .16s ease,transform .16s ease}
.cp-visual-coherence .cp-nav-links>a:hover,.cp-visual-coherence .cp-nav-utilities>a:hover{color:var(--cpv-primary)!important;background:var(--cpv-primary-soft)}
.cp-visual-coherence .cp-nav-quote{background:var(--cpv-primary)!important;color:#fff!important;border-color:var(--cpv-primary)!important;box-shadow:none!important}
.cp-visual-coherence .cp-nav-quote:hover{background:var(--cpv-primary-hover)!important;color:#fff!important}
.cp-visual-coherence .cp-cart-link{background:var(--cpv-text)!important;color:#fff!important}
.cp-visual-coherence .cp-cart-link:hover{background:#102A56!important;color:#fff!important}
/* Buttons */
.cp-visual-coherence :where(.cp-btn,.button,.wp-element-button,input[type="submit"],.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.single_add_to_cart_button){min-height:44px;border-radius:var(--cpv-radius-sm)!important;font-weight:750!important;letter-spacing:-.01em;box-shadow:none!important;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}
.cp-visual-coherence :where(.cp-btn,.wp-element-button,.woocommerce button.button.alt,.woocommerce a.button.alt,.single_add_to_cart_button){background:var(--cpv-primary)!important;border-color:var(--cpv-primary)!important;color:#fff!important}
.cp-visual-coherence :where(.cp-btn,.wp-element-button,.woocommerce button.button.alt,.woocommerce a.button.alt,.single_add_to_cart_button):hover:not(:disabled){background:var(--cpv-primary-hover)!important;border-color:var(--cpv-primary-hover)!important;color:#fff!important;transform:translateY(-1px)}
.cp-visual-coherence :where(button,.button,.cp-btn,.wp-element-button,input[type="submit"]):focus-visible{outline:2px solid var(--cpv-primary);outline-offset:3px;box-shadow:var(--cpv-focus)!important}
.cp-visual-coherence :where(button,.button,.cp-btn,.wp-element-button,input[type="submit"]):disabled,.cp-visual-coherence :where(.button,.cp-btn).disabled{background:#F2F4F7!important;border-color:#EAECF0!important;color:#98A2B3!important;opacity:1!important;cursor:not-allowed!important;transform:none!important}
/* Inputs */
.cp-visual-coherence :where(input[type="text"],input[type="email"],input[type="tel"],input[type="search"],input[type="number"],input[type="password"],select,textarea){border:1px solid var(--cpv-border-strong)!important;border-radius:var(--cpv-radius-sm)!important;background:#fff!important;color:var(--cpv-text)!important;font:inherit;box-shadow:none!important;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.cp-visual-coherence :where(input[type="text"],input[type="email"],input[type="tel"],input[type="search"],input[type="number"],input[type="password"],select){min-height:44px}
.cp-visual-coherence :where(input,select,textarea)::placeholder{color:#667085!important;opacity:1}
.cp-visual-coherence :where(input[type="text"],input[type="email"],input[type="tel"],input[type="search"],input[type="number"],input[type="password"],select,textarea):focus{outline:0!important;border-color:var(--cpv-primary)!important;box-shadow:var(--cpv-focus)!important}
.cp-visual-coherence :where(input,select,textarea):disabled{background:#F2F4F7!important;color:#98A2B3!important;border-color:#EAECF0!important}
/* Surfaces */
.cp-visual-coherence :where(.cp-card,.cp-panel,.cp-print-card,.cp-product-card,.cp-collection-card,.cp-catalog-card){border-color:var(--cpv-border)!important;border-radius:var(--cpv-radius-md)!important;background:var(--cpv-surface)!important;box-shadow:var(--cpv-shadow-sm)!important}
.cp-visual-coherence :where(.cp-card,.cp-print-card,.cp-product-card,.cp-collection-card,.cp-catalog-card):hover{border-color:#D5DAE3!important}
.cp-visual-coherence :where(.cp-back-link,.cp-pp-backbar a){display:inline-flex!important;align-items:center!important;gap:7px!important;width:max-content!important;max-width:100%!important;min-height:44px!important;margin:0 0 18px!important;padding:9px 13px!important;border:1px solid var(--cpv-border)!important;border-radius:999px!important;background:#fff!important;color:var(--cpv-text)!important;text-decoration:none!important;font-size:13px!important;font-weight:750!important;line-height:1!important;box-shadow:var(--cpv-shadow-sm)!important}
.cp-visual-coherence :where(.cp-back-link,.cp-pp-backbar a):hover{border-color:var(--cpv-primary)!important;color:var(--cpv-primary)!important;background:var(--cpv-primary-soft)!important;transform:translateY(-1px)}
/* Print */
.cp-visual-coherence :where(.cp-print-index-hero,.cp-print-product-copy,.cp-print-product-gallery){border-color:var(--cpv-border)!important;border-radius:var(--cpv-radius-md)!important;background:var(--cpv-surface)!important;box-shadow:none!important}
.cp-visual-coherence .cp-print-index-hero{padding-top:clamp(24px,3vw,40px)!important;padding-bottom:clamp(24px,3vw,40px)!important}
.cp-visual-coherence .cp-print-index-hero .cp-eyebrow,.cp-visual-coherence .cp-print-product-copy .cp-eyebrow{color:var(--cpv-primary)!important;font-weight:800!important;letter-spacing:.035em!important}
.cp-visual-coherence .cp-print-product-copy{min-height:0!important;height:auto!important;justify-content:flex-start!important}
.cp-visual-coherence .cp-print-product-copy p,.cp-visual-coherence .cp-print-index-hero p{color:var(--cpv-muted)!important}
.cp-visual-coherence .cp-print-products-grid{gap:16px!important}
.cp-visual-coherence .cp-print-card{overflow:hidden;transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease}
.cp-visual-coherence .cp-print-card:hover{transform:translateY(-2px);box-shadow:var(--cpv-shadow-md)!important}
.cp-visual-coherence .cp-print-card :where(.cp-chip,.cp-tag){border-color:var(--cpv-border)!important;background:#F8FAFC!important;color:var(--cpv-body)!important}
.cp-visual-coherence :where(.cp-print-summary,.cp-quote-summary,.cp-print-config-summary){background:var(--cpv-text)!important;border-radius:var(--cpv-radius-md)!important;box-shadow:var(--cpv-shadow-md)!important}
/* WooCommerce */
.cp-visual-coherence .cp-woocommerce{color:var(--cpv-body)}
.cp-visual-coherence .woocommerce div.product .product_title{color:var(--cpv-text)!important}
.cp-visual-coherence .woocommerce div.product p.price,.cp-visual-coherence .woocommerce div.product span.price{color:var(--cpv-text)!important;font-weight:800!important}
.cp-visual-coherence .woocommerce div.product .woocommerce-product-gallery,.cp-visual-coherence .woocommerce div.product .summary{border-radius:var(--cpv-radius-md)}
.cp-visual-coherence .woocommerce-variation-price{border-color:var(--cpv-border)!important;border-radius:var(--cpv-radius-sm)!important;background:var(--cpv-surface-soft)!important}
.cp-visual-coherence .woocommerce :where(.quantity .qty){border-radius:var(--cpv-radius-sm)!important;border-color:var(--cpv-border-strong)!important}
.cp-visual-coherence :where(.woocommerce-message,.woocommerce-info,.woocommerce-error){border:1px solid var(--cpv-border)!important;border-radius:var(--cpv-radius-sm)!important;box-shadow:none!important}
.cp-visual-coherence .woocommerce-message{background:var(--cpv-success-soft)!important;border-color:#B7E8CA!important;color:#146C43!important}
.cp-visual-coherence .woocommerce-info{background:#F5F8FF!important;border-color:#DCE6F7!important;color:var(--cpv-text)!important}
.cp-visual-coherence .woocommerce-error{background:var(--cpv-danger-soft)!important;border-color:#F4C5D0!important;color:#A81435!important}
.cp-visual-coherence .woocommerce table.shop_table{overflow:hidden;border:1px solid var(--cpv-border)!important;border-radius:var(--cpv-radius-md)!important;background:#fff;box-shadow:none!important}
.cp-visual-coherence .woocommerce table.shop_table th{color:var(--cpv-text)}
.cp-visual-coherence :where(.cart_totals,.woocommerce-checkout-review-order,.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register,.woocommerce-MyAccount-content){border-color:var(--cpv-border)!important;border-radius:var(--cpv-radius-md)!important}
.cp-visual-coherence .woocommerce-MyAccount-navigation ul{gap:6px}
.cp-visual-coherence .woocommerce-MyAccount-navigation a{border-radius:10px!important;color:var(--cpv-text)!important}
.cp-visual-coherence .woocommerce-MyAccount-navigation .is-active a,.cp-visual-coherence .woocommerce-MyAccount-navigation a:hover{background:var(--cpv-primary-soft)!important;color:var(--cpv-primary)!important}
/* Stamp personalizer */
.cp-visual-coherence .cp-pp{--cp-pink:var(--cpv-primary);--cp-ink:var(--cpv-text);--cp-muted:var(--cpv-muted);--cp-line:var(--cpv-border);--cp-soft:var(--cpv-surface-soft);border-color:var(--cpv-border)!important;border-radius:var(--cpv-radius-md)!important;box-shadow:none!important}
.cp-visual-coherence .cp-pp__methods{background:#F2F4F7!important}
.cp-visual-coherence .cp-pp__methods input:checked+span{background:var(--cpv-primary)!important;box-shadow:none!important}
.cp-visual-coherence .cp-pp__preview-wrap{border-color:var(--cpv-border)!important;border-radius:var(--cpv-radius-md)!important;background:#fff!important}
.cp-visual-coherence .cp-pp__preview-stage{background:var(--cpv-surface-soft)!important;border-radius:var(--cpv-radius-sm)!important}
.cp-visual-coherence .cp-pp__proof>span{background:var(--cpv-primary-soft)!important;color:var(--cpv-primary)!important}
.cp-visual-coherence .cp-pp__text-line input[type="text"],.cp-visual-coherence .cp-pp__panel textarea,.cp-visual-coherence .cp-pp__notes textarea{border-color:var(--cpv-border-strong)!important;border-radius:var(--cpv-radius-sm)!important;background:#fff!important;color:var(--cpv-text)!important}
.cp-visual-coherence .cp-pp__text-line input[type="text"]:focus,.cp-visual-coherence .cp-pp__panel textarea:focus,.cp-visual-coherence .cp-pp__notes textarea:focus{border-color:var(--cpv-primary)!important;box-shadow:var(--cpv-focus)!important}
.cp-visual-coherence .cp-pp__upload-box{border-color:#F4A6C7!important;border-radius:var(--cpv-radius-sm)!important;background:var(--cpv-surface-brand)!important}
.cp-visual-coherence .cp-pp__upload-box:hover,.cp-visual-coherence .cp-pp__upload-box:focus-within{border-color:var(--cpv-primary)!important;background:#FFF8FB!important}
.cp-visual-coherence .cp-pp__upload-icon{background:#fff!important;color:var(--cpv-primary)!important;box-shadow:var(--cpv-shadow-sm)}
.cp-visual-coherence .cp-pp__upload-action{background:var(--cpv-primary)!important;color:#fff!important}
.cp-visual-coherence .cp-pp__line-warning:not([hidden]){border-color:#F4C5D0!important;background:var(--cpv-danger-soft)!important;color:#A81435!important}
.cp-visual-coherence .cp-pp__line-warning:not([hidden])::before{background:var(--cpv-danger)!important}
/* Review request */
.cp-visual-coherence .cp-review-contact{border-color:var(--cpv-border)!important;border-radius:var(--cpv-radius-md)!important;background:var(--cpv-surface-soft)!important}
.cp-visual-coherence .cp-review-contact__head strong{color:var(--cpv-text)!important}
.cp-visual-coherence .cp-review-contact__head span{color:var(--cpv-muted)!important}
.cp-visual-coherence .cp-review-contact__grid label>span{color:var(--cpv-body)!important}
.cp-visual-coherence .cp-review-contact__grid input{border-color:var(--cpv-border-strong)!important;border-radius:var(--cpv-radius-sm)!important;background:#fff!important;color:var(--cpv-text)!important}
.cp-visual-coherence .cp-review-contact__grid input:focus{border-color:var(--cpv-primary)!important;box-shadow:var(--cpv-focus)!important}
.cp-visual-coherence .cp-review-feedback.is-error{background:var(--cpv-danger-soft)!important;color:#A81435!important;border-color:#F4C5D0!important}
.cp-visual-coherence .cp-review-feedback.is-success{background:var(--cpv-success-soft)!important;color:#146C43!important;border-color:#B7E8CA!important}
.cp-visual-coherence .cp-review-feedback.is-info{background:#F5F8FF!important;color:var(--cpv-text)!important;border-color:#DCE6F7!important}
/* Selection states */
.cp-visual-coherence :where(.cp-chip,.cp-choice-chip,.cp-size-chip,.cp-pack-choice-card,.cp-color-option,.cp-size-option){border-color:var(--cpv-border)!important;border-radius:var(--cpv-radius-sm)!important}
.cp-visual-coherence :where(.cp-chip,.cp-choice-chip,.cp-size-chip).is-selected,.cp-visual-coherence :where(.cp-pack-choice-card,.cp-color-option,.cp-size-option).is-selected{border-color:var(--cpv-primary)!important;box-shadow:0 0 0 2px rgba(239,47,124,.10)!important}
.cp-visual-coherence .cp-group-step-flow [data-pack-component]{border-color:var(--cpv-border)!important;border-radius:var(--cpv-radius-md)!important;box-shadow:none!important}
.cp-visual-coherence .cp-group-step-flow [data-pack-component].is-open{border-color:#B8C2D1!important;box-shadow:var(--cpv-shadow-sm)!important}
.cp-visual-coherence .cp-group-step-actions button{min-height:44px!important;border-radius:10px!important;background:var(--cpv-primary)!important}
.cp-visual-coherence .cp-group-step-actions button:disabled{background:#F2F4F7!important;color:#98A2B3!important}
.cp-visual-coherence :where(.is-success,.cp-success,.cp-status-success){--cp-state-bg:var(--cpv-success-soft);--cp-state-fg:#146C43;--cp-state-border:#B7E8CA}
.cp-visual-coherence :where(.is-warning,.cp-warning,.cp-status-warning){--cp-state-bg:var(--cpv-warning-soft);--cp-state-fg:#8A4B08;--cp-state-border:#FAD7A0}
.cp-visual-coherence :where(.is-danger,.cp-danger,.cp-status-danger,.is-error){--cp-state-bg:var(--cpv-danger-soft);--cp-state-fg:#A81435;--cp-state-border:#F4C5D0}
.cp-visual-coherence footer,.cp-visual-coherence .cp-site-footer{border-top-color:var(--cpv-border)!important}
@media(max-width:760px){
 .cp-visual-coherence{--cpv-radius-md:var(--cp-card-radius,14px);--cpv-radius-lg:20px}
 .cp-visual-coherence :where(.cp-btn,.button,.wp-element-button,input[type="submit"],.woocommerce button.button,.woocommerce a.button,.single_add_to_cart_button){min-height:44px}
 .cp-visual-coherence :where(input[type="text"],input[type="email"],input[type="tel"],input[type="search"],input[type="number"],input[type="password"],select){min-height:46px;font-size:16px!important}
 .cp-visual-coherence :where(.cp-back-link,.cp-pp-backbar a){min-height:44px!important;margin-bottom:14px!important;padding:8px 11px!important;font-size:12px!important}
 .cp-visual-coherence .cp-print-index-hero{padding:22px!important}
 .cp-visual-coherence .cp-pp{border-radius:14px!important}
 .cp-visual-coherence .cp-review-contact{border-radius:14px!important}
}
@media(prefers-reduced-motion:reduce){.cp-visual-coherence *,.cp-visual-coherence *::before,.cp-visual-coherence *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* 2026-10-04: compact shop introduction without changing product cards. */
@media (min-width: 761px) {
  body.cp-visual-coherence.woocommerce-shop .cp-store-intro-compact {
    margin: 16px auto 14px !important;
    padding: 18px 26px !important;
  }

  body.cp-visual-coherence.woocommerce-shop .cp-store-intro-copy h1 {
    margin: 4px 0 8px !important;
    font-size: clamp(34px, 3vw, 42px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
  }

  body.cp-visual-coherence.woocommerce-shop .cp-store-intro-copy p {
    line-height: 1.45 !important;
  }

  body.cp-visual-coherence.woocommerce-shop .woocommerce-ordering {
    margin: 0 0 18px !important;
  }

  /* Display type and vertical rhythm shared by the public landings. */
  body.cp-visual-coherence .cpsch-landing__hero {
    padding-block: clamp(38px, 4vw, 62px) !important;
  }

  body.cp-visual-coherence .cpsch-landing h1 {
    font-size: clamp(42px, 4.5vw, 60px) !important;
    line-height: 1.05 !important;
  }

  body.cp-visual-coherence .cpsch-landing__lead {
    font-size: clamp(17px, 1.45vw, 19px) !important;
    line-height: 1.5 !important;
  }

  body.cp-visual-coherence .cpsch-landing__section {
    padding-block: clamp(34px, 4vw, 56px) !important;
  }

  body.cp-visual-coherence .cpsch-landing__section h2 {
    font-size: clamp(30px, 3.2vw, 42px) !important;
    line-height: 1.1 !important;
  }

  body.cp-visual-coherence .cpsch-landing__card h2 {
    font-size: clamp(24px, 2.2vw, 30px) !important;
  }

  body.cp-visual-coherence .company-pack {
    gap: 8px !important;
    padding: 18px !important;
  }

  body.cp-visual-coherence .company-pack__media {
    height: 210px !important;
  }

  body.cp-visual-coherence .company-pack__title {
    font-size: 22px !important;
    line-height: 1.15 !important;
  }

  body.cp-visual-coherence .company-pack__fixed-price strong {
    font-size: 40px !important;
  }
}

