
/* Sharp Floors Flooring Page: Oct 17, 2026; isolated to new flooring layouts. */
.sf-flooring-main { overflow: visible; }
.sf-flooring-hero {
  position: relative; display: flex; align-items: center; overflow: hidden;
  isolation: isolate; min-height: 555px; padding: 68px 0 72px;
  background: #242421; color: #fff;
}
.sf-flooring-hero .sf-hero-picture {position: absolute; inset: 0; z-index: -2; width: 100%;height:100%;}
.sf-flooring-hero .sf-hero-picture img {width:100%;height:100%;object-fit:cover;object-position:50% 64%;}
.sf-flooring-hero::before {content:""; position:absolute; inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(5,6,6,.85) 0%,rgba(5,6,6,.68) 33%,rgba(5,6,6,.18) 72%,rgba(5,6,6,.04) 100%);}
.sf-flooring-hero .sf-hero-copy {max-width: 650px;}
.sf-flooring-hero h1 {font: normal clamp(2.4rem,4.65vw,4.15rem)/1.07 Georgia,serif; letter-spacing:-.035em;margin:10px 0 14px;max-width:600px;text-shadow:0 2px 18px rgba(0,0,0,.30)}
.sf-flooring-hero .sf-lead {max-width:540px;line-height:1.52;margin:0 0 12px;font-size:1rem;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.40)}
.sf-flooring-hero .sf-areas {font-size:.83rem;font-weight:650;color:rgba(255,255,255,.94);line-height:1.65;max-width:555px;margin:12px 0 20px;text-shadow:0 1px 7px #000}
.sf-hero-actions {display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.sf-hero-actions .btn {min-height:44px;}
.sf-hero-actions .sf-hero-call {display:inline-flex;align-items:center;color:#fff;font-weight:750;font-size:.88rem;min-height:44px;padding:10px 12px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.55);border-radius:3px}
.sf-flooring-choice-section {background:#faf9f6;padding:64px 0 78px;}
.sf-flooring-choice-section h2 {font:normal clamp(2rem,4vw,3.35rem)/1.08 Georgia,serif;letter-spacing:-.025em;margin:0 0 27px;color:#1d1b18}
.sf-flooring-choice-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;}
.sf-flooring-choice {display:flex;flex-direction:column;background:#fff;overflow:hidden;border:1px solid #e5dfd5;min-width:0;color:#1b1915;box-shadow:0 6px 22px rgba(40,30,18,.06);transition:transform .15s,box-shadow .15s;}
.sf-flooring-choice:hover,.sf-flooring-choice:focus-visible {transform:translateY(-3px);box-shadow:0 14px 35px rgba(30,20,9,.15)}
.sf-flooring-choice:focus-visible{outline:3px solid #c9a24b;outline-offset:3px;}
.sf-flooring-choice img {display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#ebe7e0}
.sf-choice-body {position:relative;min-height:138px;padding:22px 65px 22px 22px;display:flex;flex-direction:column;justify-content:center}
.sf-choice-body h3 {font:normal clamp(1.5rem,2.15vw,1.95rem)/1.08 Georgia,serif;margin:0 0 8px;color:#191816;}
.sf-choice-body p {margin:0;color:#6b655e;font-size:.9rem;line-height:1.45;}
.sf-choice-arrow {position:absolute;right:20px;bottom:24px;border-radius:50%;background:#eac15a;color:#151515;font-size:1.55rem;font-family:Arial,sans-serif;line-height:1;width:42px;height:42px;display:grid;place-items:center;}
/* Category detail pages: no galleries until the owner supplies approved photos. */
.sf-no-gallery .flooring-hero {min-height:0;padding:75px 0 67px;background:#111314 !important;}
.sf-no-gallery .flooring-hero h1 {font-size:clamp(2.55rem,5vw,4.1rem);line-height:1.06;max-width:800px;}
.sf-no-gallery .flooring-hero p {max-width:760px;line-height:1.58}
.sf-no-gallery .sf-detail-panel {background:#f7f4ee;padding:70px 0;}
.sf-no-gallery .sf-detail-inner {max-width:820px}
.sf-no-gallery .sf-detail-panel h2 {font:normal clamp(2rem,3.6vw,3rem)/1.12 Georgia,serif;margin:.2em 0 .4em;}
.sf-no-gallery .sf-detail-panel p {max-width:740px;color:#625e56;line-height:1.65;}
.sf-no-gallery .sf-detail-links {display:flex;gap:16px;flex-wrap:wrap;margin-top:26px;}
.sf-no-gallery .sf-detail-links a:not(.btn) {align-self:center;color:#59451d;text-decoration:underline;text-underline-offset:4px;font-weight:700;}
@media(max-width:900px){.sf-flooring-choice-grid{grid-template-columns:1fr 1fr}.sf-flooring-hero{min-height:520px}}
@media(max-width:650px){
  .sf-flooring-hero{min-height:515px;padding:38px 0 125px;align-items:flex-start;}
  .sf-flooring-hero .sf-hero-picture img{object-position:53% 60%;}
  .sf-flooring-hero::before{background:linear-gradient(180deg,rgba(4,5,5,.83) 0%,rgba(4,5,5,.72) 33%,rgba(4,5,5,.19) 67%,rgba(4,5,5,.08) 100%);}
  .sf-flooring-hero .sf-hero-copy{max-width:100%}
  .sf-flooring-hero h1 {font-size:clamp(2.08rem,8.8vw,2.5rem);line-height:1.07;margin:7px 0 11px;letter-spacing:-.03em;max-width:370px;}
  .sf-flooring-hero .sf-lead {font-size:.92rem;line-height:1.48;max-width:370px;}
  .sf-flooring-hero .sf-areas {font-size:.75rem;line-height:1.45;margin:8px 0 14px;max-width:370px}
  .sf-hero-actions .btn {font-size:.79rem;padding:10px 14px;}
  .sf-hero-actions .sf-hero-call {font-size:.79rem;padding:9px;}
  .sf-flooring-choice-section{padding:44px 0 52px}
  .sf-flooring-choice-section h2{font-size:2.15rem;margin-bottom:20px}
  .sf-flooring-choice-grid {grid-template-columns:1fr;gap:16px}
  .sf-flooring-choice img{aspect-ratio:16/9}
  .sf-choice-body{min-height:106px;padding:16px 68px 16px 17px;}
  .sf-choice-body h3{font-size:1.56rem;margin-bottom:5px}
  .sf-choice-body p{font-size:.83rem;}
  .sf-choice-arrow{bottom:23px;right:18px;width:42px;height:42px;}
  .sf-no-gallery .flooring-hero{padding:54px 0 55px}
  .sf-no-gallery .flooring-hero h1{font-size:clamp(2.15rem,9vw,2.65rem)}
}
@media(max-width:380px){.sf-flooring-hero{padding-bottom:135px}.sf-flooring-hero h1{font-size:2.05rem}.sf-hero-actions{gap:6px}.sf-hero-actions .btn{padding:10px}.sf-hero-actions .sf-hero-call{padding:9px 7px}}
@media(prefers-reduced-motion:reduce){.sf-flooring-choice{transition:none}}
