/*
Theme Name: North Biology Pro
Author: OpenAI
Version: 2.1.0
Description: Improved WooCommerce theme for North Biology.
*/
html,body{margin:0;padding:0}
body{background:#fff;color:#111}
main{display:block}
body.woocommerce .quantity{display:none}
body.woocommerce-cart .nbp-cart-qty .quantity{display:inline-flex!important}
body.woocommerce-cart .nbp-cart-qty .quantity input.qty{-moz-appearance:textfield}
body.woocommerce .woocommerce-breadcrumb{display:none}

/* ── WC Notices (global) ── */
.woocommerce-message,.woocommerce-info,.woocommerce-error{max-width:1100px;margin:16px auto!important;padding:14px 20px 14px 48px!important;border-radius:10px!important;font-size:14px;font-weight:500;display:flex!important;align-items:center;gap:10px;border:none!important;list-style:none;position:relative;outline:none!important;-webkit-user-select:none;user-select:none}
.woocommerce-message:focus,.woocommerce-info:focus,.woocommerce-error:focus{outline:none!important;box-shadow:none!important}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{position:absolute!important;left:16px!important;top:50%!important;transform:translateY(-50%)!important;font-size:18px!important;width:20px!important;text-align:center}
.woocommerce-message{background:#f0fdf4!important;color:#065f46!important;border-left:4px solid #059669!important}
.woocommerce-message::before{color:#059669!important}
.woocommerce-message .button{background:#059669!important;color:#fff!important;border:none!important;padding:8px 16px!important;border-radius:8px!important;font-size:13px!important;font-weight:600!important;text-decoration:none!important;margin-left:auto!important;white-space:nowrap;transition:.15s!important;flex-shrink:0}
.woocommerce-message .button:hover{background:#047857!important}
.woocommerce-info{background:#f5f0ff!important;color:#3730a3!important;border-left:4px solid #5411AB!important}
.woocommerce-info::before{color:#5411AB!important}
.woocommerce-info .button{background:#5411AB!important;color:#fff!important;border:none!important;padding:8px 16px!important;border-radius:8px!important;font-size:13px!important;font-weight:600!important;text-decoration:none!important;margin-left:auto!important;transition:.15s!important;flex-shrink:0}
.woocommerce-info .button:hover{background:#3d0c80!important}
.woocommerce-error{background:#fef2f2!important;color:#dc2626!important;border-left:4px solid #dc2626!important}
.woocommerce-error::before{color:#dc2626!important}
.woocommerce-error li{padding:14px 20px!important}

/* use WP custom logo */
.custom-logo-link img{max-height:42px;width:auto;display:block}

/* hero gradient bg for page-hero */
.hero-bg-gradient{position:absolute;inset:0;background:linear-gradient(135deg,#111 0%,#1a0a2e 40%,#2d1154 70%,#5411AB 100%);opacity:.45}
/* custom store page */
.nb-store-toolbar{background:#fff;border-bottom:1px solid #e8e8e8;padding:16px 24px}
.nb-store-toolbar .inner{display:flex;align-items:center;gap:16px}
.nb-store-controls{display:flex;gap:10px;align-items:center;margin-left:auto;flex-shrink:0}
.nb-search-wrap{position:relative;display:flex;align-items:center}
.nb-search-icon{position:absolute;left:12px;color:#999;pointer-events:auto;cursor:pointer;z-index:2}
.nb-search{background:#fff;border:1.5px solid #e0e0e0;border-radius:8px;padding:8px 12px 8px 32px;font-size:13px;color:#111;font-family:inherit;width:170px;transition:border-color .15s,box-shadow .15s;outline:none}
.nb-search:focus{border-color:#5411AB;box-shadow:0 0 0 3px rgba(84,17,171,.1)}
.nb-search::placeholder{color:#bbb}
.nb-sort-wrap{position:relative;display:flex;align-items:center}
.nb-sort-icon{position:absolute;left:12px;color:#999;pointer-events:none}
.nb-sort{background:#fff;border:1.5px solid #e0e0e0;border-radius:8px;padding:8px 12px 8px 30px;font-size:13px;color:#555;cursor:pointer;font-family:inherit;appearance:none;-webkit-appearance:none;outline:none;transition:border-color .15s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}
.nb-sort:focus{border-color:#5411AB;box-shadow:0 0 0 3px rgba(84,17,171,.1)}
.nb-cat-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;flex-shrink:1;min-width:0}
.nb-cat-tabs::-webkit-scrollbar{display:none}
.nb-cat-tab{background:#fff;border:1.5px solid #e0e0e0;color:#555;padding:7px 14px;border-radius:8px;font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:all .15s;flex-shrink:0;font-family:inherit}
.nb-cat-tab:hover{border-color:#5411AB;color:#5411AB;background:#f3eefa}
.nb-cat-tab.on{background:#5411AB;color:#fff;border-color:#5411AB;box-shadow:0 2px 8px rgba(84,17,171,.25)}
.nb-store-body{padding:28px 24px}
.nb-store-body .inner{max-width:1160px;margin:0 auto}
.nb-pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:1050px){.nb-pgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.nb-pgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.nb-pgrid{grid-template-columns:1fr}}
.nb-pcard{display:block;background:#fff;border:1px solid #e8e8e8;border-radius:14px;overflow:hidden;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}
.nb-pcard:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(84,17,171,.1);border-color:#d4b8f0}
.nb-pcard-img{aspect-ratio:1;background:#f7f7f7;display:flex;align-items:center;justify-content:center;overflow:hidden}
.nb-pcard-img img{width:100%;height:100%;object-fit:contain;padding:10%}
.nb-pcard-body{padding:10px 12px 12px}
.nb-pcard-cat{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.04em;padding:3px 8px;border-radius:4px;border:1px solid;margin-bottom:14px}
.nb-pcard-name{font-size:17px;font-weight:700;margin-bottom:3px}
.nb-pcard-sub{font-size:14px;color:#777;line-height:1.4;min-height:0}
.nb-pcard-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:14px}
.nb-pcard-price{font-size:18px;font-weight:800}
.nb-pcard-rating{font-size:12px;color:#888}
.nb-pcard-stars{color:#f59e0b}
.nb-pcard-actions{display:flex;gap:8px;margin-top:12px}
.nb-pcard-btn-sec{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:8px 14px;font-size:12px;font-weight:600;text-decoration:none;background:#fff;border:1px solid #ddd;color:#444;font-family:inherit;line-height:1.2;cursor:pointer;-webkit-appearance:none;appearance:none}
.nb-pcard-btn-sec:hover{border-color:#5411AB;color:#5411AB}
.nb-pcard-btn-pri{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:700;text-decoration:none;background:#5411AB;color:#fff;flex:1;justify-content:center}
.nb-pcard-btn-pri:hover{background:#3d0c80}
.nb-pcard-name:hover{color:#5411AB}

/* product behavior helpers */
.nb-edit-note{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;padding:10px 12px;border-radius:8px;font-size:12px;margin:16px auto;max-width:1160px}
.bcard.custom-qty .bcard-badge{display:none!important}
.bcard.custom-qty{opacity:.85}

/* ── My Account Dashboard ── */
body.woocommerce-account .woocommerce-breadcrumb{display:none}
body.woocommerce-account .entry-title,
body.woocommerce-account .page-title{display:none}
body.woocommerce-account.logged-in main{background:#f9f8fc}
/* Hide downloads nav */
.woocommerce-MyAccount-navigation-link--downloads{display:none!important}

/* Layout: sidebar + content */
body.woocommerce-account .woocommerce{max-width:1100px;margin:0 auto;padding:32px 24px 60px;display:flex;gap:28px;align-items:flex-start}
@media(max-width:768px){body.woocommerce-account .woocommerce{flex-direction:column;padding:16px 16px 48px;gap:16px}}

/* Sidebar navigation */
.woocommerce-MyAccount-navigation{width:230px;flex-shrink:0;position:sticky;top:90px}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;background:#fff;border:1px solid #e8e5f0;border-radius:14px;overflow:hidden;box-shadow:0 1px 3px rgba(84,17,171,.04)}
.woocommerce-MyAccount-navigation ul li{margin:0;padding:0}
.woocommerce-MyAccount-navigation ul li:not(:last-child){border-bottom:1px solid #f3f0fa}
.woocommerce-MyAccount-navigation ul li a{display:flex;align-items:center;gap:10px;padding:13px 20px;font-size:14px;font-weight:500;color:#555;text-decoration:none;transition:all .15s}
.woocommerce-MyAccount-navigation ul li a:hover{color:#5411AB;background:#f8f5ff}
.woocommerce-MyAccount-navigation ul li.is-active a{color:#5411AB;background:#f5f0ff;font-weight:700;border-right:3px solid #5411AB}
/* Add icons via ::before */
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a::before{content:"";width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3C/svg%3E") no-repeat center;flex-shrink:0}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a::before{content:"";width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 2L3 6v14a2 2 0 002 2h14a2 2 0 002-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 01-8 0'/%3E%3C/svg%3E") no-repeat center;flex-shrink:0}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a::before{content:"";width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") no-repeat center;flex-shrink:0}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a::before{content:"";width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") no-repeat center;flex-shrink:0}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--research-protocols a::before{content:"";width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 2v7.527a2 2 0 01-.211.896L4.72 20.55a1 1 0 00.9 1.45h12.76a1 1 0 00.9-1.45l-5.069-10.127A2 2 0 0114 9.527V2'/%3E%3Cpath d='M8.5 2h7'/%3E%3Cpath d='M7 16.5h10'/%3E%3C/svg%3E") no-repeat center;flex-shrink:0}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a::before{content:"";width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E") no-repeat center;flex-shrink:0}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads a::before{content:"";width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E") no-repeat center;flex-shrink:0}
.woocommerce-MyAccount-navigation ul li.is-active a::before{filter:brightness(0) saturate(100%) invert(15%) sepia(95%) saturate(5000%) hue-rotate(266deg) brightness(80%)}
@media(max-width:768px){
.woocommerce-MyAccount-navigation{width:100%;position:static}
.woocommerce-MyAccount-navigation ul{display:flex;overflow-x:auto;scrollbar-width:none;border-radius:10px}
.woocommerce-MyAccount-navigation ul::-webkit-scrollbar{display:none}
.woocommerce-MyAccount-navigation ul li{border-bottom:none!important}
.woocommerce-MyAccount-navigation ul li a{white-space:nowrap;padding:10px 14px;font-size:13px}
.woocommerce-MyAccount-navigation ul li a::before{display:none!important}
.woocommerce-MyAccount-navigation ul li.is-active a{border-right:none;border-bottom:3px solid #5411AB}
.woocommerce-MyAccount-navigation ul{-webkit-mask-image:linear-gradient(to right, black 85%, transparent 100%);mask-image:linear-gradient(to right, black 85%, transparent 100%)}
}

/* Main content area */
.woocommerce-MyAccount-content{flex:1;min-width:0}
.woocommerce-MyAccount-content>p:first-child{font-size:14px;color:#555;line-height:1.7;margin-bottom:20px;background:#fff;border:1px solid #e8e5f0;border-radius:12px;padding:20px 24px;box-shadow:0 1px 3px rgba(84,17,171,.04)}
.woocommerce-MyAccount-content>p:first-child a{color:#5411AB;font-weight:600;text-decoration:none}
.woocommerce-MyAccount-content>p:first-child a:hover{text-decoration:underline}

/* Orders table */
.woocommerce-orders-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e8e5f0;border-radius:12px;overflow:hidden;font-size:14px;box-shadow:0 1px 3px rgba(84,17,171,.04)}
.woocommerce-orders-table thead th{background:#f9f8fc;padding:12px 16px;font-size:11px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.05em;text-align:left;border-bottom:1px solid #e8e5f0}
.woocommerce-orders-table tbody td{padding:14px 16px;border-bottom:1px solid #f0f0f0;color:#333;vertical-align:middle}
.woocommerce-orders-table tbody tr:last-child td{border-bottom:none}
.woocommerce-orders-table tbody tr:hover td{background:#faf8ff}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a{color:#5411AB;font-weight:700;text-decoration:none}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a:hover{text-decoration:underline}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-status{font-weight:600;font-size:12px}

/* Order status badges */
mark.order-status,
.woocommerce-orders-table .woocommerce-orders-table__cell-order-status mark{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;background:#f5f0ff;color:#5411AB}
mark.order-status.status-processing,
.woocommerce-orders-table mark.order-status.status-processing{background:#f5f0ff;color:#5411AB}
mark.order-status.status-completed,
.woocommerce-orders-table mark.order-status.status-completed{background:#ecfdf5;color:#059669}
mark.order-status.status-on-hold,
.woocommerce-orders-table mark.order-status.status-on-hold{background:#fffbeb;color:#d97706}
mark.order-status.status-pending,
.woocommerce-orders-table mark.order-status.status-pending{background:#fffbeb;color:#d97706}
mark.order-status.status-cancelled,
mark.order-status.status-failed,
mark.order-status.status-refunded,
.woocommerce-orders-table mark.order-status.status-cancelled,
.woocommerce-orders-table mark.order-status.status-failed,
.woocommerce-orders-table mark.order-status.status-refunded{background:#fef2f2;color:#dc2626}

/* Order detail page styling */
.woocommerce-MyAccount-content .woocommerce-order-details{background:#fff;border:1px solid #e8e5f0;border-radius:14px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px rgba(84,17,171,.04)}
.woocommerce-MyAccount-content .woocommerce-order-details h2{font-size:18px;font-weight:800;color:#111;margin:0 0 16px;padding-bottom:12px;border-bottom:2px solid #f0e6ff}
.woocommerce-MyAccount-content .order_details{width:100%;border-collapse:collapse;font-size:14px}
.woocommerce-MyAccount-content .order_details thead th{background:#f9f8fc;padding:10px 16px;font-size:11px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.05em;text-align:left;border-bottom:1px solid #e8e5f0}
.woocommerce-MyAccount-content .order_details tbody td{padding:14px 16px;border-bottom:1px solid #f0f0f0;vertical-align:top}
.woocommerce-MyAccount-content .order_details tbody tr:last-child td{border-bottom:none}
.woocommerce-MyAccount-content .order_details .product-name .nbp-order-item-main{display:flex;align-items:center;gap:14px}
.woocommerce-MyAccount-content .order_details .product-name .nbp-order-item-media{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:10px;background:#f9f9f9;flex-shrink:0;overflow:hidden}
.woocommerce-MyAccount-content .order_details .product-name .nbp-order-item-media img{width:100%;height:100%;object-fit:contain;padding:6px;box-sizing:border-box}
.woocommerce-MyAccount-content .order_details .product-name .nbp-order-item-copy{min-width:0}
.woocommerce-MyAccount-content .order_details tfoot th{padding:10px 16px;font-size:13px;text-align:left;color:#555}
.woocommerce-MyAccount-content .order_details tfoot td{padding:10px 16px;font-weight:700;text-align:right}
.woocommerce-MyAccount-content .order_details tfoot tr:last-child th,
.woocommerce-MyAccount-content .order_details tfoot tr:last-child td{border-top:2px solid #5411AB;font-size:15px;color:#111}
.woocommerce-MyAccount-content .order_details .product-name .wc-item-meta{margin:6px 0 0;padding:0;list-style:none;display:flex;gap:6px;flex-wrap:wrap}
.woocommerce-MyAccount-content .order_details .product-name .wc-item-meta li{margin:0}
.woocommerce-MyAccount-content .order_details .product-name .wc-item-meta li strong{display:none}
.woocommerce-MyAccount-content .order_details .product-name .wc-item-meta li p{display:inline-block;margin:0;font-size:10px;font-weight:600;padding:3px 8px;border-radius:10px;background:#f3e8ff;color:#5411AB}
.woocommerce-MyAccount-content .order_details .product-name .wc-item-meta li:last-child p{background:#ecfdf5;color:#059669}
.woocommerce-MyAccount-content .order_details .product-name a{color:#222;font-weight:600;text-decoration:none}
.woocommerce-MyAccount-content .order_details .product-name a:hover{color:#5411AB}
@media(max-width:560px){
.woocommerce-MyAccount-content .order_details .product-name .nbp-order-item-main{gap:10px}
.woocommerce-MyAccount-content .order_details .product-name .nbp-order-item-media{width:64px;height:64px}
.woocommerce-MyAccount-content .order_details .product-name .nbp-order-item-media img{padding:4px}
}

/* Order addresses */
.woocommerce-MyAccount-content .woocommerce-columns--addresses{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.woocommerce-MyAccount-content .woocommerce-columns--addresses .woocommerce-column{background:#fff;border:1px solid #e8e5f0;border-radius:14px;padding:20px;box-shadow:0 1px 3px rgba(84,17,171,.04)}
.woocommerce-MyAccount-content .woocommerce-columns--addresses h2{font-size:15px;font-weight:700;color:#111;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid #f0e6ff}
.woocommerce-MyAccount-content .woocommerce-columns--addresses address{font-style:normal;font-size:13px;line-height:1.7;color:#555}

/* Order status line */
.woocommerce-MyAccount-content > p:first-child{background:#faf5ff;border:1px solid #e9d5ff;border-radius:12px;padding:16px 20px;font-size:14px;color:#333;margin-bottom:24px}
.woocommerce-MyAccount-content > p:first-child mark{background:none;font-weight:700}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a{display:inline-block;padding:8px 18px;background:#5411AB;color:#fff;border-radius:8px;font-size:12px;font-weight:600;text-decoration:none;transition:all .15s}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a:hover{background:#5411AB;opacity:.85;transform:translateY(-1px)}
@media(max-width:680px){
.woocommerce-orders-table,.woocommerce-orders-table thead,.woocommerce-orders-table tbody,.woocommerce-orders-table tr,.woocommerce-orders-table th,.woocommerce-orders-table td{display:block;width:100%}
.woocommerce-orders-table thead{display:none}
.woocommerce-orders-table tbody tr{border-bottom:1px solid #e5e5e5;padding:12px 16px;margin-bottom:8px}
.woocommerce-orders-table tbody td{padding:4px 16px;border-bottom:none;text-align:right}
.woocommerce-orders-table tbody td::before{content:attr(data-title);float:left;font-weight:700;font-size:12px;color:#555;text-transform:uppercase}
}

@media(max-width:600px){
.woocommerce-MyAccount-content .woocommerce-columns--addresses{grid-template-columns:1fr}
}

/* No orders message */
.woocommerce-MyAccount-content .woocommerce-info{max-width:100%;margin:0 0 16px!important}

/* Action buttons (general) */
.woocommerce-MyAccount-content .woocommerce-button,
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content button[type="submit"]{display:inline-flex;align-items:center;justify-content:center;padding:10px 22px;background:#5411AB;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;text-decoration:none;transition:background .15s,transform .1s}
.woocommerce-MyAccount-content .woocommerce-button:hover,
.woocommerce-MyAccount-content .button:hover,
.woocommerce-MyAccount-content button[type="submit"]:hover{background:#3d0c80;transform:translateY(-1px)}

/* Hide default WC address page h3 since we add our own */
.woocommerce-MyAccount-content > h3:first-of-type{display:none}

/* Edit account form */
.woocommerce-EditAccountForm{background:#fff;border:1px solid #e8e5f0;border-radius:14px;padding:28px;box-shadow:0 1px 3px rgba(84,17,171,.04)}
/* Password fieldset */
.woocommerce-EditAccountForm fieldset{
    border:1.5px solid #e8e5f0;border-radius:12px;padding:24px;margin:24px 0 0;
    background:#f9f8fc;position:relative
}
.woocommerce-EditAccountForm fieldset legend{
    font-size:15px;font-weight:800;color:#5411AB;padding:4px 14px;margin:0;
    background:#f5f0ff;border:1.5px solid #e8ddf7;border-radius:8px;
    display:inline-flex;align-items:center;gap:6px
}
.woocommerce-EditAccountForm .form-row{margin-bottom:16px}
.woocommerce-EditAccountForm label{display:block;font-size:13px;font-weight:600;color:#333;margin-bottom:6px}
.woocommerce-EditAccountForm label .required{color:#5411AB}
.woocommerce-EditAccountForm em{font-size:11px;color:#999;font-style:normal;display:block;margin-top:4px}
.woocommerce-EditAccountForm .input-text,
.woocommerce-EditAccountForm input[type="text"],
.woocommerce-EditAccountForm input[type="email"],
.woocommerce-EditAccountForm input[type="password"]{width:100%;padding:11px 14px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;color:#111;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}
.woocommerce-EditAccountForm .input-text:focus,
.woocommerce-EditAccountForm input[type="text"]:focus,
.woocommerce-EditAccountForm input[type="email"]:focus,
.woocommerce-EditAccountForm input[type="password"]:focus{border-color:#5411AB;box-shadow:0 0 0 3px rgba(84,17,171,.1)}
/* First/last name side by side */
.woocommerce-EditAccountForm .form-row-first,.woocommerce-EditAccountForm .form-row-last{width:48.5%!important;display:inline-block!important;vertical-align:top}
.woocommerce-EditAccountForm .form-row-first{float:left!important}
.woocommerce-EditAccountForm .form-row-last{float:right!important}
@media(max-width:500px){.woocommerce-EditAccountForm .form-row-first,.woocommerce-EditAccountForm .form-row-last{width:100%!important;float:none!important;display:block!important}}
.woocommerce-EditAccountForm .clear{clear:both}
/* Show/hide password toggle */
.woocommerce-EditAccountForm .show-password-input{position:absolute;right:12px;top:38px;cursor:pointer;color:#bbb;z-index:2}
.woocommerce-EditAccountForm .show-password-input:hover{color:#5411AB}
.woocommerce-EditAccountForm .woocommerce-input-wrapper{position:relative}
/* Save button - visually outside fieldset */
.woocommerce-EditAccountForm p:last-of-type{margin-top:20px}
.woocommerce-EditAccountForm button[type="submit"]{width:100%!important;padding:14px!important;font-size:15px!important;border-radius:10px!important;margin-top:4px}

/* ── Password Strength Meter ── */
.woocommerce-password-strength{
    font-size:12px!important;font-weight:600!important;padding:8px 14px!important;margin-top:8px!important;
    border-radius:8px!important;text-align:center!important;transition:all .2s
}
.woocommerce-password-strength.short{background:#fef2f2!important;color:#dc2626!important;border:1px solid #fecaca!important}
.woocommerce-password-strength.bad{background:#fff7ed!important;color:#d97706!important;border:1px solid #fed7aa!important}
.woocommerce-password-strength.good{background:#f0fdf4!important;color:#059669!important;border:1px solid #bbf7d0!important}
.woocommerce-password-strength.strong{background:#f0fdf4!important;color:#059669!important;border:1px solid #bbf7d0!important}
.woocommerce-password-hint{font-size:11px!important;color:#999!important;margin-top:6px!important;line-height:1.4}

/* ── Global Select2 dropdown (country/state pickers) ── */
.select2-dropdown{border:1.5px solid #e0e0e0!important;border-radius:8px!important;box-shadow:0 4px 16px rgba(0,0,0,.1)!important;overflow:hidden;margin-top:4px}
.select2-search--dropdown{padding:8px!important}
.select2-search--dropdown .select2-search__field{border:1.5px solid #e0e0e0!important;border-radius:6px!important;padding:8px 12px!important;font-size:13px!important;outline:none!important;transition:.15s}
.select2-search--dropdown .select2-search__field:focus{border-color:#5411AB!important;box-shadow:0 0 0 3px rgba(84,17,171,.08)!important}
.select2-results__option{padding:9px 12px!important;font-size:13px!important;color:#333!important;transition:.1s}
.select2-results__option--highlighted[aria-selected],.select2-results__option--highlighted{background:#f5f0ff!important;color:#5411AB!important}
.select2-results__option[aria-selected=true]{background:#5411AB!important;color:#fff!important}
.select2-results__option[aria-selected=true]:hover{background:#3d0c80!important}

/* Address section - override ALL WC defaults */
.woocommerce-MyAccount-content .col2-set.addresses,
.woocommerce-MyAccount-content .woocommerce-Addresses,
.woocommerce-MyAccount-content .u-columns{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:20px!important;width:100%!important;
    float:none!important;clear:both!important;overflow:visible!important
}
/* Kill WC clearfix pseudo-elements that break grid */
.woocommerce-MyAccount-content .col2-set::before,
.woocommerce-MyAccount-content .col2-set::after,
.woocommerce-MyAccount-content .u-columns::before,
.woocommerce-MyAccount-content .u-columns::after{display:none!important;content:none!important}
@media(max-width:600px){
.woocommerce-MyAccount-content .col2-set.addresses,
.woocommerce-MyAccount-content .woocommerce-Addresses,
.woocommerce-MyAccount-content .u-columns{grid-template-columns:1fr!important}
}
.woocommerce-MyAccount-content .col2-set.addresses .col-1,
.woocommerce-MyAccount-content .col2-set.addresses .col-2,
.woocommerce-MyAccount-content .u-column1,
.woocommerce-MyAccount-content .u-column2,
.woocommerce-MyAccount-content .woocommerce-Address{
    width:100%!important;float:none!important;padding:0!important;margin:0!important;
    background:#fff;border:1px solid #e8e5f0;border-radius:12px;padding:22px 24px!important;
    box-shadow:0 1px 3px rgba(84,17,171,.04);box-sizing:border-box
}
.woocommerce-Address-title,.woocommerce-Addresses header,.woocommerce-MyAccount-content .woocommerce-Address .title{
    display:flex!important;align-items:center;justify-content:space-between;margin-bottom:10px
}
.woocommerce-Address-title h3,.woocommerce-Addresses header h3{font-size:16px;font-weight:700;color:#111;margin:0}
.woocommerce-Address-title a,.woocommerce-Addresses header a{
    color:#5411AB;font-size:12px;font-weight:600;text-decoration:none;background:#f5f0ff;padding:5px 12px;border-radius:6px;white-space:nowrap
}
.woocommerce-Address-title a:hover,.woocommerce-Addresses header a:hover{background:#5411AB;color:#fff}
.woocommerce-MyAccount-content address{font-size:14px;color:#555;line-height:1.7;font-style:normal;margin-top:8px}
/* Intro text above addresses */
.woocommerce-MyAccount-content > p{font-size:14px;color:#555;margin-bottom:20px}

/* Address edit form fields */
.woocommerce-address-fields{background:#fff;border:1px solid #e8e5f0;border-radius:14px;padding:28px;box-shadow:0 1px 3px rgba(84,17,171,.04)}
.woocommerce-address-fields .form-row{margin-bottom:16px}
.woocommerce-address-fields label{display:block;font-size:13px;font-weight:600;color:#333;margin-bottom:6px}
.woocommerce-address-fields label .required{color:#5411AB}
.woocommerce-address-fields .form-row-first,.woocommerce-address-fields .form-row-last{width:48.5%!important;display:inline-block!important;vertical-align:top}
.woocommerce-address-fields .form-row-first{float:left!important}
.woocommerce-address-fields .form-row-last{float:right!important}
.woocommerce-address-fields .form-row-wide{clear:both}
@media(max-width:500px){.woocommerce-address-fields .form-row-first,.woocommerce-address-fields .form-row-last{width:100%!important;float:none!important;display:block!important}}
/* Address form save button */
.woocommerce-address-fields button[type="submit"]{margin-top:8px;width:100%;padding:14px!important;font-size:15px!important;border-radius:10px!important}
/* All account page inputs - purple focus */
body.woocommerce-account .woocommerce input.input-text:focus,
body.woocommerce-account .woocommerce input[type="text"]:focus,
body.woocommerce-account .woocommerce input[type="email"]:focus,
body.woocommerce-account .woocommerce input[type="tel"]:focus,
body.woocommerce-account .woocommerce input[type="password"]:focus,
body.woocommerce-account .woocommerce textarea:focus,
body.woocommerce-account .woocommerce select:focus{border-color:#5411AB!important;box-shadow:0 0 0 3px rgba(84,17,171,.1)!important;outline:none}

/* All account page Select2 - purple focus and dropdown */
body.woocommerce-account .select2-container .select2-selection--single{height:auto;min-height:42px;border:1.5px solid #e0e0e0;border-radius:8px;padding:6px 14px;display:flex;align-items:center;transition:.15s}
body.woocommerce-account .select2-container--focus .select2-selection--single,
body.woocommerce-account .select2-container--open .select2-selection--single{border-color:#5411AB!important;box-shadow:0 0 0 3px rgba(84,17,171,.1)!important}
body.woocommerce-account .select2-container .select2-selection--single .select2-selection__rendered{padding:0;line-height:1.4;color:#222}
body.woocommerce-account .select2-container .select2-selection--single .select2-selection__arrow{height:100%;right:10px}
body.woocommerce-account .select2-container .select2-selection--single .select2-selection__arrow b{border-color:#5411AB transparent transparent!important}
/* Kill WC clearfix on address form too */
.woocommerce-address-fields::before,.woocommerce-address-fields::after,
.woocommerce-address-fields .form-row::before,.woocommerce-address-fields .form-row::after{display:none!important;content:none!important}
.woocommerce-address-fields .input-text,
.woocommerce-address-fields select,
.woocommerce-address-fields input[type="text"],
.woocommerce-address-fields input[type="tel"],
.woocommerce-address-fields input[type="email"]{width:100%;padding:10px 14px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;color:#111;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}
.woocommerce-address-fields .input-text:focus,
.woocommerce-address-fields select:focus,
.woocommerce-address-fields input[type="text"]:focus,
.woocommerce-address-fields input[type="tel"]:focus,
.woocommerce-address-fields input[type="email"]:focus{border-color:#5411AB;box-shadow:0 0 0 3px rgba(84,17,171,.1)}
.woocommerce-address-fields select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}

/* Select2 overrides for WC country/state selects */
body.woocommerce-account .select2-container--default .select2-selection--single{height:42px;border:1.5px solid #e0e0e0;border-radius:8px;padding:6px 14px;font-size:14px}
body.woocommerce-account .select2-container--default .select2-selection--single:focus-within,
body.woocommerce-account .select2-container--default.select2-container--open .select2-selection--single{border-color:#5411AB;box-shadow:0 0 0 3px rgba(84,17,171,.1)}
body.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:28px;color:#111}
body.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__arrow{top:8px;right:8px}

/* Downloads table */
.woocommerce-MyAccount-content .shop_table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e5e5e5;border-radius:12px;overflow:hidden;font-size:14px}
.woocommerce-MyAccount-content .shop_table thead th{background:#fafafa;padding:12px 16px;font-size:12px;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:.03em;text-align:left;border-bottom:1px solid #e5e5e5}
.woocommerce-MyAccount-content .shop_table tbody td{padding:14px 16px;border-bottom:1px solid #f0f0f0;color:#333}
.woocommerce-MyAccount-content .shop_table tbody tr:last-child td{border-bottom:none}
.woocommerce-MyAccount-content .shop_table tbody tr:hover td{background:#faf8ff}

/* View order detail */
.woocommerce-MyAccount-content mark.order-status{background:#f5f0ff;color:#5411AB;padding:3px 10px;border-radius:4px;font-weight:600;font-size:13px}

@media(max-width:768px){
  .nb-store-toolbar .inner{flex-wrap:wrap}
  .nb-store-controls{width:100%;margin-left:0}
  .nb-search{width:100%;min-width:0}
  .nb-cat-tabs{-webkit-mask-image:linear-gradient(to right, black 85%, transparent 100%);mask-image:linear-gradient(to right, black 85%, transparent 100%)}
}
@media(max-width:500px){
  .nbp-dash-order{flex-wrap:wrap;gap:8px}
  .nbp-dash-order-date{width:100%;order:3}
  .nbp-dash-welcome{flex-wrap:wrap}
  .nb-pcard-btn-sec,.nb-pcard-btn-pri{padding:12px 14px;min-height:44px;font-size:13px}
  .nb-pcard-actions{flex-direction:column}
}
