/*
Theme Name: Puffin WooCommerce Staging
Version: 2.0.0
Description: Puffin's existing storefront design connected to WooCommerce.
*/
body{margin:0}.admin-bar .np-sticky-header{top:32px}.puffin-native-cart .wc-block-mini-cart__button{padding:0;color:var(--np-navy,#10344b)}.puffin-native-cart .wc-block-mini-cart__amount{display:none}.puffin-native-cart .wc-block-mini-cart__badge{background:#fb633b;color:#fff}.puffin-native-cart{display:flex;align-items:center}.np-product-copy form{margin:0}.np-product-card[hidden], [hidden]{display:none!important}.puffin-purchase{margin:0!important}.puffin-purchase .single_variation{display:none!important}.puffin-purchase .np-pdp-selector{display:flex;align-items:center;gap:16px}.puffin-purchase .np-pdp-selector select{max-width:180px}.np-quantity{display:flex;align-items:center;border:1px solid #cadfe5;border-radius:12px;overflow:hidden;height:54px;flex-shrink:0}.np-quantity button{border:0;background:transparent;color:#10344b;width:34px;height:100%;cursor:pointer;font-size:20px}.np-quantity input{width:34px;border:0;background:transparent;text-align:center;color:#10344b;font:inherit;-moz-appearance:textfield}.np-quantity input::-webkit-inner-spin-button{appearance:none}.np-pdp-buy-row .np-pdp-add{flex:1}.np-pdp-price del{font-size:18px;opacity:.6;margin-left:12px}.puffin-dialog,.puffin-quick-dialog{border:0;border-radius:24px;padding:32px;color:#10344b;background:#fff;max-width:min(700px,92vw);max-height:88dvh;overflow:auto;box-sizing:border-box;box-shadow:0 20px 80px #08223955}.puffin-dialog::backdrop,.puffin-quick-dialog::backdrop{background:#06223899}.puffin-dialog-close{display:block;margin:0 0 20px auto;background:#e4f4f6;border:0;border-radius:30px;padding:10px 16px;cursor:pointer;color:#12364f}.puffin-quick-dialog .np-product-card{display:grid;grid-template-columns:1fr 1fr;box-shadow:none;gap:24px}.puffin-quick-dialog .np-product-image{min-width:0}.puffin-quick-dialog .np-product-copy{padding:12px 0}.puffin-quick-description{font-size:14px;line-height:1.6}.puffin-dialog form{display:grid;gap:16px}.puffin-dialog input{padding:14px;border:1px solid #bed6df;border-radius:10px;font:inherit}.puffin-commerce{padding-top:40px;padding-bottom:60px;min-height:45vh}.woocommerce-notices-wrapper,.woocommerce-message,.woocommerce-error,.woocommerce-info{max-width:1180px;margin:16px auto}.wc-block-components-button{border-radius:12px!important;background:#fb6439;color:#fff}.wc-block-mini-cart__drawer{font-family:inherit;color:#10344b}.wc-block-mini-cart__drawer .wc-block-components-button{background:#fb633b!important;color:white!important}.puffin-stage-feedback{padding:12px;background:#e8f6f8;border-radius:8px;font-size:14px}.np-pdp-description.is-expanded .np-pdp-intro{-webkit-line-clamp:unset!important;max-height:none!important;display:block!important}.np-product-image .puffin-card-image{width:100%;height:100%;object-fit:contain}
@media(max-width:782px){.admin-bar .np-sticky-header{top:46px}.puffin-quick-dialog .np-product-card{grid-template-columns:1fr}.puffin-dialog,.puffin-quick-dialog{padding:20px}.puffin-purchase .np-pdp-selector{justify-content:space-between}}@media(min-width:901px){#puffin-mobile-nav{display:none!important}}

.puffin-purchase .np-pdp-selector{display:grid;gap:8px}.puffin-purchase .np-pdp-selector select{max-width:none;width:100%}.np-pdp-quantity input{width:32px;border:0;background:transparent;text-align:center;font:inherit;font-weight:800;color:inherit;-moz-appearance:textfield}.np-pdp-quantity input::-webkit-inner-spin-button{appearance:none}.ask-puffin-launcher strong{color:white}.np-pdp-price del{margin:0}.np-nav a{white-space:normal}

.puffin-native-cart .wc-block-mini-cart__button{background:transparent!important;border:0!important;border-radius:0!important;width:42px!important;height:42px!important;box-shadow:none!important;color:#164158!important}.puffin-native-cart .wc-block-mini-cart__quantity-badge{display:flex;position:relative}.puffin-native-cart .wc-block-mini-cart__icon{width:24px!important;height:24px!important;display:block}.puffin-native-cart .wc-block-mini-cart__badge{position:absolute;right:-4px;top:-6px;min-width:14px;height:14px;font-size:9px;background:#fb6439!important;color:white!important}

.np-header-actions .puffin-native-cart .wc-block-mini-cart__quantity-badge{background:transparent;color:#164158;width:24px;height:24px;padding:0;position:relative;inset:auto;border-radius:0}.puffin-native-cart .wc-block-mini-cart__icon{color:#164158}.puffin-native-cart .wc-block-mini-cart__badge[hidden]{display:none!important}

.puffin-commerce h1{font-size:clamp(32px,4vw,52px);font-weight:950;letter-spacing:-.045em;text-transform:uppercase;line-height:1.1;margin:12px 0 30px}.puffin-commerce h2{font-size:26px;font-weight:850;margin:24px 0}.puffin-eyebrow{font-weight:850;color:#fb633b;text-transform:uppercase;letter-spacing:.13em;font-size:12px}.puffin-empty-bag{padding:44px 24px;text-align:center;background:white;border-radius:24px;margin-bottom:44px;border:1px solid #d7e6e9}.puffin-empty-bag p{margin:12px 0 24px}.puffin-cart-page table.shop_table{background:white;border-radius:20px;border:1px solid #d7e6e9;overflow:hidden}.puffin-cart-page table.shop_table th{padding:20px 12px}.puffin-cart-page table.shop_table td{padding:20px 12px}.puffin-cart-page .product-thumbnail img{width:100px!important;border-radius:12px}.puffin-cart-page .cart_totals{background:white;border:1px solid #d7e6e9;border-radius:20px;padding:24px}.puffin-cart-page .button,.puffin-cart-page .checkout-button,.woocommerce-account .woocommerce button.button{background:#fb633b!important;color:white!important;border-radius:12px!important;padding:14px 20px!important;font-weight:800}.woocommerce-account .woocommerce-MyAccount-navigation{background:white;border:1px solid #d7e6e9;border-radius:20px;padding:24px}.woocommerce-account .woocommerce-MyAccount-navigation li{padding:12px 0;list-style:none}.woocommerce-account .woocommerce-MyAccount-content{background:white;border-radius:20px;padding:24px}.puffin-commerce input.input-text{border:1px solid #bad5df;border-radius:8px;padding:12px}.puffin-commerce .woocommerce form{border-radius:20px}

/* Keep document scrolling available; overlay scripts may still lock it while open. */
body.puffin-wordpress{overflow:visible;}

/* WooCommerce forms retain native submissions while participating in the source card layout. */
.np-product-copy form{display:contents}@media(min-width:861px){.np-products .np-product-copy form>.np-add-to-bag,.np-shop-product-grid .np-product-copy form>.np-add-to-bag{display:flex}}
/* Native numeric inputs use the same visible value treatment as the source quantity span. */
.np-pdp-quantity input.qty{min-width:32px;opacity:1;color:var(--np-navy,#071f3b);font-size:14px;line-height:1.2}

.np-sale-grid form{display:contents}.np-sale-grid form>.np-add-to-bag{display:flex}.puffin-purchase .np-pdp-selector{align-items:normal}
/* The native dialog supplies focus trapping; the production overlay supplies its visual layout. */
dialog.puffin-overlay{max-width:none;max-height:none;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;overflow:auto}
dialog.puffin-overlay:not([open]){display:none}dialog.puffin-overlay::backdrop{background:transparent}.np-quick-copy form{display:contents}
.np-quick-copy form>strong{display:block;margin:18px 0 0;font-size:20px;font-weight:700;line-height:1.5}

.np-review-row>h3{margin-top:12px}

.puffin-wordpress .np-review-row>h3{margin:12px 0 0}.puffin-purchase .np-pdp-selector{justify-content:normal}
.woocommerce #reviews .np-review-row>h3{margin:12px 0 0}

dialog.puffin-overlay{height:100dvh}

/* Hide Ask Puffin until the live assistant integration is connected. */
body.ask-puffin-open{overflow:hidden}

/* Homepage latest-guide featured images */
.np-guide-grid > a {
  padding: 0;
  overflow: hidden;
}
.np-guide-card-media {
  aspect-ratio: 16 / 9;
  background: #eaf4f6;
  overflow: hidden;
}
img.np-guide-card-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .22s ease;
}
.np-guide-grid > a:hover .np-guide-card-image {
  transform: scale(1.025);
}
.np-guide-card-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 30px;
}
.np-guide-grid > a.np-guide-grid-start.np-guide-has-image {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(330px, .82fr);
  min-height: 320px;
}
.np-guide-grid > a.np-guide-grid-start .np-guide-card-media {
  aspect-ratio: auto;
  min-height: 320px;
}
.np-guide-grid > a.np-guide-grid-start .np-guide-card-copy {
  padding: 36px;
}
@media (max-width: 860px) {
  .np-guide-grid > a,
  .np-guide-grid > a:hover,
  .np-guide-grid > a.np-guide-grid-start.np-guide-has-image {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0;
    overflow: visible !important;
    transform: none !important;
    contain: none !important;
    isolation: auto !important;
  }
  .np-guide-card-media,
  .np-guide-grid > a.np-guide-grid-start .np-guide-card-media {
    aspect-ratio: 16 / 9;
    min-height: 0;
    width: 100%;
    flex: 0 0 auto;
    border-radius: 24px 24px 0 0;
  }
  .np-guide-card-image,
  .np-guide-grid > a:hover .np-guide-card-image {
    transform: none !important;
    transition: none !important;
  }
  .np-guide-card-copy,
  .np-guide-grid > a.np-guide-grid-start .np-guide-card-copy {
    display: block !important;
    flex: none !important;
    width: auto;
    min-height: 0;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative;
    z-index: 10;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    background: transparent;
  }
  .np-guide-card-copy > * {
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    mix-blend-mode: normal !important;
  }
  .np-guide-card-copy span {
    color: #174e70 !important;
    -webkit-text-fill-color: #174e70 !important;
  }
  .np-guide-card-copy h3 {
    color: #071f3b !important;
    -webkit-text-fill-color: #071f3b !important;
  }
  .np-guide-card-copy p {
    color: #637276 !important;
    -webkit-text-fill-color: #637276 !important;
  }
  .np-guide-card-copy b {
    color: #263236 !important;
    -webkit-text-fill-color: #263236 !important;
    display: flex !important;
  }
}
@media (max-width: 620px) {
  .np-guide-card-copy,
  .np-guide-grid > a.np-guide-grid-start .np-guide-card-copy {
    padding: 22px;
  }
}

.np-guide-card-image-product {
  object-fit: contain;
  box-sizing: border-box;
  padding: 12px;
  background: #f5fbfc;
}

/* PUFFIN GUIDE WRAPPER COMPATIBILITY */
.puffin-commerce:has(> .np-guide-site){width:100%;max-width:none;margin:0;padding:0;min-height:0}.puffin-commerce:has(> .np-guide-site)>h1:first-child{display:none}.puffin-commerce:has(> .np-guide-site) .np-guide-article-title h1{max-width:850px;color:var(--np-deep);letter-spacing:-.052em;margin:16px 0 0;font-size:clamp(43px,5.6vw,72px);font-weight:870;line-height:1;text-transform:none}.puffin-commerce:has(> .np-guide-site) .np-guide-at-a-glance h2{color:var(--np-deep);letter-spacing:-.03em;margin:7px 0 0;font-size:30px;font-weight:820;line-height:normal;text-transform:none}.puffin-commerce:has(> .np-guide-site) .np-guide-article-section h2,.puffin-commerce:has(> .np-guide-site) .np-guide-sources h2{max-width:700px;color:var(--np-deep);letter-spacing:-.04em;margin:0;font-size:clamp(31px,3.8vw,44px);font-weight:830;line-height:1.08;text-transform:none}.puffin-commerce:has(> .np-guide-site) .np-guide-study-section>.np-guide-section-label+h2,.puffin-commerce:has(> .np-guide-site) .np-guide-sources>.np-guide-section-label+h2{margin-top:8px}.puffin-commerce:has(> .np-guide-site) .np-guide-related h2{color:var(--np-deep);letter-spacing:-.04em;margin:9px 0 0;font-size:36px;font-weight:840;line-height:normal;text-transform:none}@media(max-width:620px){.puffin-commerce:has(> .np-guide-site) .np-guide-article-title h1{font-size:clamp(39px,11.3vw,54px)}.puffin-commerce:has(> .np-guide-site) .np-guide-article-section h2,.puffin-commerce:has(> .np-guide-site) .np-guide-sources h2{font-size:32px}}
