/* WallSafe public templates live inside WoodMart's generic content wrapper.
 * Normalize that wrapper instead of forcing 100vw: viewport breakout caused
 * RTL pages to shift horizontally. Catalog keeps its already-approved layout. */
body.wallsafe-site-page .page-title{display:none!important}
body.wallsafe-site-page .main-page-wrapper{padding-top:0!important}
body.wallsafe-site-page:not(.wallsafe-site-page--catalog) .main-page-wrapper>.container,
body.wallsafe-site-page:not(.wallsafe-site-page--catalog) .main-page-wrapper>.container-fluid{width:100%!important;max-width:none!important;padding-left:0!important;padding-right:0!important}
body.wallsafe-site-page:not(.wallsafe-site-page--catalog) .content-layout-wrapper{display:block!important;width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
body.wallsafe-site-page:not(.wallsafe-site-page--catalog) .content-layout-wrapper>.ws-site,
body.wallsafe-site-page:not(.wallsafe-site-page--catalog) .main-page-wrapper .ws-site{position:static!important;display:block!important;width:100%!important;max-width:none!important;min-width:0!important;flex:0 0 100%!important;margin:0!important;padding-left:0!important;padding-right:0!important;transform:none!important;left:auto!important;right:auto!important}
body.wallsafe-site-page:not(.wallsafe-site-page--catalog) .main-page-wrapper{overflow-x:hidden}
.ws-project-card__media .ws-product-card__placeholder{min-height:100%}
.ws-product-card__category a{color:inherit}
.ws-contact__content{margin-top:36px}
.ws-not-found__box{max-width:760px;margin:40px auto 70px}
.ws-not-found__title{margin:0 0 12px;font-size:34px}
.ws-not-found__actions{justify-content:center}

/* Shared accessibility/responsive hardening. */
.ws-skip-link{position:fixed;z-index:100000;top:10px;right:14px;padding:10px 14px;background:#111;color:#fff;border:2px solid #fff;border-radius:2px;transform:translateY(-160%);transition:transform .16s ease}.ws-skip-link:focus{transform:translateY(0);color:#fff}
.ws-site :where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #1f6feb!important;outline-offset:3px!important;box-shadow:none!important}
.ws-site :where(.ws-btn,.ws-text-link,.ws-site-chip,summary){min-height:44px}
.ws-site :where(img,video,iframe,svg){max-width:100%}
.ws-site :where(p,li,a,strong,span,h1,h2,h3){overflow-wrap:anywhere}
.ws-site input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.ws-site select{min-height:44px}
.ws-site textarea{max-width:100%;resize:vertical}
.ws-project-single__layout--no-media{grid-template-columns:minmax(0,860px);justify-content:center}.ws-project-single__layout--no-media .ws-project-single__media{display:none}

/* Homepage hero: asymmetric project entry point, no decorative iconography. */
.ws-home .ws-home-hero{position:relative;overflow:hidden;padding:72px 0 62px;border-bottom:1px solid #d5dcde;background-color:#f4f4f1;background-image:linear-gradient(rgba(55,70,76,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(55,70,76,.024) 1px,transparent 1px);background-size:36px 36px}
.ws-home-hero__layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.72fr);gap:64px;align-items:center}
.ws-home-hero__content{position:relative;padding-right:25px}.ws-home-hero__content:before{content:"";position:absolute;top:3px;right:0;bottom:4px;width:1px;background:#8d989c}
.ws-home .ws-site-hero__eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:12px;color:#536067;font-size:11px;font-weight:850}.ws-home .ws-site-hero__eyebrow:before{content:"";width:19px;height:1px;background:#f15a24}
.ws-home-hero h1{max-width:790px;margin:0;font-size:clamp(38px,4.8vw,62px);line-height:1.28;letter-spacing:-.045em;font-weight:950;color:#20292f}
.ws-home-hero__content>p{max-width:760px;margin:19px 0 0;color:#657279;font-size:16px;line-height:2}
.ws-home-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.ws-home-start{border-top:1px solid #8f9a9e;border-bottom:1px solid #cbd2d4;background:rgba(255,255,255,.56)}
.ws-home-start__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #d8ddde}.ws-home-start__head span{color:#788388;font-size:10px;font-weight:800}.ws-home-start__head strong{font-size:14px}
.ws-home-start>a{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;padding:18px;color:#24343c;border-bottom:1px solid #d8ddde;transition:background .18s ease}.ws-home-start>a:last-child{border-bottom:0}.ws-home-start>a:after{content:"←";grid-column:2;grid-row:1/3;align-self:center;color:#f15a24;font-size:18px}.ws-home-start>a:hover{background:#fff}.ws-home-start>a span{font-weight:900}.ws-home-start>a small{color:#6e797e;line-height:1.7}
.ws-home-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #aeb8bb;border-bottom:1px solid #aeb8bb}
.ws-home-lane{min-width:0;padding:29px 30px 28px;border-left:1px solid #dce1e2}.ws-home-lane:last-child{border-left:0}.ws-home-lane__label{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;color:#758086;font-size:11px;font-weight:800}.ws-home-lane__label:before{content:"";width:14px;height:1px;background:#f15a24}.ws-home-lane h3{margin:0;font-size:22px;line-height:1.6}.ws-home-lane p{margin:10px 0 20px;color:#68747a;line-height:1.9}
.ws-home-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #b6c0c3}
.ws-home-categories>a{position:relative;display:flex;flex-direction:column;gap:6px;min-height:104px;padding:22px 20px 20px;border-left:1px solid #d6dddf;border-bottom:1px solid #d6dddf;color:#25353d;background:rgba(255,255,255,.55);transition:background .18s ease}.ws-home-categories>a:nth-child(3n){border-left:0}.ws-home-categories>a:after{content:"←";position:absolute;left:18px;bottom:18px;color:#f15a24}.ws-home-categories>a:hover{background:#fff}.ws-home-categories strong{font-size:17px}.ws-home-categories span{padding-left:24px;color:#6e797e;font-size:12px}
.ws-home-service-table{border-top:1px solid #aeb7ba}
.ws-home-service-table>a{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(0,1.5fr) auto;align-items:center;gap:28px;min-height:92px;padding:18px 8px;border-bottom:1px solid #d6dcdd;color:#28373f;transition:background .18s ease}.ws-home-service-table>a:hover{background:#f5f5f1}.ws-home-service-table strong{font-size:19px}.ws-home-service-table span{color:#6c777c;line-height:1.85}.ws-home-service-table em{font-style:normal;font-size:12px;font-weight:850;border-bottom:1px solid #a1abad;padding-bottom:3px}.ws-home-service-table em:after{content:" ←";color:#f15a24}
.ws-home-final{padding-top:18px!important}

@media(max-width:991px){
  .ws-home .ws-home-hero{padding:56px 0 48px}.ws-home-hero__layout{grid-template-columns:1fr;gap:34px}.ws-home-start{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.ws-home-start__head{grid-column:1/-1}.ws-home-start>a{border-bottom:0;border-left:1px solid #d8ddde}.ws-home-start>a:last-child{border-left:0}
  .ws-home-lanes{grid-template-columns:1fr}.ws-home-lane{border-left:0;border-bottom:1px solid #dce1e2}.ws-home-lane:last-child{border-bottom:0}
  .ws-home-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.ws-home-categories>a:nth-child(3n){border-left:1px solid #d6dddf}.ws-home-categories>a:nth-child(2n){border-left:0}
  .ws-home-service-table>a{grid-template-columns:minmax(150px,.7fr) minmax(0,1.4fr) auto;gap:18px}
}
@media(max-width:700px){
  .ws-home .ws-home-hero{padding:40px 0 34px;background-size:30px 30px}.ws-home-hero__content{padding-right:18px}.ws-home-hero h1{font-size:34px}.ws-home-hero__content>p{font-size:14px}.ws-home-hero__actions{display:grid;grid-template-columns:1fr;width:100%}
  .ws-home-start{display:block}.ws-home-start__head{display:block}.ws-home-start__head span{display:block;margin-bottom:4px}.ws-home-start>a{border-left:0;border-bottom:1px solid #d8ddde}.ws-home-start>a:last-child{border-bottom:0}
  .ws-home-lane{padding:23px 20px}.ws-home-lane h3{font-size:20px}
  .ws-home-categories{grid-template-columns:1fr}.ws-home-categories>a,.ws-home-categories>a:nth-child(2n),.ws-home-categories>a:nth-child(3n){border-left:0}
  .ws-home-service-table>a{grid-template-columns:1fr;gap:7px;padding:18px 2px}.ws-home-service-table em{justify-self:start;margin-top:5px}
  .ws-project-single__layout--no-media{display:block}.ws-site :where(.ws-btn,.ws-text-link,.ws-site-chip,summary){min-height:46px}
}
@media(max-width:640px){.ws-site__container{width:min(1180px,calc(100% - 28px))}.ws-not-found__box{margin:20px auto 45px}.ws-not-found__title{font-size:29px}}
@media(max-width:420px){.ws-product-card__actions{grid-template-columns:1fr}.ws-site-pagination .page-numbers{min-width:42px;height:42px}}
@media(hover:none){.ws-product-card:hover,.ws-project-card:hover{transform:none}.ws-home-start>a:hover,.ws-home-categories>a:hover,.ws-home-service-table>a:hover{background:inherit}}
@media(prefers-reduced-motion:reduce){.ws-site *,.ws-site *:before,.ws-site *:after,.ws-skip-link{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
