/* Puffin presentation adapters; all amounts and cart mutations are supplied by WooCommerce. */
.np-header-actions>button[data-puffin-bag]{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer}
.np-header-actions>button[data-puffin-bag]>svg{flex:none;width:21px;height:21px}
.np-header-actions>button[data-puffin-bag]>span{position:absolute;display:flex;align-items:center;justify-content:center;height:18px;min-width:18px;width:auto;padding:0 5px;line-height:18px;font-size:8px;box-sizing:border-box}
.np-header-actions .np-search-trigger svg{flex:none;width:21px;height:21px}
.np-bag-panel .np-quantity,.puffin-cart-page .np-quantity{height:auto;min-height:34px;border:1px solid var(--np-line);border-radius:4px;overflow:visible;display:flex;align-items:center;flex-shrink:0}
.np-bag-panel .np-quantity button,.puffin-cart-page .np-quantity button{width:30px;height:32px;padding:0;border:0;background:transparent;color:#263236;font-size:16px;cursor:pointer;line-height:24px}
.np-bag-panel .np-quantity span,.puffin-cart-page .np-quantity span{min-width:18px;text-align:center;font-weight:800;font-size:9px!important;color:#263236!important}
.np-bag-panel .np-quantity input.screen-reader-text,.puffin-cart-page .np-quantity input.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;padding:0!important;border:0!important;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);overflow:hidden}
.np-bag-panel .np-quantity input.screen-reader-text:focus,.puffin-cart-page .np-quantity input.screen-reader-text:focus{position:static!important;width:40px!important;height:32px!important;clip:auto;clip-path:none;outline:2px solid var(--np-cyan)}
.np-quantity input:focus+span{display:none}
.np-quantity button:disabled{opacity:.4;cursor:not-allowed}
.np-bag-lines article{position:relative}
.puffin-remove-line{position:absolute;right:0;top:3px;padding:3px;border:0;background:transparent;color:#718892;cursor:pointer;width:20px;height:20px;display:grid;place-items:center}
.puffin-remove-line svg{width:14px;height:14px}
.np-bag-total strong small{font-size:inherit;font-weight:inherit}
.puffin-remove-coupon{margin-left:8px;background:transparent;border:0;color:inherit;cursor:pointer}
.puffin-cart-feedback{margin:16px 26px;padding:12px 14px;background:#e9f6f8;color:#123b50;border-radius:10px;font-size:14px;line-height:1.5}
.puffin-cart-feedback.is-error{background:#fff0ec;color:#a53624;border:1px solid #f5c3b7}
.puffin-cart-feedback[hidden]{display:none}
.np-add-to-bag.is-loading{opacity:.65;cursor:progress}.np-add-to-bag[disabled]{cursor:not-allowed}
.np-document-row:focus-visible,.np-header-actions button:focus-visible,.np-bag-panel button:focus-visible,.np-bag-panel a:focus-visible,.np-batch-panel button:focus-visible{outline:3px solid #1bb0ce;outline-offset:3px}
.np-bag-panel .pp-payment-methods{margin-inline:26px}
/* Classic WooCommerce checkout keeps gateway compatibility and native validation. */
.puffin-checkout{max-width:1180px;padding:44px 0 70px;margin:0 auto;color:var(--np-deep)}
.puffin-checkout>h1{font-size:clamp(32px,4vw,52px);font-weight:950;line-height:1.1;letter-spacing:-.045em;margin:10px 0 32px;text-transform:uppercase}
.puffin-checkout .woocommerce form.checkout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}
.puffin-checkout #customer_details{grid-column:1;grid-row:1 / span 4;display:block;width:auto}
.puffin-checkout #customer_details .col-1,.puffin-checkout #customer_details .col-2{float:none;width:auto}
.puffin-checkout .woocommerce-billing-fields,.puffin-checkout .woocommerce-shipping-fields,.puffin-checkout .woocommerce-additional-fields,.puffin-checkout #order_review,.puffin-checkout #puffin-checkout-supplies{background:#fff;border:1px solid #d4e5e9;border-radius:22px;padding:24px}
.puffin-checkout .woocommerce-shipping-fields,.puffin-checkout .woocommerce-additional-fields{margin-top:20px}
.puffin-checkout h3{font-size:20px;font-weight:850;line-height:1.3;margin:0 0 20px}
.puffin-checkout #order_review_heading{grid-column:2;margin:0;font-size:24px}
.puffin-checkout #puffin-checkout-supplies,.puffin-checkout #order_review{grid-column:2}
.puffin-checkout #puffin-checkout-supplies:empty{display:none}
.puffin-checkout .np-bag-suggestions{margin:0;border:0;padding:0}
.puffin-checkout .np-bag-suggestions h3{font-size:14px;margin:0 0 10px}
.puffin-checkout .woocommerce form .form-row{padding:0;margin:0 0 17px;float:none;width:100%}
.puffin-checkout .woocommerce form .form-row label{font-size:13px;line-height:1.5;font-weight:750;margin-bottom:6px;color:#355568}
.puffin-checkout .woocommerce-input-wrapper{display:block}
.puffin-checkout .woocommerce input.input-text,.puffin-checkout .woocommerce select,.puffin-checkout .woocommerce textarea{width:100%;min-height:48px;border:1px solid #bcd6de;border-radius:10px;background:#fff;padding:11px 13px;color:#10344b;font:inherit;font-size:15px;box-shadow:none}
.puffin-checkout .woocommerce input:focus,.puffin-checkout .woocommerce select:focus,.puffin-checkout .woocommerce textarea:focus{outline:2px solid #19afd0;outline-offset:2px}
.puffin-checkout .select2-container .select2-selection--single{height:48px;border:1px solid #bcd6de;border-radius:10px}
.puffin-checkout .select2-container .select2-selection__rendered{line-height:46px;padding-left:13px;color:#10344b}
.puffin-checkout .select2-container .select2-selection__arrow{height:46px}
.puffin-checkout .woocommerce table.shop_table{border:0;border-collapse:collapse;margin:0 0 20px;font-size:14px}
.puffin-checkout .woocommerce table.shop_table td,.puffin-checkout .woocommerce table.shop_table th{padding:15px 0;border-top:1px solid #dfebee;text-align:left}
.puffin-checkout .woocommerce table.shop_table td:last-child,.puffin-checkout .woocommerce table.shop_table th:last-child{text-align:right}
.puffin-checkout .woocommerce table.shop_table thead th{border-top:0}
.puffin-checkout #payment{background:transparent;border-radius:0}
.puffin-checkout #payment ul.payment_methods{padding:0 0 20px;border-bottom:1px solid #dfebee;font-size:14px}
.puffin-checkout #payment .place-order{padding:20px 0 0;margin:0}
.puffin-checkout #payment .payment_box{background:#eaf5f7;color:#36596b;border-radius:10px}
.puffin-checkout #payment .payment_box:before{border-bottom-color:#eaf5f7}
.puffin-checkout .woocommerce-privacy-policy-text{font-size:12px;line-height:1.6;color:#647c87}
.puffin-checkout #place_order,.puffin-checkout .button{float:none;width:100%;min-height:54px;border:0;border-radius:14px;background:linear-gradient(145deg,#ff794a,#ff5332);color:#fff;font:inherit;font-size:14px;font-weight:900;cursor:pointer;padding:15px 20px;box-shadow:0 9px 20px #ff6a3826}
.puffin-checkout .pp-payment-methods{margin:18px 0;padding:16px 0}
.puffin-checkout .woocommerce-info,.puffin-checkout .woocommerce-error{border-radius:14px;font-size:14px;line-height:1.5;background:#eaf5f7;color:#24465b;border-top-color:#1aacca}
.puffin-checkout .woocommerce-error{background:#fff0ec;color:#a53624;border-top-color:#d9583d}
.puffin-checkout .woocommerce-error::before,.puffin-checkout .woocommerce-info::before{color:inherit}
.puffin-checkout .woocommerce form.checkout_coupon{border:1px solid #c9dfe5;border-radius:16px;background:white;padding:22px}
.puffin-checkout #ship-to-different-address{font-size:16px}
.puffin-checkout input[type=checkbox]{width:17px;height:17px;vertical-align:middle;margin-right:7px;accent-color:#fb6439}
@media(max-width:620px){.np-bag-panel .np-quantity span,.puffin-cart-page .np-quantity span{font-size:13px!important}}
@media(max-width:900px){.puffin-checkout{width:calc(100% - 34px);padding-top:28px}.puffin-checkout .woocommerce form.checkout{grid-template-columns:1fr}.puffin-checkout #customer_details{grid-row:auto}.puffin-checkout #order_review_heading,.puffin-checkout #order_review,.puffin-checkout #puffin-checkout-supplies{grid-column:1}.puffin-checkout .woocommerce-billing-fields,.puffin-checkout .woocommerce-shipping-fields,.puffin-checkout .woocommerce-additional-fields,.puffin-checkout #order_review,.puffin-checkout #puffin-checkout-supplies{padding:20px;border-radius:18px}}
@media(prefers-reduced-motion:reduce){.np-bag-panel,.np-batch-panel{animation:none!important}}

.puffin-checkout .woocommerce-info::before,.puffin-checkout .woocommerce-error::before{display:none}.puffin-checkout .woocommerce-info,.puffin-checkout .woocommerce-error{padding:16px 20px}

@media(max-width:400px){.np-bag-panel .pp-payment-methods{margin-inline:18px}}

/* Puffin blue savings accent, matching product documentation links. */
.np-bag-panel .np-bag-discount,.np-bag-panel .np-bag-discount span,.np-bag-panel .np-bag-discount strong,.puffin-checkout .cart-discount,.puffin-checkout .cart-discount .amount{color:#27a9d3!important}

@media(max-width:860px){.np-header-actions>button[data-puffin-bag]>svg,.np-header-actions .np-search-trigger svg{width:24px;height:24px}}

/* Keep Puffin Picks purchase controls inside the card at every breakpoint. */
.np-sale-grid .np-sale-actions{padding:13px 16px;gap:12px;grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
.np-sale-grid .np-sale-actions button{width:100%;min-width:0;box-sizing:border-box;margin:0}


/* Native WooCommerce reviews and private opt-in forms retain Puffin styling. */
.puffin-native-reviews{padding-top:36px;padding-bottom:48px}.puffin-native-reviews #reviews{background:white;border:1px solid #d7e6e9;border-radius:22px;padding:24px}.puffin-native-reviews #comments>h2{display:none}.puffin-native-reviews textarea,.puffin-native-reviews input[type=text],.puffin-native-reviews input[type=email]{box-sizing:border-box;width:100%;border:1px solid #bad5df;border-radius:10px;padding:12px;font:inherit}.puffin-native-reviews input[type=submit]{background:#fb633b;color:white;border:0;border-radius:12px;padding:14px 24px;font:inherit;font-weight:800;cursor:pointer}.puffin-native-reviews .comment-form label{display:block;margin:12px 0 8px}.puffin-native-reviews .comment-form-cookies-consent label{display:inline}.puffin-review-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.puffin-review-links a{padding:12px;border:1px solid #bad5df;border-radius:10px;font-size:14px}.puffin-newsletter-consent{display:flex!important;align-items:flex-start!important;gap:8px;flex-basis:100%;grid-column:1/-1;font-size:12px!important;line-height:1.5!important;margin-top:10px!important}.puffin-newsletter-consent input[type=checkbox]{appearance:auto!important;flex:0 0 16px!important;width:16px!important;height:16px!important;margin:2px 0!important;padding:0!important;accent-color:#27a9d3}.np-footer form,.np-newsletter form{flex-wrap:wrap}.puffin-newsletter-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}.np-footer form .puffin-stage-feedback,.np-newsletter form .puffin-stage-feedback{grid-column:1/-1;flex-basis:100%;color:#10344b}.puffin-native-reviews #reviews #comments ol.commentlist{padding-left:0}@media(max-width:600px){.puffin-review-links{grid-template-columns:1fr}.puffin-native-reviews #reviews{padding:18px}}
.puffin-native-reviews h2{font-size:24px;font-weight:850;color:#10344b;margin-bottom:18px}.woocommerce .puffin-native-reviews #respond input#submit{background:#fb633b!important;color:#fff!important;border-radius:12px!important;padding:14px 24px!important;font-weight:800!important}.puffin-newsletter-consent{color:inherit}
