/* ==========================================================================
   PrintingView - modern theme v2
   New logo, full-background hero slider, table styles, product detail page.
   Loaded after modern.css.
   ========================================================================== */

/* ---------- logo ---------- */
.pv-logo img{display:block; height:68px; width:auto;}
.pv-main-in{padding-top:10px; padding-bottom:10px;}
.pv-logo-light img{height:84px;}
.pv-footer-brand p{margin-top:12px;}

/* ---------- hero: full-background slider ---------- */
.pv-hero{display:grid; position:relative; background:#14164f; border:0; overflow:hidden; min-height:540px; color:#fff;}
.pv-slide{grid-area:1 / 1; position:relative; display:flex; align-items:center; min-height:540px; background-size:cover; background-position:right center; background-repeat:no-repeat; opacity:0; visibility:hidden; transition:opacity .8s ease, visibility .8s;}
.pv-slide.is-active{opacity:1; visibility:visible; z-index:2;}
.pv-slide:before{content:""; position:absolute; top:0; right:0; bottom:0; left:0; background:linear-gradient(90deg, rgba(16,18,71,.92) 0%, rgba(16,18,71,.72) 34%, rgba(16,18,71,.18) 62%, rgba(16,18,71,0) 100%);}
.pv-slide .pv-wrap{position:relative; z-index:1;}
.pv-hero-copy{max-width:560px; padding:70px 0;}
.pv-hero .pv-eyebrow{background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.35);}
.pv-hero .pv-hero-title{font-size:48px; line-height:1.08; font-weight:800; letter-spacing:-.03em; color:#fff; margin:0 0 16px; width:auto;}
.pv-hero .pv-lead{color:#dbe7f7; font-size:18px; margin:0 0 28px; max-width:500px;}
.pv-hero .pv-hero-cta{margin-bottom:0;}
.pv-btn-outline{background:transparent; color:#fff; border-color:rgba(255,255,255,.6);}
.pv-btn-outline:hover{background:#fff; color:var(--navy); border-color:#fff;}
.pv-hero .pv-btn-primary{background:#17a9f5; color:#fff;}
.pv-hero .pv-btn-primary:hover{background:#0b7ad1;}
.pv-dots{position:absolute; left:0; right:0; bottom:22px; z-index:5; display:flex; justify-content:center; gap:10px;}
.pv-dot{width:34px; height:6px; padding:0; border:0; border-radius:99px; background:rgba(255,255,255,.35); cursor:pointer; transition:background .2s, width .2s;}
.pv-dot:hover{background:rgba(255,255,255,.6);}
.pv-dot.is-active{background:#fff; width:52px;}

/* ---------- tables (content, account, orders, price tables) ---------- */
#right_col table, .features_container table, .tab_wrapper table, .contact table{border-collapse:separate; border-spacing:0; font-size:14px; max-width:100%;}
#right_col table:not(.tblForm){border:1px solid var(--line); border-radius:10px; overflow:hidden; background:#fff; box-shadow:var(--shadow-sm);}
#right_col th, #right_col .tblHeading{background:var(--navy) !important; color:#fff !important; font-weight:700; text-align:left; padding:11px 14px; font-size:13.5px; border:0;}
#right_col table td, #right_col table th{padding:10px 14px; border-bottom:1px solid var(--line); vertical-align:middle; background-image:none;}
#right_col table tr:last-child > td{border-bottom:0;}
#right_col table tr:nth-child(even) > td{background-color:#f8fafc;}
#right_col table tr:hover > td{background-color:var(--brand-soft);}
#right_col .error{color:#b42318;}
.tblForm{border:0 !important; box-shadow:none !important; background:transparent !important;}
.tblForm td{border-bottom:0 !important; background:transparent !important;}

/* list-style "tables" used by cart / checkout / orders */
.ord_form{border:1px solid var(--line); border-radius:12px; overflow:hidden; background:#fff; box-shadow:var(--shadow-sm); margin-bottom:18px;}
.ord_form ul{padding:0; margin:0; display:flex; flex-wrap:wrap; align-items:center;}
.ord_form ul li{padding:11px 14px; font-size:14px; float:none;}
.ord_form ul.blur_bg{background:var(--navy) !important; color:#fff; border-radius:0;}
.ord_form ul.blur_bg li, .ord_form ul.blur_bg b{color:#fff;}
.ord_form ul.gray_bg{background:#fff !important;}
.ord_form ul.lg_gray_bg{background:#f8fafc !important;}
.ord_form ul.gray_bg, .ord_form ul.lg_gray_bg{border-top:1px solid var(--line);}
.ord_form ul.gray_bg:hover, .ord_form ul.lg_gray_bg:hover{background:var(--brand-soft) !important;}
.ord_form .clearfix{display:none;}

/* ---------- product details page ---------- */
.details_wrapper{margin-bottom:22px;}
.details_wrapper > .full_width > p{font-size:16px; color:var(--ink-2); line-height:1.7;}

.features_container{width:100%; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow-sm); padding:26px 28px; margin-bottom:22px; cursor:default; position:relative; box-sizing:border-box;}
.features_container:hover{box-shadow:var(--shadow-sm); border-color:var(--line); cursor:default;}
.features_container h2{font-size:22px; margin:0 0 12px; width:auto; color:var(--ink);}
.features_container p{margin:0 0 12px; color:var(--ink-2); line-height:1.7;}
.features_container ul{list-style:none; padding:0; margin:0 0 16px;}

/* "Key Features" block: details on the left, image + CTA on the right */
.features_container:has(> .heading){display:grid; grid-template-columns:minmax(0,1fr) 290px; column-gap:32px; align-items:start; padding-top:22px;}
.features_container:has(> .heading) > .clearfix, .features_container:has(> .heading) > .padding_top{display:none;}
.features_container .heading{grid-column:1 / -1; position:static; width:auto; height:auto; background:none; left:auto; top:auto; margin:0 0 18px; padding:0 0 14px; border-bottom:2px solid var(--brand-soft);}
.features_container .heading .inner{padding:0; color:var(--ink); font-size:22px; font-weight:800; line-height:1.2; letter-spacing:-.01em; font-family:var(--font);}
.features_container .heading .inner:before{content:""; display:inline-block; width:6px; height:22px; border-radius:3px; background:var(--brand); margin-right:12px; vertical-align:-3px;}
.features_container .heading .inner a{color:var(--ink);}
.features_container .left{width:auto; padding:0; margin:0; text-align:left; line-height:1.6; grid-column:1; float:none;}
.features_container .right{width:auto; border:0; background:transparent; float:none; grid-column:2; grid-row:2;}
.features_container .left ul{margin:0; padding:0;}
.features_container .left li{width:auto; background:var(--bg); border:0; border-radius:10px; color:var(--ink-2); padding:11px 14px 11px 42px; margin:0 0 8px; font-size:14.5px; position:relative; list-style:none; line-height:1.5;}
.features_container .left li:before{content:""; position:absolute; left:15px; top:50%; width:11px; height:6px; margin-top:-6px; border-left:2.5px solid var(--brand); border-bottom:2.5px solid var(--brand); transform:rotate(-45deg);}
.features_container .left li:hover{background:var(--brand-soft); border:0; padding:11px 14px 11px 42px;}
.features_container .left li a{font-weight:600;}
.features_container .left table{margin-top:10px;}
.features_container .rightBox{width:100%; border:1px solid var(--line); outline:0; background:#fff; border-radius:14px; padding:12px; margin:0 0 14px; text-align:center; box-shadow:var(--shadow-sm);}
.features_container .rightBox:hover{border-color:#cbd5e1;}
.features_container .rightBox img{max-width:100%; height:auto; border-radius:8px; margin:0;}
.features_container .right center{display:block; text-align:center;}

/* primary CTA button on the product page */
a.bttn.btn_cL, .bttn.btn_cL, .bttn.btn_c, .bttn.btn_d, .bttn.btn_dL{display:block; width:100%; box-sizing:border-box; text-align:center; background:var(--brand) !important; background-image:none !important; color:#fff !important; border:0 !important; border-radius:999px; padding:14px 22px; font:700 14px/1 var(--font); letter-spacing:.04em; text-shadow:none !important; text-transform:uppercase;}
a.bttn.btn_cL:hover, .bttn.btn_cL:hover, .bttn.btn_c:hover, .bttn.btn_d:hover{background:var(--brand-dark) !important;}
.bttn.btn_a, .bttn.btn_aL, .bttn.btn_b, .bttn.btn_bL{background:#fff !important; background-image:none !important; border:1px solid var(--line) !important; color:var(--ink) !important; text-shadow:none !important; border-radius:999px; padding:10px 18px; font:600 14px/1 var(--font);}

/* related products / category listing cards */
#right_col h1{margin-top:8px;}
.featured_item{width:calc(33.333% - 14px) !important; height:auto !important; overflow:visible !important; float:left; margin:0 7px 14px !important; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm); transition:transform .18s, box-shadow .18s; display:flex; flex-direction:column;}
.featured_item:hover{transform:translateY(-3px); box-shadow:var(--shadow);}
.featured_item .image{width:100% !important; height:170px !important; margin:0; border:0 !important; box-shadow:none !important; background:#f3f4f6; display:flex; align-items:center; justify-content:center; overflow:hidden !important;}
.featured_item .image:hover{box-shadow:none; border:0;}
.featured_item .image img{margin:0; width:auto !important; height:auto !important; max-width:100%; max-height:150px; object-fit:contain;}
.featured_item .contents{width:100%; padding:14px 16px 16px; display:flex; flex-direction:column; gap:6px; flex:1;}
.featured_item .contents h4, .featured_item .contents h2{margin:0; width:auto; font-size:16px; font-weight:700; line-height:1.3; font-family:var(--font);}
.featured_item .contents p{margin:0; height:auto !important; color:var(--muted); font-size:13.5px; line-height:1.5; flex:1;}
.featured_item .more_info{display:inline-block; align-self:flex-start; margin-top:6px; background:var(--brand-soft) !important; color:var(--brand-dark) !important; border:0; border-radius:999px; padding:7px 14px; font-weight:700; font-size:13px; text-decoration:none; height:auto;}
.featured_item .more_info:hover{background:var(--brand) !important; color:#fff !important;}
.full_width .clearfix{clear:both;}
.tab_wrapper h1{font-size:24px;}
.padding_top{height:6px;}

/* "How we work online" banner image */
img[src*="how_we_work_online"]{border-radius:16px; box-shadow:var(--shadow-sm); margin-top:10px;}

/* calculator panel polish */
.caltor_panel{background:var(--navy) !important; background-image:none !important; border:0; border-radius:14px 0 0 14px;}
.caltor_panel .inner{border-radius:10px;}
.caltor_panel h1 span{font-size:20px;}

/* ---------- responsive ---------- */
@media (max-width:1100px){
	.pv-hero .pv-hero-title{font-size:40px;}
	.featured_item{width:calc(50% - 14px) !important;}
}
@media screen and (max-width:980px){
	.pv-logo img{height:52px;}
	.pv-hero, .pv-slide{min-height:460px;}
	.pv-slide:before{background:linear-gradient(180deg, rgba(16,18,71,.55) 0%, rgba(16,18,71,.85) 100%);}
	.pv-slide{background-position:70% center;}
	.pv-hero-copy{padding:48px 0 64px; max-width:none;}
	.pv-hero .pv-hero-title{font-size:34px;}
	.features_container:has(> .heading){grid-template-columns:1fr;}
	.features_container .right{grid-column:1; grid-row:auto; margin-top:10px;}
	.features_container{padding:20px 18px;}
	.featured_item{width:calc(50% - 10px) !important; margin:0 5px 12px !important;}
	#right_col table{display:block; overflow-x:auto;}
}
@media screen and (max-width:560px){
	.pv-hero .pv-hero-title{font-size:29px;}
	.pv-hero .pv-lead{font-size:16px;}
	.pv-hero-copy{padding:40px 0 60px;}
	.featured_item{width:100% !important; margin:0 0 12px !important;}
	.featured_item .image{height:150px !important;}
}

/* "Shop by product" section: very light grey background */
#products.pv-section{background:#f4f5f7; border-top:1px solid #eceef2; border-bottom:1px solid #eceef2;}
#products .pv-card{background:#fff;}
#products .pv-card-img{background:#eef0f4;}
