/* ============================================================
   HBCW Hardware — WordPress integration and dynamic templates
   Loaded after the converted source styles.
   ============================================================ */

/* WordPress and accessibility foundations */
main{display:block;min-height:30vh;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.screen-reader-text:focus,.skip-link:focus{clip:auto!important;width:auto;height:auto;margin:0;overflow:visible;white-space:normal;top:8px;left:8px;z-index:100000;padding:12px 16px;border-radius:8px;background:#fff;color:var(--blue-950);box-shadow:var(--shadow-lg);font-weight:700;}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--blue-300);outline-offset:3px;}
::selection{background:var(--blue-200);color:var(--blue-950);}
.wp-caption,.gallery-caption{max-width:100%;color:var(--slate);font-size:13px;}
.bypostauthor{display:block;}
.alignleft{float:left;margin:0 28px 20px 0;}.alignright{float:right;margin:0 0 20px 28px;}.aligncenter{display:block;margin-left:auto;margin-right:auto;}.alignwide{width:min(1400px,calc(100vw - 40px));max-width:none;margin-left:50%;transform:translateX(-50%);}.alignfull{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%);}

/* Header integration */
header.nav.nav-scrolled{background:rgba(8,27,61,.985);box-shadow:0 9px 28px rgba(3,19,48,.18);}
.admin-bar header.nav{top:32px;}
.brand-custom-logo{display:flex;align-items:center;flex:0 0 auto;}
.brand-logo-image{display:block;width:auto;max-width:174px;height:43px;object-fit:contain;}
.brand-custom-logo + .bt{display:none;}
.menu-toggle{line-height:1;width:44px;height:44px;border-radius:10px;transition:.2s;}
.menu-toggle:hover{background:rgba(255,255,255,.1);}
body.menu-is-open{overflow:hidden;}

/* Shared dynamic card handling */
.card-cover-link,.catalog-card-link.nested-link,.n-card-link{position:absolute;inset:0;z-index:5;border-radius:inherit;}
.card-cover-link:focus-visible,.n-card-link:focus-visible{outline:3px solid var(--blue-400);outline-offset:-4px;}
.pcard,.catalog-card,.directory-card,.news-card,.n-card{isolation:isolate;}
.pcard>*:not(.card-cover-link),.catalog-card>*:not(.card-cover-link),.directory-card>*:not(.card-cover-link),.news-card>*:not(.card-cover-link),.n-card>*:not(.n-card-link){position:relative;z-index:1;}
.home-about-link{display:inline-flex;margin-top:8px;}

/* Dynamic images */
.product-card-visual{width:100%;height:190px;border-radius:14px;margin-bottom:20px;overflow:hidden;background:linear-gradient(145deg,var(--blue-50),#fff);}
.product-card-visual img{width:100%;height:100%;object-fit:contain;padding:16px;}
.catalog-icon.product-card-visual>.icon-img{width:62px;height:62px;padding:0;object-fit:contain;}
.directory-icon img{width:100%;height:100%;object-fit:contain;padding:6px;border-radius:10px;}
.news-card .nc-img>img,.n-card .n-img>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.article-featured-image{overflow:hidden;border-radius:20px;margin-bottom:36px;box-shadow:var(--shadow-md);}
.article-featured-image img{width:100%;height:auto;}

/* Generic WordPress content */
.content-shell{background:#fff;padding:84px 0 96px;}
.narrow-content{max-width:860px;}
.entry-content{color:var(--slate);font-size:16px;line-height:1.85;overflow-wrap:anywhere;}
.entry-content>*:first-child{margin-top:0;}
.entry-content>*:last-child{margin-bottom:0;}
.entry-content h2{font-size:clamp(25px,3.2vw,36px);color:var(--blue-950);margin:42px 0 16px;}
.entry-content h3{font-size:clamp(20px,2.6vw,27px);color:var(--blue-800);margin:32px 0 12px;}
.entry-content h4{font-size:19px;color:var(--blue-900);margin:26px 0 10px;}
.entry-content p{margin:0 0 20px;}
.entry-content ul,.entry-content ol{padding-left:24px;margin:0 0 24px;}
.entry-content li{margin-bottom:7px;}
.entry-content a{color:var(--blue-600);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.entry-content a:hover{color:var(--blue-800);}
.entry-content blockquote{margin:30px 0;padding:22px 25px;border-left:4px solid var(--blue-500);background:var(--blue-50);border-radius:0 14px 14px 0;color:var(--ink);}
.entry-content img{height:auto;border-radius:14px;}
.entry-content table{width:100%;border-collapse:collapse;margin:26px 0;display:block;overflow-x:auto;}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:12px 14px;text-align:left;min-width:130px;}
.entry-content th{background:var(--blue-50);color:var(--blue-800);}
.entry-content pre{overflow:auto;padding:20px;background:var(--blue-950);color:#e9f1ff;border-radius:12px;margin:24px 0;}
.entry-content code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}

/* Empty state and pagination */
.empty-state{text-align:center;padding:54px 28px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);}
.empty-state h2{color:var(--blue-950);font-size:26px;margin-bottom:10px;}
.empty-state p{color:var(--slate);margin-bottom:22px;}
.hbcw-pagination{display:flex;justify-content:center;margin-top:46px;}
.hbcw-pagination .nav-links{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:center;}
.hbcw-pagination .page-numbers{min-width:42px;height:42px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--blue-800);font-weight:700;display:grid;place-items:center;transition:.2s;}
.hbcw-pagination .page-numbers:hover,.hbcw-pagination .page-numbers.current{background:var(--blue-600);border-color:var(--blue-600);color:#fff;box-shadow:0 7px 18px rgba(31,111,242,.25);}

/* Product archive refinements */
.catalog-results{min-width:0;}
.category-fallback-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.catalog-card{position:relative;}
.catalog-card-link{font-size:13px;color:var(--blue-600);font-weight:700;white-space:nowrap;}
.catalog-sidebar .category-icon .icon-img{width:23px;height:23px;object-fit:contain;}
.catalog-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px;}
.catalog-toolbar h2{font-size:clamp(26px,3.4vw,38px);color:var(--blue-950);}

/* Product single */
.product-page-hero .ph-ico{display:grid;}
.product-main-visual{padding:24px;}
.product-main-visual>img{position:relative;z-index:1;width:100%;height:100%;max-height:520px;object-fit:contain;border-radius:14px;background:#fff;padding:18px;}
.product-entry-content{margin-top:34px;}
.product-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 38px;}
.product-gallery-grid a{display:block;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--light);transition:.22s;}
.product-gallery-grid a:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--blue-200);}
.product-gallery-grid img{width:100%;height:210px;object-fit:contain;padding:12px;background:#fff;}
.product-feature-grid{margin-top:20px;margin-bottom:38px;grid-template-columns:repeat(2,minmax(0,1fr));}
.product-applications-light{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0 38px;}
.product-applications-light>div{display:flex;gap:15px;align-items:flex-start;padding:20px;background:var(--blue-50);border:1px solid var(--blue-100);border-radius:14px;}
.product-applications-light>div>span{width:46px;height:46px;flex:0 0 46px;border-radius:12px;background:#fff;display:grid;place-items:center;box-shadow:var(--shadow-sm);}
.product-applications-light .icon-img{width:24px;height:24px;object-fit:contain;}
.product-applications-light h3{font-size:17px;margin:1px 0 6px;color:var(--blue-900);}
.product-applications-light p{font-size:14px;line-height:1.65;color:var(--slate);}
.faq-list{display:grid;gap:12px;margin:20px 0 38px;}
.faq-item{border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden;}
.faq-item summary{cursor:pointer;list-style:none;padding:18px 50px 18px 20px;color:var(--blue-950);font-weight:700;position:relative;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:23px;color:var(--blue-600);}
.faq-item[open] summary::after{content:'−';}
.faq-item>div{padding:0 20px 20px;color:var(--slate);line-height:1.75;}
.drawing-link{margin-top:17px!important;padding-top:16px;border-top:1px solid var(--line);}
.drawing-link a{color:var(--blue-600);font-weight:700;}
.product-inquiry-section{background:linear-gradient(135deg,#eef5ff,#f8fbff);padding:92px 0;}
.product-inquiry-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(480px,1.18fr);gap:58px;align-items:center;}
.product-inquiry-grid>div:first-child h2{font-size:clamp(28px,4vw,43px);color:var(--blue-950);margin-bottom:15px;}
.product-inquiry-grid>div:first-child p{font-size:16.5px;color:var(--slate);max-width:540px;}
.contact-form-compact{padding:32px;}

/* Inquiry form integration */
.hbcw-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.fgroup input[type=file]{padding:10px;background:rgba(255,255,255,.06);}
.fgroup input[type=file]::file-selector-button{border:0;border-radius:8px;background:var(--blue-600);color:#fff;padding:8px 12px;margin-right:10px;font:600 12px 'Inter',sans-serif;cursor:pointer;}
.fgroup small{display:block;color:#8ba0bf;font-size:12px;margin-top:6px;}
.form-alert{position:relative;border-radius:10px;padding:12px 14px;margin:0 0 20px;font-size:13.5px;font-weight:600;}
.form-alert-success{background:#e7f8ef;border:1px solid #96ddb4;color:#17663a;}
.form-alert-error{background:#fff0f0;border:1px solid #efb1b1;color:#8d2525;}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#8195b2;opacity:1;}

/* About / factory / custom / quote pages */
.factory-page,.custom-page,.quote-page{background:#fff;padding:96px 0;}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:56px;counter-reset:process;}
.process-grid>div{padding:28px;background:var(--light);border:1px solid var(--line);border-radius:18px;transition:.25s;}
.process-grid>div:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);background:#fff;}
.process-grid b{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--blue-600);color:#fff;margin-bottom:17px;font:700 13px 'Poppins',sans-serif;}
.process-grid h3{font-size:18px;color:var(--blue-950);margin-bottom:8px;}
.process-grid p{font-size:14px;color:var(--slate);}
.factory-custom-content,.custom-extra-content{margin-top:58px;padding-top:46px;border-top:1px solid var(--line);}
.custom-cap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:56px;}
.custom-cap-grid>div{padding:28px;text-align:center;background:var(--light);border:1px solid var(--line);border-radius:18px;transition:.25s;}
.custom-cap-grid>div:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);background:#fff;}
.custom-cap-grid>div>.icon-img{width:43px;height:43px;object-fit:contain;margin:0 auto 17px;}
.custom-cap-grid h3{font-size:18px;color:var(--blue-950);margin-bottom:8px;}
.custom-cap-grid p{font-size:14px;color:var(--slate);}
.custom-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:50px;}
.custom-steps>div{position:relative;padding:20px 16px;border-radius:14px;background:var(--blue-950);color:#fff;min-height:135px;}
.custom-steps b{display:block;color:var(--blue-300);font:800 18px 'Poppins',sans-serif;margin-bottom:12px;}
.custom-steps span{font-size:13.5px;line-height:1.55;color:#d7e2f2;}
.quote-page{background:var(--light);}
.quote-page-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(500px,1.18fr);gap:56px;align-items:start;}
.quote-guide{padding:20px 0;}
.quote-guide h2{font-size:clamp(29px,4vw,42px);color:var(--blue-950);margin-bottom:15px;}
.quote-guide>p{color:var(--slate);font-size:16px;}
.quote-checklist{display:grid;gap:12px;margin-top:30px;}
.quote-checklist>div{display:flex;gap:14px;align-items:center;padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:#fff;}
.quote-checklist b{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:9px;background:var(--blue-100);color:var(--blue-700);font-size:12px;}
.quote-checklist span{font-size:14px;color:var(--ink);font-weight:600;}
.quote-contact-mini{margin-top:25px;padding:20px;border-radius:14px;background:var(--blue-950);color:#fff;display:grid;gap:7px;}
.quote-contact-mini b{color:var(--blue-300);font-size:13px;text-transform:uppercase;letter-spacing:.08em;}
.quote-contact-mini a{color:#fff;font-weight:600;font-size:14px;overflow-wrap:anywhere;}

/* Search and 404 */
.search-results-list{display:grid;gap:18px;}
.search-results-list .search-form{display:flex;gap:10px;margin-bottom:24px;}
.search-results-list .search-field{flex:1;padding:14px 16px;border:1px solid var(--line);border-radius:10px;font:inherit;}
.search-results-list .search-submit{border:0;border-radius:10px;background:var(--blue-600);color:#fff;padding:0 22px;font-weight:700;cursor:pointer;}
.search-result-card{padding:25px 28px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow-sm);}
.search-type{display:inline-flex;padding:4px 9px;border-radius:999px;background:var(--blue-50);color:var(--blue-700);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;}
.search-result-card h2{font-size:22px;color:var(--blue-950);margin-bottom:8px;}
.search-result-card p{color:var(--slate);margin-bottom:12px;}
.search-result-card .plink{color:var(--blue-600);font-weight:700;}
.error-page{min-height:70vh;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 50% 30%,var(--blue-50),#fff 58%);padding:100px 0;}
.error-code{display:block;font:900 clamp(84px,16vw,180px)/.9 'Poppins',sans-serif;color:var(--blue-100);letter-spacing:-.06em;}
.error-page h1{font-size:clamp(30px,5vw,48px);color:var(--blue-950);margin-top:-12px;}
.error-page p{color:var(--slate);max-width:560px;margin:14px auto 28px;}
.error-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.btn.bg-light{background:#fff;color:var(--blue-700);border:1px solid var(--blue-200);box-shadow:var(--shadow-sm);}

/* Article TOC */
.toc-links{display:grid;}
.article-toc .toc-subitem{padding-left:12px;font-size:12.5px;}
.article-toc[hidden]{display:none;}
.article-content h2,.article-content h3{scroll-margin-top:110px;}

/* Responsive integration */
@media(max-width:1024px){
  .admin-bar header.nav{top:32px;}
  nav.menu{position:absolute!important;top:100%!important;left:0!important;max-height:calc(100vh - 74px)!important;}
  .product-inquiry-grid,.quote-page-grid{grid-template-columns:1fr;}
  .custom-cap-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .custom-steps{grid-template-columns:repeat(3,minmax(0,1fr));}
  .process-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .product-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:782px){.admin-bar header.nav{top:46px;}}
@media(max-width:720px){
  .brand .bt b{font-size:15px;}.brand .bt small{font-size:8.5px;letter-spacing:.14em;}
  .brand-logo-image{max-width:142px;height:39px;}
  .content-shell,.factory-page,.custom-page,.quote-page{padding:68px 0;}
  .category-fallback-grid,.product-feature-grid,.product-applications-light,.custom-cap-grid,.process-grid,.custom-steps{grid-template-columns:1fr;}
  .product-gallery-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .product-gallery-grid img{height:150px;}
  .product-inquiry-section{padding:66px 0;}.product-inquiry-grid{gap:32px;}
  .contact-form,.contact-form-compact{padding:25px 20px;}
  .alignleft,.alignright{float:none;margin:18px auto;}
  .search-results-list .search-form{display:grid;}.search-results-list .search-submit{min-height:48px;}
  .error-page{padding:70px 0;}.error-actions{display:grid;}.error-actions .btn{justify-content:center;}
}
@media(max-width:430px){
  .product-gallery-grid{grid-template-columns:1fr;}
  .topbar-contacts a{overflow:hidden;text-overflow:ellipsis;}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}

/* Optional homepage featured products (shown only when products are marked Featured). */
.featured-products{background:#fff;}
.featured-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.featured-product-card .product-card-visual{width:100%;height:210px;margin-bottom:20px;border-radius:14px;}
.featured-product-card .product-card-visual img{width:100%;height:100%;object-fit:contain;padding:14px;}
.featured-product-card .pb.product-card-visual>.icon-img{width:60px;height:60px;padding:0;}
@media(max-width:1024px){.featured-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:720px){.featured-product-grid{grid-template-columns:1fr;}}
