/* ============================================================
   Trade Only Print — theme.css
   Global styles extracted from Trade_Only_Print.html
   ============================================================ */

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;color:#333;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}

/* ── HEADER ── */
.site-header{background:#fff;border-bottom:1px solid #ddd;padding:20px 60px;position:sticky;top:0;z-index:1000;overflow:hidden;}
.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:24px;transform-origin:top center;}
.site-logo{flex-shrink:0;}
.site-logo img{height:91px;width:auto;}
.main-nav{display:flex;align-items:center;flex-wrap:nowrap;justify-content:center;}
.nav-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 20px;cursor:pointer;text-decoration:none;transition:transform .5s cubic-bezier(.34,1.56,.64,1);will-change:transform;flex-shrink:0;}
.nav-item:hover{transform:scale(1.12);}
.nav-item i{font-size:44px;color:#000;}
.nav-item span{font-family:'Special Elite',cursive;font-size:17px;font-weight:900;text-transform:uppercase;letter-spacing:1.5px;color:#000;white-space:nowrap;}

/* ── PAGE WRAP ── */
.page-wrap{max-width:900px;margin:0 auto;padding:40px 24px 80px;}
.page-wrap--wide{max-width:1200px;}
.page-wrap--centered{max-width:600px;text-align:center;}
.page-wrap--narrow{max-width:720px;}
.page-title{font-family:'Special Elite',cursive;font-size:28px;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:#000;margin-bottom:20px;}
.page-title--center{text-align:center;}

/* ── CATEGORY GRID ── */
.page-desc{font-size:13px;color:#444;line-height:1.7;margin-bottom:28px;}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start;}
.product-card{display:block;text-decoration:none;width:100%;cursor:pointer;transition:transform .5s cubic-bezier(.34,1.4,.64,1),box-shadow .5s ease;will-change:transform;}
.product-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.1);}
.product-card-image{width:100%;aspect-ratio:1/1;background:#ddd;overflow:hidden;}
.product-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.46,.45,.94);}
.product-card:hover .product-card-image img{transform:scale(1.06);}
.product-card-label{width:100%;height:50px;background:#000;display:flex;align-items:center;padding:0 16px;overflow:hidden;}
.product-card-label span{font-family:'Special Elite',cursive;font-size:18px;font-weight:900;letter-spacing:1.5px;color:#fff;white-space:nowrap;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision;text-shadow:0 0 1px rgba(255,255,255,.25);}

/* ── SINGLE PRODUCT ── */
.product-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:40px;align-items:start;}
.product-image{width:100%;background:#ddd;border-radius:2px;overflow:hidden;aspect-ratio:1;}
.login-box{border:1px solid #ddd;border-radius:4px;padding:40px 24px;text-align:center;background:#fafafa;display:flex;flex-direction:column;align-items:center;gap:14px;}
.login-box-title{font-family:'Special Elite',cursive;font-size:18px;font-weight:900;text-transform:uppercase;letter-spacing:2px;color:#000;}
.login-box-note{font-size:12px;color:#888;line-height:1.5;}
.login-box-btn{display:inline-block;padding:12px 28px;background:#000;color:#fff;font-family:'Special Elite',cursive;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:1.5px;border-radius:3px;}

/* ── TABS ── */
.tabs{display:flex;border-bottom:1px solid #ddd;margin-bottom:28px;}
.tab-btn{padding:12px 24px;font-size:13px;font-weight:600;color:#888;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:all .4s ease;}
.tab-btn.active,.tab-btn:hover{color:#000;border-bottom-color:#000;}
.tab-content{display:none;}
.tab-content.active{display:block;animation:fadeIn .5s cubic-bezier(.25,.46,.45,.94) forwards;}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.tab-content p,.tab-content li{font-size:13px;color:#444;line-height:1.7;margin-bottom:8px;}
.tab-content ul{padding-left:20px;}
.tab-content ul li{list-style:disc;}
.info-table{width:100%;border-collapse:collapse;font-size:13px;}
.info-table th,.info-table td{text-align:left;padding:10px 14px;border-bottom:1px solid #eee;}
.info-table th{font-weight:700;color:#000;width:140px;background:#f7f7f7;}
.info-table td{color:#555;}

/* ── CUSTOM ORDERS ── */
.page-subtitle{font-family:'Special Elite',cursive;font-size:16px;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:#000;margin-bottom:16px;}
.co-form{display:flex;flex-direction:column;gap:8px;text-align:left;}
.form-label{font-size:12px;color:#555;margin-bottom:2px;}
.form-input,.form-textarea{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:2px;font-size:13px;font-family:'Inter',sans-serif;color:#333;background:#fff;}
.form-input:focus,.form-textarea:focus{outline:none;border-color:#000;}
.form-textarea{min-height:120px;resize:vertical;}

/* ── FAQ ── */
.accordion-item{border-bottom:1px solid #ddd;}
.accordion-item:first-of-type{border-top:1px solid #ddd;}
.accordion-trigger{width:100%;display:flex;align-items:center;padding:18px 12px;background:none;border:none;cursor:pointer;font-family:'Special Elite',cursive;font-size:17.5px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;color:#000;text-align:left;gap:0;transition:color .3s ease;line-height:1.3;}
.accordion-trigger:hover{opacity:.7;}
.acc-prefix{display:inline-block;width:28px;flex-shrink:0;font-size:18px;font-family:'Inter',sans-serif;font-weight:400;line-height:1;color:#000;transition:color .3s ease;}
.accordion-item.open .accordion-trigger{color:#00a8e8;}
.accordion-item.open .acc-prefix{color:#00a8e8;}
.accordion-body{overflow:hidden;max-height:0;opacity:0;transition:max-height .45s cubic-bezier(.25,.46,.45,.94),opacity .4s ease,padding .45s ease;padding:0 12px 0 40px;}
.accordion-item.open .accordion-body{max-height:220px;opacity:1;padding:0 12px 20px 40px;}
.accordion-body p{font-size:13px;color:#555;line-height:1.75;}

/* ── BLOG ── */
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;}
.blog-card{border:1px solid #e0e0e0;border-radius:4px;overflow:hidden;text-decoration:none;color:inherit;display:block;transition:transform .5s cubic-bezier(.34,1.4,.64,1),box-shadow .5s ease,border-color .4s ease;will-change:transform;}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.1);border-color:#000;}
.blog-card-image{width:100%;aspect-ratio:16/9;background:#ddd;overflow:hidden;}
.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.46,.45,.94);}
.blog-card:hover .blog-card-image img{transform:scale(1.06);}
.blog-card-body{padding:20px;}
.blog-card-date{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#aaa;margin-bottom:10px;}
.blog-card-title{font-family:'Special Elite',cursive;font-size:16px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;color:#000;margin-bottom:10px;line-height:1.3;}
.blog-card-excerpt{font-size:13px;color:#666;line-height:1.7;margin-bottom:16px;}
.blog-card-more{font-family:'Special Elite',cursive;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:#000;display:inline-flex;align-items:center;gap:6px;transition:gap .4s ease;}
.blog-card:hover .blog-card-more{gap:10px;}

/* ── ACCOUNT ── */
.account-wrap{max-width:440px;margin:60px auto;padding:0 24px 100px;}
.account-box{border:1px solid #e0e0e0;border-radius:4px;padding:40px;}
.account-title{font-family:'Special Elite',cursive;font-size:22px;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:#000;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid #eee;}
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#000;margin-bottom:7px;}
.form-group input{width:100%;padding:11px 14px;border:1px solid #ccc;border-radius:3px;font-size:14px;font-family:'Inter',sans-serif;color:#333;background:#fff;transition:border-color .4s ease;}
.form-group input:focus{outline:none;border-color:#000;}

/* ── FOOTER ── */
.site-footer{margin-top:80px;padding:0 60px;background:#fff;}
.footer-inner{display:grid;grid-template-columns:1.2fr 1.4fr 1fr 1fr;gap:40px;padding:48px 0 40px;border-top:1px solid #ddd;border-bottom:1px solid #e0e0e0;max-width:1200px;margin:0 auto;}
.footer-heading{font-family:'Special Elite',cursive;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:#000;margin-bottom:14px;-webkit-text-stroke:.4px currentColor;white-space:nowrap;}
.footer-contact{display:flex;flex-direction:column;gap:2px;}
.footer-contact span{font-size:13px;color:#333;line-height:1.9;white-space:nowrap;display:block;}
.footer-socials{display:flex;gap:14px;margin-top:14px;}
.footer-socials i{font-size:20px;color:#000;}
.footer-newsletter input[type=email]{width:100%;padding:12px 16px;border:1px solid #aaa;border-radius:3px;font-size:14px;color:#333;margin-bottom:10px;font-family:'Inter',sans-serif;background:#fff;}
.footer-newsletter input[type=email]::placeholder{color:#aaa;}
.footer-newsletter button{display:block;width:100%;padding:13px;background:#000;color:#fff;border:none;border-radius:3px;font-family:'Special Elite',cursive;font-size:16px;cursor:pointer;}
.footer-links{display:flex;flex-direction:column;gap:10px;}
.footer-links a{font-family:'Inter',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#333;white-space:nowrap;}
.footer-whatsapp-col{display:flex;align-items:flex-start;justify-content:center;}
.footer-whatsapp{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;text-decoration:none;color:#000;}
.footer-whatsapp-label{font-family:'Special Elite',cursive;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:1px;line-height:1.3;-webkit-text-stroke:.4px currentColor;}
.footer-whatsapp i{font-size:40px;}
.footer-bottom{text-align:center;padding:20px 0;font-size:13px;color:#777;max-width:1200px;margin:0 auto;}

/* ── WOOCOMMERCE CART — disable quantity editing (block cart) ── */
.wc-block-components-quantity-selector__button--minus,
.wc-block-components-quantity-selector__button--plus{display:none !important;}
.wc-block-components-quantity-selector__input{pointer-events:none;text-align:center;}

/* ── PRODUCT PAGE LAYOUT — shared by all calculator product pages ── */
.coro-product-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:40px;align-items:start;}
.coro-product-image{width:100%;aspect-ratio:1/1;background:#e2e8f0;border-radius:8px;overflow:hidden;}
.coro-product-image img{width:100%;height:100%;object-fit:cover;}
.coro-image-placeholder{width:100%;height:100%;background:#e2e8f0;border-radius:8px;}
.coro-calculator-wrap{width:100%;}

/* ── CALCULATOR COMPONENT STYLES — verbatim from business partner HTML ── */
/* Source of truth: her delivered HTML file. Never replace from calculator.css. */
.calc{max-width:520px;width:100%;padding:1.5rem;border:1px solid #dde3ea;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.07);position:relative;}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:.85rem 1.1rem;}
.field{display:flex;flex-direction:column;gap:.3rem;}
.field.full{grid-column:1/-1;}
.field.hidden{display:none;}
.radio-pill.hidden{display:none;}
label{font-size:12px;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.05em;}
input[type=number]{width:100%;padding:.5rem .65rem;border:1px solid #cbd5e0;border-radius:6px;font-size:15px;color:#2d3748;background:#f9fafb;}
input[type=number]:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px rgba(66,153,225,.2);}
input[type=number].err-input{border-color:#fc8181;}
.hint{font-size:11px;color:#a0aec0;}
.err-text{font-size:11px;color:#e53e3e;margin-top:2px;}
.snap-note{display:none;font-size:11px;color:#185FA5;margin-top:2px;}
.radio-group{display:flex;gap:.5rem;flex-wrap:wrap;}
.radio-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border:1px solid #cbd5e0;border-radius:999px;cursor:pointer;font-size:14px;font-weight:500;color:#718096;background:#f9fafb;transition:all .12s;}
.radio-pill:hover{border-color:#90cdf4;color:#2b6cb0;}
.radio-pill.selected{border:2px solid #185FA5;color:#185FA5;background:#E6F1FB;}
.dot{width:10px;height:10px;border-radius:50%;border:2px solid currentColor;position:relative;flex-shrink:0;}
.radio-pill.selected .dot::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:5px;height:5px;border-radius:50%;background:#185FA5;}
.radio-stack{display:flex;flex-direction:column;gap:.4rem;}
.radio-row{display:flex;align-items:center;padding:.5rem .75rem;border:1px solid #cbd5e0;border-radius:6px;cursor:pointer;background:#f9fafb;transition:border-color .12s,background .12s;gap:.6rem;}
.radio-row:hover{border-color:#90cdf4;background:#fff;}
.radio-row.selected{border:2px solid #185FA5;background:#E6F1FB;}
.radio-row.radio-row-locked{cursor:default;pointer-events:none;}
.radio-row .dot{color:#718096;}
.radio-row.selected .dot{color:#185FA5;}
.radio-row.selected .dot::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:5px;height:5px;border-radius:50%;background:#185FA5;}
.radio-row-label{font-size:14px;font-weight:500;color:#2d3748;}
.radio-row.selected .radio-row-label{color:#185FA5;}
.upload-zone{border:2px dashed #cbd5e0;border-radius:6px;padding:1.25rem 1rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:#f9fafb;position:relative;}
.upload-zone:hover,.upload-zone.drag-over{border-color:#185FA5;background:#E6F1FB;}
.upload-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.upload-main{font-size:14px;font-weight:500;color:#2d3748;margin-bottom:.2rem;}
.upload-sub{font-size:12px;color:#a0aec0;}
.file-confirmed{display:none;align-items:center;gap:.65rem;padding:.65rem .85rem;background:#f9fafb;border:1px solid #e2e8f0;border-radius:6px;}
.file-icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0;}
.file-icon.jpg{background:#FAEEDA;color:#633806;}
.file-icon.pdf{background:#FCEBEB;color:#A32D2D;}
.file-details{flex:1;min-width:0;}
.file-name{font-size:13px;font-weight:500;color:#2d3748;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.file-size{font-size:11px;color:#a0aec0;}
.file-remove{background:none;border:none;cursor:pointer;font-size:16px;color:#a0aec0;padding:0 2px;line-height:1;flex-shrink:0;}
.file-remove:hover{color:#e53e3e;}
.upload-progress{display:none;margin-top:.75rem;}
.upload-progress-bar-wrap{height:6px;background:#D6E8F7;border-radius:999px;overflow:hidden;}
.upload-progress-bar-fill{height:100%;width:0%;background:#185FA5;border-radius:999px;transition:width .15s ease;}
.upload-progress-label{font-size:11px;color:#185FA5;font-weight:600;margin-top:.3rem;text-align:center;}
.preview{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem .75rem;margin:1.1rem 0 .75rem;padding:.85rem 1rem;background:#f9fafb;border:1px solid #e2e8f0;border-radius:6px;}
.preview-label{font-size:11px;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.05em;}
.preview-price{font-size:26px;font-weight:600;color:#1a202c;line-height:1;}
.badge{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;font-size:11px;font-weight:500;}
.badge-min{background:#FAEEDA;color:#633806;border:1px solid #FAC775;}
.badge-bulk{background:#EAF3DE;color:#27500A;border:1px solid #C0DD97;}
.nudge{width:100%;font-size:12px;color:#854F0B;font-weight:600;margin-top:.1rem;}
.msg-box{font-size:13px;margin-bottom:.5rem;padding:.5rem .75rem;border-radius:6px;display:none;}
.msg-ok{display:block;background:#EAF3DE;color:#27500A;border:1px solid #C0DD97;}
.msg-err{display:block;background:#FFF5F5;color:#C53030;border:1px solid #FEB2B2;}
.add-btn{width:100%;padding:.75rem;font-size:15px;font-weight:600;border-radius:6px;cursor:pointer;border:1px solid #cbd5e0;background:#fff;color:#2d3748;transition:background .12s;}
.add-btn:hover{background:#f9fafb;}
.add-btn:active{transform:scale(.99);}
.add-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;}
.success-overlay{display:none;position:absolute;inset:0;border-radius:12px;background:#fff;z-index:10;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 2rem;text-align:center;gap:1.25rem;}
.success-overlay.visible{display:flex;}
.success-check-wrap{width:90px;height:90px;border-radius:50%;background:#EAF3DE;border:3px solid #4CAF50;display:flex;align-items:center;justify-content:center;animation:pop .35s cubic-bezier(.175,.885,.32,1.275) both;}
@keyframes pop{0%{transform:scale(0);opacity:0;}100%{transform:scale(1);opacity:1;}}
.success-check-wrap svg{width:48px;height:48px;}
.success-title{font-size:22px;font-weight:700;color:#1a202c;line-height:1.2;}
.success-sub{font-size:14px;color:#718096;line-height:1.5;}
.success-ok-btn{margin-top:.5rem;padding:.75rem 2.5rem;font-size:15px;font-weight:600;border-radius:6px;cursor:pointer;border:none;background:#185FA5;color:#fff;transition:background .12s;}
.success-ok-btn:hover{background:#134d8a;}

/* ============================================================
   TRADE ACCESS STYLES — Register page
   Added after the calculator section. The Register form reuses the calculator
   classes above (.calc .fields .field .full .hint .err-text .err-input .msg-box
   .add-btn), so it matches the pricing calculators.
   Only what the calculators never needed is added here.
   ============================================================ */

/* Spam trap: invisible to people */
.top-apply-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* "Other" text box, shown only while the Other checkbox is ticked */
.top-apply .top-apply-hidden{display:none !important;}

/* Page column: centred, wider than the calculators so the form fills the page properly */
.top-apply{max-width:780px;}
.top-apply .calc{max-width:none;padding:2rem;}

/* Text, email, phone, website, dropdown and message box: same look as the calculator's number inputs */
.top-apply .field input[type=text],
.top-apply .field input[type=email],
.top-apply .field input[type=tel],
.top-apply .field input[type=url],
.top-apply .field select,
.top-apply .field textarea{width:100%;padding:.5rem .65rem;border:1px solid #cbd5e0;border-radius:6px;font-family:inherit;font-size:15px;color:#2d3748;background:#f9fafb;}
.top-apply .field input[type=text]:focus,
.top-apply .field input[type=email]:focus,
.top-apply .field input[type=tel]:focus,
.top-apply .field input[type=url]:focus,
.top-apply .field select:focus,
.top-apply .field textarea:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px rgba(66,153,225,.2);}
.top-apply .field .err-input{border-color:#fc8181;}
.top-apply .field textarea{min-height:140px;resize:vertical;line-height:1.5;}

/* Country is fixed to Canada */
.top-apply .field input.top-apply-locked{background:#edf2f7;color:#718096;cursor:not-allowed;}

/* "How did you hear about us?" plain checkboxes (tick as many as apply) */
.top-apply .top-apply-checks{display:flex;flex-wrap:wrap;gap:.6rem 1.75rem;}
.top-apply label.top-apply-checkrow{display:inline-flex;align-items:center;gap:.55rem;font-size:15px;font-weight:500;color:#2d3748;text-transform:none;letter-spacing:normal;cursor:pointer;}
.top-apply .top-apply-check{width:18px;height:18px;margin:0;accent-color:#185FA5;cursor:pointer;flex-shrink:0;}

/* Submit: blue when ready, grey until every field is filled. It is not the "disabled"
   attribute, so a click on the grey button can still show the "fill everything in" message. */
.top-apply .add-btn{background:#185FA5;border-color:#185FA5;color:#fff;}
.top-apply .add-btn:hover{background:#134d8a;border-color:#134d8a;}
.top-apply .add-btn.is-disabled,
.top-apply .add-btn.is-disabled:hover{background:#e2e8f0;border-color:#e2e8f0;color:#a0aec0;cursor:not-allowed;}

/* "Register" link under the WooCommerce login form */
.top-apply-link{margin-top:1rem;font-size:13px;}
