/* ==========================================================================
   PrintingView - modern theme v3
   Unified form system, quote + contact forms, blog listing, sidebar menus.
   Loaded after modern-v2.css.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. One form style for the whole site
   -------------------------------------------------------------------------- */
input[type=text], input[type=password], input[type=email], input[type=tel], input[type=number], input[type=url], input[type=date],
select, textarea,
.input, .input1, .ta, .cb{
	width:100%; min-height:46px; padding:11px 14px; font-family:var(--font); font-size:15px; line-height:1.3; color:var(--ink);
	background-color:#fff; border:1.5px solid #d6dbe3; border-radius:12px; box-shadow:none; box-sizing:border-box;
	transition:border-color .15s, box-shadow .15s, background-color .15s; height:auto;
}
.input2{width:100%; min-height:40px; padding:8px 12px; font-family:var(--font); font-size:14px; color:var(--ink); background:#fff; border:1.5px solid #d6dbe3; border-radius:10px; box-shadow:none; height:auto; box-sizing:border-box;}
textarea, .ta{min-height:130px; resize:vertical; line-height:1.5;}
input[type=text]:hover, input[type=password]:hover, input[type=email]:hover, input[type=tel]:hover, input[type=number]:hover, select:hover, textarea:hover, .input:hover, .ta:hover, .cb:hover, .input1:hover{background-color:#fff; border-color:#b8c0cc;}
input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, input[type=tel]:focus, input[type=number]:focus, input[type=url]:focus, input[type=date]:focus,
select:focus, textarea:focus, .input:focus, .ta:focus, .cb:focus, .input1:focus, .input2:focus{outline:0; border-color:var(--brand); box-shadow:0 0 0 4px rgba(11,122,209,.15); background-color:#fff;}
input::placeholder, textarea::placeholder{color:#9aa3b2;}
select, .cb, .input2[name]{-webkit-appearance:none; -moz-appearance:none; appearance:none; padding-right:40px;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");
	background-repeat:no-repeat; background-position:right 12px center; cursor:pointer;}
select.input2, .caltor_panel select{min-height:40px;}
input[type=radio], input[type=checkbox]{width:18px; height:18px; min-height:0; margin:0 8px 0 0; accent-color:var(--brand); vertical-align:-3px; cursor:pointer; box-shadow:none;}
input[readonly], .input_none{background:#f3f4f6;}
.input_none{border:0 !important; min-height:0; padding:0; background:transparent;}
label{font-weight:600; color:var(--ink-2); font-size:14px;}
label.error, .error_msg{display:block; width:auto; color:#b42318; font-size:13px; font-weight:500; padding:4px 0 0;}
input.error, textarea.error, select.error{border-color:#d92d20; background:#fff6f5;}

/* buttons inside forms */
form .btn, form input[type=submit].btn, form input[type=button].btn, form input[type=reset].btn{min-height:46px; padding:12px 26px; font-size:15px; font-family:var(--font); cursor:pointer;}
#btnreset, #btncancel, input[type=reset].btn, .btn.secondary{background:#fff !important; color:var(--ink) !important; border:1.5px solid #d6dbe3 !important;}
#btnreset:hover, #btncancel:hover, input[type=reset].btn:hover, .btn.secondary:hover{background:#f3f4f6 !important;}

/* reusable form building blocks (contact form, future forms) */
.pv-form-card{background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-sm); padding:32px; max-width:760px;}
.pv-form-card h2{margin:0 0 6px; font-size:26px; width:auto;}
.pv-form-sub{margin:0 0 24px !important; color:var(--muted); }
.pv-field{margin-bottom:18px;}
.pv-field label{display:block; margin:0 0 7px;}
.pv-field .req{color:#d92d20;}
.pv-field-row{display:grid; grid-template-columns:1fr 1fr; gap:0 18px;}
.pv-form-actions{margin-top:8px; display:flex; gap:12px; align-items:center;}
.pv-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.pv-alert{border-radius:12px; padding:14px 18px; margin:0 0 20px; font-size:15px; font-weight:500; max-width:760px;}
.pv-alert-success{background:#ecfdf3; color:#067647; border:1px solid #abefc6;}
.pv-alert-error{background:#fef3f2; color:#b42318; border:1px solid #fecdca;}
.contact > p, .contact > h1{max-width:760px;}

/* --------------------------------------------------------------------------
   2. Custom quote form
   -------------------------------------------------------------------------- */
.cutom_qoutes{max-width:900px; margin-top:0;}
.cutom_qoutes > p{font-size:15.5px; color:var(--ink-2); line-height:1.7;}
.cutom_qoutes > h2{font-family:var(--font); font-weight:800; font-size:24px; margin:18px 0 4px; display:none;}
.cutom_qoutes .red{color:#067647; font-weight:600;}
.cutom_qoutes form{counter-reset:pvsec; margin-top:18px;}
.cutom_qoutes .section{width:100%; padding:0 !important; margin:0 0 22px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-sm); overflow:hidden; position:relative;}
.cutom_qoutes .section .heading{position:static; width:auto; height:auto; top:auto; left:auto; border:0; border-bottom:1px solid var(--line); background:#f8fafc; background-image:none; padding:16px 26px; margin:0;
	font-family:var(--font); font-size:17px; font-weight:700; line-height:1.3; color:var(--ink); text-shadow:none; display:flex; align-items:center; gap:12px;}
.cutom_qoutes .section .heading:before{counter-increment:pvsec; content:counter(pvsec); width:30px; height:30px; flex:0 0 30px; border-radius:50%; background:var(--brand); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:14px; font-weight:700;}
.cutom_qoutes .section > ul.list{display:grid; grid-template-columns:minmax(0,36%) minmax(0,1fr); gap:8px 24px; align-items:start; margin:0; padding:16px 26px; list-style:none; border-top:1px solid #f0f2f5;}
.cutom_qoutes .section > .heading + ul.list{border-top:0;}
.cutom_qoutes .section ul.list > li{margin:0; float:none; width:auto; list-style:none;}
.cutom_qoutes .section ul.list > .clearfix{display:none;}
.cutom_qoutes .section ul.list > li.left{padding-top:12px; font-weight:600; color:var(--ink-2); font-size:14.5px; line-height:1.4; display:flex; align-items:flex-start; gap:2px;}
.cutom_qoutes .section ul.list > li.left input[type=radio]{margin-top:1px; flex:0 0 18px;}
.cutom_qoutes .section ul.list > li.right{font-size:14px; color:var(--muted);}
.cutom_qoutes .section ul.list > li.right .input, .cutom_qoutes .section ul.list > li.right .ta, .cutom_qoutes .section ul.list > li.right .cb{width:100% !important;}
.cutom_qoutes ul.sub{display:flex; flex-wrap:wrap; align-items:center; gap:10px 8px; margin:0; padding:0; list-style:none;}
.cutom_qoutes ul.sub li{float:none; width:auto; line-height:1.4; margin:0; list-style:none;}
.cutom_qoutes ul.sub li.first{flex:1 1 100%;}
.cutom_qoutes ul.sub li.lbl{padding:0; font-weight:600; color:var(--muted);}
.cutom_qoutes ul.sub li.inp{flex:1 1 56px; min-width:56px;}
.cutom_qoutes ul.sub li.inp .input{padding-left:10px; padding-right:10px;}
.cutom_qoutes ul.sub li.inp .input{width:100%;}
.cutom_qoutes .section ul.list:last-child{background:#f8fafc;}
.cutom_qoutes .section ul.list:last-child li.right{display:flex; gap:12px; flex-wrap:wrap;}
.cutom_qoutes input[type=submit].btn{background:var(--brand) !important; color:#fff !important;}

/* --------------------------------------------------------------------------
   3. Left column: product browser + blog sidebar
   -------------------------------------------------------------------------- */
.pv-side{background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-sm); padding:10px; margin-bottom:18px; position:relative;}
.pv-side-head{display:flex; align-items:center; gap:10px; padding:12px 12px 14px; margin:0 0 4px; font-size:12.5px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:var(--navy);}
.pv-side-head svg{color:var(--brand);}
.pv-side-list{list-style:none; margin:0; padding:0;}
.pv-side-item{list-style:none; margin:0 0 3px; padding:0; position:relative;}
.pv-side-link{display:flex; align-items:center; gap:12px; padding:8px 10px; border-radius:12px; text-decoration:none; color:var(--ink-2); font-size:14.5px; font-weight:600; transition:background .15s, color .15s, transform .15s; border:1px solid transparent;}
.pv-side-thumb{flex:0 0 40px; width:40px; height:40px; border-radius:11px; background:linear-gradient(135deg, var(--brand-soft), #d5e9fa); color:var(--brand-dark); font-weight:800; display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:inset 0 0 0 1px rgba(11,122,209,.12);}
.pv-side-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.pv-side-name{flex:1 1 auto; min-width:0; line-height:1.25;}
.pv-side-count{flex:0 0 auto; min-width:24px; padding:2px 8px; border-radius:99px; background:#f1f3f6; color:var(--muted); font-size:12px; font-weight:700; text-align:center;}
.pv-side-chev{flex:0 0 16px; color:#a9b2c1; transition:transform .15s, color .15s;}
.pv-side-item:hover > .pv-side-link, .pv-side-item:focus-within > .pv-side-link{background:var(--brand-soft); color:var(--brand-dark); border-color:#cfe6f9;}
.pv-side-item:hover .pv-side-chev{color:var(--brand); transform:translateX(3px);}
.pv-side-item:hover .pv-side-count{background:#fff; color:var(--brand-dark);}
.pv-side-item.is-active > .pv-side-link{background:linear-gradient(90deg, var(--brand) 0%, #1a93e8 100%); color:#fff; border-color:transparent; box-shadow:0 6px 16px rgba(11,122,209,.28);}
.pv-side-item.is-active .pv-side-thumb{box-shadow:0 0 0 2px rgba(255,255,255,.7);}
.pv-side-item.is-active .pv-side-count{background:rgba(255,255,255,.22); color:#fff;}
.pv-side-item.is-active .pv-side-chev{color:#fff;}
/* flyout with the category's products */
.pv-side-fly{display:none; position:absolute; top:-10px; left:calc(100% + 6px); width:270px; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 18px 40px rgba(16,24,40,.16); padding:12px; z-index:500;}
.pv-side-fly:before{content:""; position:absolute; top:0; left:-10px; width:10px; height:100%;}
.pv-side-item:hover > .pv-side-fly, .pv-side-item:focus-within > .pv-side-fly{display:block;}
.pv-side-fly-title{font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); padding:4px 10px 8px;}
.pv-side-fly ul{list-style:none; margin:0; padding:0; max-height:52vh; overflow:auto;}
.pv-side-fly li{list-style:none; margin:0; padding:0;}
.pv-side-fly li a{display:block; padding:8px 10px; border-radius:9px; color:var(--ink-2); text-decoration:none; font-size:14px; font-weight:500;}
.pv-side-fly li a:hover{background:var(--brand-soft); color:var(--brand-dark);}
.pv-side-fly-all{display:block; margin-top:8px; padding:10px; border-top:1px solid var(--line); font-weight:700; font-size:14px; text-decoration:none; color:var(--brand);}
/* plain lists (blog categories / archives) */
.pv-side-plain .pv-side-link{padding:10px 12px; font-size:14.5px;}
.pv-side-plain .pv-side-name{font-weight:600;}
/* tags */
.pv-tags{display:flex; flex-wrap:wrap; gap:8px; padding:4px 8px 10px;}
.pv-tag, .pv-tags a{display:inline-block; padding:6px 12px; border-radius:99px; background:#f1f5f9; color:var(--ink-2) !important; font-size:13px !important; font-weight:600 !important; text-decoration:none;}
.pv-tag:hover{background:var(--brand); color:#fff !important;}
.pv-tag.tag_max{background:var(--brand-soft); color:var(--brand-dark) !important; font-size:14px !important;}

/* --------------------------------------------------------------------------
   4. Blog listing
   -------------------------------------------------------------------------- */
.contents_content:has(> .pv-post){display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:22px; align-items:stretch;}
.contents_content:has(> .pv-post) > h2{grid-column:1 / -1; margin:0; font-size:28px; width:auto;}
.contents_content:has(> .pv-post) > div[style*="height"]{display:none;}
.pv-post-row{background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--shadow-sm); transition:transform .18s, box-shadow .18s;}
.pv-post-row:hover{transform:translateY(-4px); box-shadow:var(--shadow);}
.pv-post-row .pv-post-img{display:block; height:210px; background:linear-gradient(135deg, #e6f3fd, #dbe3f0); overflow:hidden; position:relative;}
.pv-post-row .pv-post-img img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s;}
.pv-post-row:hover .pv-post-img img{transform:scale(1.04);}
.pv-post-row .pv-post-body{display:flex; flex-direction:column; gap:8px; padding:18px 20px 20px; flex:1;}
.pv-post-meta{font-size:12.5px; color:var(--muted); font-weight:500; display:flex; gap:8px; align-items:center; flex-wrap:wrap;}
.pv-post-meta .dot{opacity:.5;}
.pv-post-row h3{margin:0; font-size:19px; line-height:1.3; width:auto;}
.pv-post-row h3 a{color:var(--ink); text-decoration:none;}
.pv-post-row h3 a:hover{color:var(--brand);}
.pv-post-row .pv-post-body p{margin:0; color:var(--muted); font-size:14.5px; line-height:1.6; flex:1;}
.pv-post-foot{display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:6px; padding-top:12px; border-top:1px solid #f0f2f5;}
.pv-post-comments{font-size:13px; color:var(--muted); text-decoration:none;}
.pv-post-comments:hover{color:var(--brand);}
/* first post is featured: wide, image left */
.contents_content > .pv-post-row:first-of-type{grid-column:1 / -1; flex-direction:row;}
.contents_content > .pv-post-row:first-of-type .pv-post-img{flex:0 0 46%; height:auto; min-height:280px;}
.contents_content > .pv-post-row:first-of-type h3{font-size:24px;}
.contents_content > .pv-post-row:first-of-type .pv-post-body{padding:26px 28px;}

/* --------------------------------------------------------------------------
   5. Responsive
   -------------------------------------------------------------------------- */
@media screen and (max-width:980px){
	.pv-field-row{grid-template-columns:1fr; gap:0;}
	.pv-form-card{padding:22px 18px;}
	.cutom_qoutes .section > ul.list{grid-template-columns:1fr; padding:14px 18px; gap:6px;}
	.cutom_qoutes .section ul.list > li.left{padding-top:0;}
	.cutom_qoutes .section .heading{padding:14px 18px;}
	.pv-side-fly{display:none !important;}
}
@media screen and (max-width:700px){
	.contents_content:has(> .pv-post){grid-template-columns:1fr;}
	.contents_content > .pv-post-row:first-of-type{flex-direction:column;}
	.contents_content > .pv-post-row:first-of-type .pv-post-img{flex:none; height:210px; min-height:0;}
	.contents_content > .pv-post-row:first-of-type .pv-post-body{padding:18px 20px 20px;}
}

/* compact product menu (the live catalogue has 20+ categories) */
.pv-side-list{margin:0;}
.pv-side-item{margin-bottom:2px;}
.pv-side-link{gap:10px; padding:6px 8px; font-size:14px;}
.pv-side-thumb{flex:0 0 34px; width:34px; height:34px; border-radius:9px; font-size:14px;}
.pv-side-count{min-width:22px; padding:1px 7px; font-size:11.5px;}
.pv-side-plain .pv-side-link{padding:9px 12px;}

/* --------------------------------------------------------------------------
   6. Tags / search results pages
   -------------------------------------------------------------------------- */
.pv-results-head{display:flex; flex-direction:column; gap:4px; margin:0 0 24px; padding:0 0 18px; border-bottom:1px solid var(--line);}
.pv-results-kicker{display:inline-block; align-self:flex-start; padding:4px 12px; border-radius:99px; background:var(--brand-soft); color:var(--brand-dark); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;}
.pv-results-head h1{margin:6px 0 0; font-size:32px; width:auto;}
.pv-results-head p{margin:0; color:var(--muted); font-size:15px;}
.pv-grid-3{grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px;}
.pv-grid-3 .pv-card-img{height:180px; background:#fff; border-bottom:1px solid #f0f2f5;}
.pv-grid-3 .pv-card-img img{object-fit:contain; padding:12px; box-sizing:border-box;}
.pv-card-cat{align-self:flex-start; font-size:11.5px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--brand);}
.pv-empty{background:#f8fafc; border:1px dashed #cbd5e1; border-radius:16px; padding:40px 28px; text-align:center; color:var(--muted); grid-column:1 / -1;}
.pv-empty strong{display:block; font-size:19px; color:var(--ink); margin-bottom:6px;}
.pv-empty p{margin:0;}
.contents_content > h3:empty{display:none;}
@media (max-width:1100px){ .pv-grid-3{grid-template-columns:repeat(2, minmax(0,1fr));} }
@media (max-width:560px){ .pv-grid-3{grid-template-columns:1fr;} .pv-grid-3 .pv-card-body p{display:block;} .pv-results-head h1{font-size:26px;} }

/* --------------------------------------------------------------------------
   7. Contact page: address cards
   -------------------------------------------------------------------------- */
.pv-contact-intro{margin:0 0 26px;}
.pv-contact-intro h1{margin:8px 0 6px; font-size:34px; width:auto;}
.pv-contact-intro p{margin:0; color:var(--muted); font-size:16px;}
.pv-contact-cards{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; margin:0 0 32px;}
.pv-contact-card{display:flex; flex-direction:column; gap:6px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-sm); padding:24px; transition:transform .18s, box-shadow .18s;}
.pv-contact-card:hover{transform:translateY(-3px); box-shadow:var(--shadow);}
.pv-contact-ico{display:inline-flex; width:48px; height:48px; border-radius:14px; background:var(--brand-soft); color:var(--brand-dark); align-items:center; justify-content:center; margin-bottom:8px;}
.pv-contact-card h3{margin:0; font-size:19px; width:auto;}
.pv-contact-card address{font-style:normal; color:var(--ink-2); line-height:1.65; font-size:14.5px; flex:1; margin-bottom:6px;}
.pv-contact-link{font-weight:700; font-size:16px; color:var(--ink); text-decoration:none; word-break:break-word;}
.pv-contact-link:hover{color:var(--brand);}
.pv-contact-more{margin-top:4px; font-weight:700; font-size:14px; text-decoration:none;}
.pv-contact-primary{background:linear-gradient(145deg, var(--navy) 0%, var(--navy-2) 100%); border-color:transparent; color:#fff;}
.pv-contact-primary h3, .pv-contact-primary .pv-contact-link{color:#fff;}
.pv-contact-primary address{color:#d5ddef;}
.pv-contact-primary .pv-contact-ico{background:rgba(255,255,255,.14); color:#fff;}
.pv-contact-primary .pv-contact-more{color:#7fd0ff;}
.pv-contact-primary .pv-contact-link:hover{color:#7fd0ff;}
@media (max-width:1100px){ .pv-contact-cards{grid-template-columns:1fr 1fr;} .pv-contact-cards .pv-contact-card:last-child{grid-column:1 / -1;} }
@media (max-width:640px){ .pv-contact-cards{grid-template-columns:1fr;} .pv-contact-intro h1{font-size:27px;} }

/* "Send us a message" box: light grey card, white fields */
.pv-form-card{background:#f4f5f7; border-color:#e6e8ec; box-shadow:none;}
.pv-form-card input[type=text], .pv-form-card input[type=email], .pv-form-card input[type=tel], .pv-form-card textarea, .pv-form-card select, .pv-form-card .input, .pv-form-card .ta{background-color:#fff; border-color:#d6dbe3;}
