/* All Stiles 1.1.1 owner-requested changes (Oct 2026). Loaded last on every page. */

/* Tile front page finder: real filters instead of the static mockup rows. */
.as-finder .as-finder-row{width:100%;background:none;border-width:0 0 1px;border-style:solid;text-align:left;-webkit-appearance:none;appearance:none}
.tile-home-main .as-finder .as-finder-row{color:#f5f2ec}
.as-finder .as-finder-row.has-selection{font-weight:600}
.as-finder .as-finder-row:focus-visible{outline:1px solid currentColor;outline-offset:4px}
.as-finder-opts{display:flex;flex-wrap:wrap;gap:8px;padding:16px 0 20px;font:400 13px 'DM Sans',sans-serif;color:#d8e1df}
.as-finder-chip{font:500 12px/1 'DM Sans',sans-serif;letter-spacing:.04em;padding:10px 14px;border:1px solid rgba(232,225,214,.38);background:transparent;color:#f5f2ec;cursor:pointer;border-radius:0}
.as-finder-chip:hover{border-color:#f5f2ec}
.as-finder-chip[aria-pressed=true]{background:#f5f2ec;color:#111c20;border-color:#f5f2ec}

/* Stone front page: two options (Porcelain removed), centered. */
.sv-nav.sv-nav-two{grid-template-columns:1fr 1px 1fr}
.sv-nav-two .sv-c{display:flex;align-items:center;justify-content:center;gap:22px;text-align:center}
.sv-nav-two .sv-go{position:relative;right:auto;top:auto;flex:none}
.sv-nav-two .sv-c:hover .sv-name{transform:none}
@media(max-width:800px){.sv-nav.sv-nav-two{grid-template-columns:1fr}.sv-nav-two .sv-c{justify-content:space-between}}
.tile-home-main .as-finder .as-finder-row span{color:#acc7cd}

/* Home "See it in person": owner photo (Oct 2026) full facade from sign to showroom doors. */
.closing-showroom>img.as-ext-2026{object-position:50% 50%}

/* "See it in person" banner copied to the Tile and Stone front pages: matches the home page exactly. */
.as-sip{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:280px;padding:29px 19px;margin:0;overflow:hidden;background:#111c20;color:#f5f2ec;font:400 16px/24px 'DM Sans',sans-serif}
.as-sip>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;object-fit:cover;object-position:50% 50%;filter:brightness(.48) saturate(.82)}
.as-sip .as-sip-inner{position:relative}
.as-sip .as-sip-kicker{margin:0;font:400 10px/15px 'DM Sans',sans-serif;letter-spacing:3px;text-transform:uppercase;color:#f5f2ec}
.as-sip h2{margin:5px;font:400 clamp(43px,4.6vw,66px)/1 Italiana,serif;letter-spacing:normal;text-transform:none;color:#f5f2ec}
.as-sip p{margin:5px 0;font:400 16px/24px 'DM Sans',sans-serif;color:#f5f2ec}
.as-sip .as-sip-link{display:inline-flex;margin-top:6px;padding:0 0 5px;font:400 11px/16.5px 'DM Sans',sans-serif;letter-spacing:1.76px;text-transform:uppercase;color:#f5f2ec;border-bottom:1px solid #65afc7;text-decoration:none}
@media(max-width:600px){.as-sip{min-height:233px;padding:22px 16px}.as-sip h2{font-size:40px}.as-sip p{font-size:12px;line-height:1.35}}

/* Stone front page: transparent header over the video (like Tile), dark once scrolled. */
body.as-overlay-header .site-header{position:fixed!important;top:0!important;left:0;right:0;z-index:100!important;background:transparent!important;transition:background .25s}
body.as-overlay-header.as-banner-scrolled .site-header{background:#111c20!important}
body.admin-bar.as-overlay-header .site-header{top:32px!important}
@media(max-width:782px){body.admin-bar.as-overlay-header .site-header{top:46px!important}}

/* Catalog search + filter row, owner brief allstiles-catalog-header-brief-4bfd8484 (Oct 2026), applied verbatim. */
/* Option A - Refined Chips: restyles ONLY the search field + filter row of the catalogs */
/* Desktop only - phone keeps the existing Filter button + drawer exactly as live */
@media(min-width:801px){
  .filterbar .fb-search{position:relative}
  .filterbar .fb-search:before{content:'';position:absolute;left:18px;top:50%;width:15px;height:15px;transform:translateY(-50%);background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237d8a91' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M16.5 16.5L21 21'/%3E%3C/svg%3E");pointer-events:none}
  .filterbar .fb-search input{width:100%!important;max-width:420px;height:46px;border:1px solid rgba(39,75,93,.22)!important;border-radius:999px;background:transparent!important;padding:0 20px 0 44px!important;font:400 12.5px 'DM Sans',sans-serif!important;color:#274b5d;outline:none}
  .filterbar .fb-search input:focus{border-color:#274b5d!important}
  .filter-text-ribbon{gap:10px!important;align-items:center}
  .filter-text-link{padding:10px 18px!important;border:1px solid rgba(39,75,93,.28)!important;border-radius:999px!important;font:500 10px/1 'DM Sans',sans-serif!important;letter-spacing:.13em!important;color:#274b5d!important;background:transparent;transition:background .2s,color .2s,border-color .2s}
  .filter-text-link:hover{border-color:#274b5d!important}
  .filter-text-link.has-selection,.filter-text-link[aria-expanded=true]{background:#274b5d!important;border-color:#274b5d!important;color:#f5f2ec!important}
  .filter-text-link:disabled{opacity:.45}
  .filter-text-menu{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important;grid-auto-flow:row;grid-template-rows:none;grid-auto-columns:auto;gap:8px;width:100%;border:0;border-top:1px solid #cfc7ba;border-bottom:1px solid #cfc7ba;background:transparent;padding:18px 0!important;margin-top:14px;box-shadow:none;overflow-x:visible}
  .filter-text-option{border:1px solid rgba(39,75,93,.28)!important;border-radius:999px;background:transparent;padding:11px 16px!important;font:500 10.5px/1 'DM Sans',sans-serif!important;letter-spacing:.12em;text-transform:uppercase;color:#274b5d;text-align:center;white-space:normal;transition:background .2s,color .2s,border-color .2s}.filter-text-option:hover{border-color:#274b5d!important}.filter-text-option[aria-pressed=true]{background:#274b5d!important;border-color:#274b5d!important;color:#f5f2ec!important}
}

/* Contact page: form first, showroom and phone boxes below it (owner request). */
.as-cf-section{padding-bottom:64px}
.as-contact-cards-section{padding-bottom:96px}

/* Contact page: heading block merged into the form intro (owner request). */
.as-cf-section{padding-top:56px}
.as-cf-section .as-cf-grid{border-top:0;padding-top:0}
.as-cf-intro .crumbs{margin-bottom:28px}
.as-cf-intro h1{font:400 clamp(40px,4.2vw,60px)/1.02 Italiana,serif;color:var(--ink-deep);margin:14px 0 18px;letter-spacing:normal}
@media(max-width:820px){.as-cf-section{padding-top:36px}}

/* Contact page: showroom + phone moved into the left column so every contact option is visible without scrolling. */
.as-cf-direct{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:40px;padding-top:32px;border-top:1px solid var(--line);max-width:520px}
.as-cf-direct h3{font:600 11px/1.4 'DM Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-deep);margin:0 0 10px}
.as-cf-direct p{margin:0 0 8px;font-size:15px;line-height:1.55;color:var(--ink-deep)}
.as-cf-direct p a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.as-cf-direct .btn{display:inline-block;margin-top:8px}
.as-cf-section{padding-bottom:72px}
.as-cf-form textarea{min-height:120px!important;height:150px}
@media(max-width:600px){.as-cf-direct{grid-template-columns:1fr;gap:22px}}

/* ===== 1.2 owner requests (Oct 21, 2026) ===== */
/* Home hero: desktop heading further left (selections stay centred, owner Oct 21).
   The Oct 21 stone-wall photo (assets/media/home-hero-stone-wall-2026.jpg) was reverted to the original hero image on Oct 22 (owner). */
@media(min-width:901px){
  .stage .hero{left:3.5vw!important}
}

/* Item pages: the main image always shows the whole picture. */
.tile-item-hero{background:#ebe6dd}
#tileHero,#stoneItemImage{object-fit:contain!important;object-position:center!important}
.stone-item-media{background:#ebe6dd}

/* Item pages: no size caveat line; no extra line under the last row of details. */
.availability-note{display:none!important}
main.tile-item-page tbody tr:last-child,main.tile-item-page tbody tr:last-child>*{border-bottom:0!important}

/* Contact: showroom and phone as two clearly separate boxes. */
.as-cf-direct{gap:16px;border-top:0;padding-top:0;max-width:560px}
.as-cf-direct-item{border:1px solid var(--line);padding:22px 22px 20px;background:rgba(255,255,255,.35)}

/* Tile catalog: "New" flag on new collections and their items. */
.c4-img{position:relative}
.as-new-flag{position:absolute;top:12px;left:12px;z-index:2;padding:6px 11px 5px;border-radius:999px;background:#1d3d4c;color:#f5f2ec;border:1px solid rgba(146,198,216,.55);font:600 9.5px/1 'DM Sans',sans-serif;letter-spacing:.2em;text-transform:uppercase;pointer-events:none}

/* Tile catalog filter row: only Color, Finish, Size, Material, Applications, Features (owner Oct 21). */
.tile-catalog-page .filter-text-link:disabled{display:none!important}

/* Natural Stone catalog: square cut from the centre of each slab (full slab stays on the item page). */
.ns-card .ph{overflow:hidden}
.ns-card .ph img{transform:scale(2.4);transform-origin:50% 68%}
/* Daily yard-sync photos are already cut to a centre square on import. */
.ns-card .ph img[src*="/natural/yard/"]{transform:none}

/* Stone item page: whole slab visible on screen (tall slab photos no longer run below the fold). */
@media(min-width:801px){
  .stone-item-media{height:auto!important;min-height:0!important;max-height:none!important;display:flex!important;align-items:center;justify-content:center;background:#ebe6dd!important}
  #stoneItemImage{width:auto!important;max-width:100%!important;height:auto!important;max-height:min(74vh,720px)!important;margin:0 auto}
}
/* Tile item: no extra rule above "Available finishes"; size table is plain size + availability, two even columns. */
.tile-item-page .availability-display{border-top:0;margin-top:8px}
/* Tile item: finish is already shown by the chip above, so no second label; line under the size table. */
.availability-display .chosen-finish{display:none}
main.tile-item-page .availability-display tbody tr:last-child>td{border-bottom:1px solid #1d3d4c!important}
/* Tile item: size rows are selectable (the choice goes into "Save to a project"); Size | Thickness | Availability. */
.availability-display table{table-layout:fixed}
.availability-display th,.availability-display td{width:33.333%;text-align:left}
.availability-display .size-row{cursor:pointer;transition:background .15s}
.availability-display .size-row:hover td{background:rgba(29,61,76,.05)}
.availability-display .size-row:focus-visible{outline:2px solid #1d3d4c;outline-offset:-2px}
.availability-display .size-radio{display:inline-block;width:12px;height:12px;margin:0 10px -1px 0;border:1px solid #1d3d4c;border-radius:50%;box-sizing:border-box}
.availability-display .size-row.is-selected td{font-weight:600}
.availability-display .size-row.is-selected .size-radio{background:#1d3d4c;box-shadow:inset 0 0 0 2px #f5f2ec}
/* One button shape across the site (owner review Oct 21): every action button and choice chip is a pill,
   matching the tile item pages. Underlined page tabs and list rows are not buttons and keep their style. */
.btn,.as-ui-submit,.as-cf-form .wpcf7-submit,.as-finder-chip,.vz-chip,.finish-chip,.asa-chip span,.asa-size-btn{border-radius:999px!important}
.item-actions .btn{border-radius:999px!important}
/* Tile collection pages: big photo at the size the team chose (Oct 22, matched to their reference: about 628 x 360 px),
   always shown whole (owner: never crop images). Items rail, thumbnails and the right column keep their places. */
.tile-item-page.is-collection .tile-item-grid .tile-item-hero #tileHero{width:100%!important;height:100%!important;object-fit:contain!important}
@media(min-width:1024px){
  .tile-item-page.is-collection .tile-item-grid{grid-template-columns:96px 628px minmax(300px,1fr)!important}
  .tile-item-page.is-collection .collection-image-stack{width:628px;max-width:628px}
  .tile-item-page.is-collection .tile-item-grid .tile-item-hero{width:628px!important;height:360px!important;min-height:0!important;max-height:360px!important;aspect-ratio:auto!important}
  .tile-item-page.is-collection .tile-item-copy{max-width:640px}
}
/* Never crop photos (owner, Oct 22): "See every view" shows each photo whole. */
.tile-gallery img{object-fit:contain!important;background:transparent}
.tile-gallery figure{background:transparent!important}
/* Collection pages v2 (owner, Oct 22): room scenes in the left column, items as a grid under the 628 x 360 photo,
   details back to their earlier width with a clear gap from the photos. Scrollbars use the page colour. */
.tile-mobile-scenes,.as-scene-column .tile-mobile-scenes{scrollbar-color:#b9b1a4 #f5f2ec;scrollbar-width:thin}
.tile-mobile-scenes::-webkit-scrollbar{width:6px;height:6px;background:#f5f2ec}
.tile-mobile-scenes::-webkit-scrollbar-thumb{background:#b9b1a4;border-radius:6px}
.tile-mobile-scenes::-webkit-scrollbar-track{background:#f5f2ec}
@media(min-width:1024px){
  .tile-item-page.as-collection-v2 .tile-item-grid{grid-template-columns:132px 628px 487px!important;column-gap:16px!important;justify-content:center}
  .tile-item-page.as-collection-v2 .tile-item-copy{margin-left:56px;max-width:431px}
  .tile-item-page.as-collection-v2 .as-scene-column{grid-area:items;align-self:start;min-width:0}
  .tile-item-page.as-collection-v2 .as-scene-column .eyebrow{font:500 10px 'DM Sans',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#1d3d4c;margin:0 0 10px}
  .tile-item-page.as-collection-v2 .as-scene-column .tile-mobile-scenes{display:flex!important;flex-direction:column!important;gap:10px!important;max-height:336px;overflow-y:auto!important;overflow-x:hidden!important;padding:0 4px 0 0!important;scroll-snap-type:none}
  .tile-item-page.as-collection-v2 .as-scene-column .tile-mobile-scene{flex:none!important;width:100%!important;height:84px!important;background:transparent!important;cursor:zoom-in}
  .tile-item-page.as-collection-v2 .as-scene-column .tile-mobile-scene img{object-fit:contain!important}
  .tile-item-page.as-collection-v2 .collection-image-stack .tile-family{grid-area:auto!important;max-height:none!important;height:auto!important;overflow:visible!important;padding:12px 0 0!important;margin:0!important;border-top:1px solid #cfc7ba}
  .tile-item-page.as-collection-v2 .tile-family .item-scroll-rail{display:none!important}
  /* Items: small square swatches that fill their box (owner: swatches may be cropped), names at their usual size, about 3 rows in view. */
  .tile-item-page.as-collection-v2 #tileFamilyLinks{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:12px 10px;max-height:none!important;height:auto!important;overflow:visible!important;width:100%!important}
  .tile-item-page.as-collection-v2 #tileFamilyLinks a{width:auto!important;height:auto!important}
  .tile-item-page.as-collection-v2 #tileFamilyLinks img{width:100%!important;height:auto!important;aspect-ratio:1;object-fit:cover!important}
  .tile-item-page.as-collection-v2 #tileFamilyLinks span{display:block;white-space:normal;margin-top:4px}
}
/* Pop-out image views everywhere (owner, Oct 22): pill buttons, space between the photo and the buttons, no stray scrollbar. */
.as-image-links{gap:10px!important;padding-top:18px!important;flex-wrap:wrap;overflow:hidden!important;row-gap:10px}
.as-image-link{border-radius:999px!important;padding:10px 20px!important}
.as-image-dialog{overflow:hidden!important}
/* Larger pop-outs (owner, Oct 22): photos use nearly the whole screen (never stretched past their real size). */
.tile-full-view>img{width:calc(100% - 112px)!important;height:calc(100% - 72px)!important}
/* Collection big photo: exact 628 x 360 box so tall photos are scaled down whole instead of overflowing and being cut off. */
/* Owner (Oct 22): frame stays 628 x 360 and the photo fills it completely (owner's call: a small trim at the edges is OK here;
   the page picks the landscape scene closest to this shape, so the trim stays small). */
@media(min-width:1024px){.tile-item-page.is-collection .tile-item-grid .tile-item-hero{height:360px!important;max-height:360px!important}.tile-item-page.is-collection .tile-item-grid .tile-item-hero #tileHero{width:628px!important;height:360px!important;max-height:360px!important;object-fit:cover!important;object-position:center!important}}
/* Collection pages (desktop): share button lined up with the right edge of the details/table, centred on the collection name. */
@media(min-width:1024px){.tile-item-page.as-collection-v2 .tile-item-copy{position:relative}.tile-item-page.as-collection-v2 .side-share.as-share-inline{position:absolute!important;top:var(--as-share-top,40px)!important;right:-10px!important;left:auto!important}}
/* Smaller pop-out pills (owner, Oct 22) so the bar takes less room under the photo. */
.as-image-links{padding:12px clamp(16px,2.4vw,30px) 12px!important;gap:8px!important;row-gap:8px!important}
.as-image-link{min-height:30px!important;padding:6px 14px!important;font-size:9px!important}
/* Item/collection/stone pages (owner, Oct 22): Save, Visualize and Ask are the same size pill — height between the earlier two,
   each label on one line. */
.item-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.item-actions .btn{height:52px!important;min-height:52px!important;max-height:52px!important;padding:0 10px!important;margin:0!important;white-space:nowrap!important;font-size:10px!important;letter-spacing:.07em!important;min-width:0!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px;box-sizing:border-box}
@media(max-width:420px){.item-actions{grid-template-columns:1fr!important}}
@media(min-width:801px) and (max-width:1279px){.item-actions{grid-template-columns:1fr!important}}
/* Tile item pages v2 (owner, Oct 22, desktop): same grid as the collection pages — left 776 px (photo + other colours),
   details 431 px in the same place, share lined up with the details edge. */
@media(min-width:1024px){
  .tile-item-page.as-item-v2 .tile-item-grid{grid-template-columns:776px 487px!important;column-gap:16px!important;justify-content:center!important;grid-template-areas:"hero copy"!important;max-width:none!important}
  .tile-item-page.as-item-v2 .tile-detail-left{width:776px!important;max-width:776px!important}
  .tile-item-page.as-item-v2 .tile-detail-left .tile-item-hero{width:776px!important;max-width:776px!important;height:auto!important;max-height:none!important;min-height:0!important;background:transparent!important;aspect-ratio:auto!important}
  .tile-item-page.as-item-v2 .tile-detail-left #tileHero{width:100%!important;height:auto!important;max-height:420px!important;object-fit:contain!important;object-position:left top!important}
  .tile-item-page.as-item-v2 .tile-item-copy{margin-left:56px!important;max-width:431px!important;position:relative}
  .tile-item-page.as-item-v2 #sideShare.as-share-inline{position:absolute!important;top:var(--as-share-top,40px)!important;right:-10px!important;left:auto!important}
  .tile-item-page.as-item-v2 #tileFamily{width:776px!important;max-width:776px!important;margin-top:28px!important}
  .tile-item-page.as-item-v2 #tileFamilyLinks{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(132px,1fr))!important;gap:16px 12px!important;max-height:none!important;overflow:visible!important}
  .tile-item-page.as-item-v2 #tileFamilyLinks a{width:auto!important;height:auto!important}
  .tile-item-page.as-item-v2 #tileFamilyLinks img{width:100%!important;height:auto!important;aspect-ratio:1;object-fit:cover!important}
  .tile-item-page.as-item-v2 #tileFamilyLinks span{font-size:15px!important;line-height:1.25!important;margin-top:6px;display:block}
  .tile-item-page.as-item-v2 .tile-gallery-wrap{max-width:1279px;margin-left:auto!important;margin-right:auto!important}
}
/* "See every view" film strip (owner, Oct 22): compact, whole photos, scrolls sideways; hover shows a View pill; click opens the pop-out. */
.as-views{margin-top:64px!important;padding-top:26px!important;border-top:1px solid #cfc7ba}
.as-views-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}
.as-views .eyebrow{font:500 10px 'DM Sans',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#1d3d4c;margin:0 0 8px}
.as-views h2{font:400 clamp(30px,2.6vw,40px)/1 Italiana,serif!important;color:#1d3d4c;margin:0!important}
.as-views-nav{display:flex;gap:8px}
.as-views-nav.is-hidden{visibility:hidden}
.as-views-nav button{width:44px;height:44px;border-radius:50%;border:1px solid #1d3d4c;background:transparent;color:#1d3d4c;font:400 18px/1 'DM Sans',sans-serif;cursor:pointer;transition:background .2s,color .2s}
.as-views-nav button:hover:not(:disabled){background:#1d3d4c;color:#f5f2ec}
.as-views-nav button:disabled{opacity:.3;cursor:default}
#tileGallery.as-strip{display:flex!important;grid-template-columns:none!important;gap:14px!important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding:0 0 12px!important;scrollbar-color:#b9b1a4 #f5f2ec;scrollbar-width:thin}
#tileGallery.as-strip::-webkit-scrollbar{height:6px;background:#f5f2ec}
#tileGallery.as-strip::-webkit-scrollbar-thumb{background:#b9b1a4;border-radius:6px}
#tileGallery.as-strip figure{flex:0 0 auto;position:relative;height:240px!important;min-height:0!important;margin:0!important;overflow:hidden;background:transparent!important;scroll-snap-align:start;cursor:zoom-in;display:block!important}
#tileGallery.as-strip img{height:240px!important;max-height:240px!important;width:auto!important;max-width:none!important;object-fit:contain!important;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
#tileGallery.as-strip figure:hover img{transform:scale(1.035)}
#tileGallery.as-strip figure::after{content:'View';position:absolute;left:12px;bottom:12px;padding:7px 14px;border-radius:999px;background:rgba(245,242,236,.94);color:#1d3d4c;font:500 10px/1 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s;pointer-events:none}
#tileGallery.as-strip figure:hover::after{opacity:1;transform:none}
@media(max-width:700px){#tileGallery.as-strip figure,#tileGallery.as-strip img{height:180px!important;max-height:180px!important}}
/* Item pages: the photo row under the item photo uses the same beige scrollbar as the other pages, and the collection
   section sits closer to it so its name and swatches come into view (owner, Oct 22). */
.tile-mobile-item-scenes{scrollbar-color:#b9b1a4 #f5f2ec;scrollbar-width:thin}
.tile-mobile-item-scenes::-webkit-scrollbar{width:6px;height:6px;background:#f5f2ec}
.tile-mobile-item-scenes::-webkit-scrollbar-thumb{background:#b9b1a4;border-radius:6px}
.tile-mobile-item-scenes::-webkit-scrollbar-track{background:#f5f2ec}
@media(min-width:1024px){.tile-item-page.as-item-v2 #tileFamily{margin-top:0!important}.tile-item-page.as-item-v2 .tile-mobile-item-scenes{margin-bottom:0!important}}
@media(min-width:1024px){
  .tile-item-page.as-item-v2 .tile-detail-left{gap:14px!important}
  .tile-item-page.as-item-v2 .tile-mobile-item-scene{height:96px!important;width:144px!important;flex-basis:144px!important}
  .tile-item-page.as-item-v2 #tileFamilyName{margin:4px 0 8px!important}
  .tile-item-page.as-item-v2 #tileFamilyLinks{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))!important}
}
.as-views h2{border-bottom:0!important;padding-bottom:0!important}
/* Collection pages: item swatches and names match the item pages (owner, Oct 22): 119 px squares, 15 px names. */
@media(min-width:1024px){
  .tile-item-page.as-collection-v2 .collection-image-stack .tile-family{width:628px!important;align-self:stretch}
  .tile-item-page.as-collection-v2 #tileFamilyLinks{width:100%!important;grid-template-columns:repeat(auto-fill,119px)!important;gap:16px 8px!important;justify-content:space-between}
  .tile-item-page.as-collection-v2 #tileFamilyLinks span{font-size:15px!important;line-height:1.25!important;margin-top:6px}
}
/* Pop-outs (owner, Oct 22): "Explore this scene" and its pills sit over the bottom of the photo on a soft fade, so the photo uses the full pop-out. */
.as-image-dialog{position:relative}
.as-image-links.has-links{position:absolute!important;left:0;right:0;bottom:0;max-width:none!important;background:none!important;padding:0 clamp(14px,2vw,24px) clamp(14px,2vw,22px)!important;z-index:2;pointer-events:none}
.as-image-links.has-links>*{pointer-events:auto}
.as-image-links .as-image-link{background:rgba(13,24,28,.72);border-color:rgba(255,255,255,.75)!important;backdrop-filter:blur(6px)}
.as-image-links .as-image-links-label{padding:8px 12px;border-radius:999px;background:rgba(13,24,28,.72);backdrop-filter:blur(6px)}
.as-image-links .as-image-link:hover{background:#fff;color:#15343e}
/* "See every view": arrows removed (owner, Oct 22) — the strip moves on its own and has its scrollbar. */
.as-views-nav{display:none!important}

/* Pop-out photo box always has the photo's exact shape (no dark side or bottom bands); size comes from app.js. */
.as-image-viewer .as-image-stage img,.as-image-viewer .as-image-dialog img{max-width:none!important;max-height:none!important;object-fit:fill!important}
.as-image-viewer .as-image-dialog,.as-image-viewer .as-image-stage{width:auto!important;height:auto!important;background:transparent!important}
.as-image-viewer .as-image-dialog{max-width:none!important;max-height:none!important}
/* Pop-outs: only the two link pills (owner, Oct 22) — the "Explore this scene" label is not a link, so it is hidden. */
.as-image-links .as-image-links-label{display:none!important}
/* Stone and slab pages: share beside the name at the details edge (same as tile pages). */
@media(min-width:1024px){.stone-item-copy{position:relative}.stone-item-copy #sideShare.as-share-inline{position:absolute!important;top:var(--as-share-top,40px)!important;right:-10px!important;left:auto!important}}
/* Collection pages: the phone-only item heading/scene row are hidden on desktop so they add no grid gaps
   (details column now sits exactly where it does on item pages). */
@media(min-width:1024px){.tile-item-page.as-collection-v2 #tileMobileItemScenes,.tile-item-page.as-collection-v2 #tileMobileItemHeading{display:none!important}}
/* Footer: Instagram link with icon (owner, Oct 22). */
.as-footer .as-footer-social{display:inline-flex!important;align-items:center;gap:8px}
.as-footer .as-footer-social svg{flex:none}
/* Natural Stone catalog: cards use the normal hand pointer, not a magnifier (owner, Oct 22). */
.ns-card,.ns-card *{cursor:pointer!important}
/* Stone and slab pages v2 (owner, Oct 22, desktop): same grid as the tile item pages — left 776 px (slab photo shown lengthwise,
   filling its frame with nothing cut off; thumbnail row under it), details 431 px in the same position, share beside the name. */
@media(min-width:1024px){
  .stone-item.as-stone-v2 .stone-item-grid{grid-template-columns:776px 487px!important;column-gap:16px!important;justify-content:center!important;max-width:none!important;grid-template-areas:"hero copy"!important;align-items:start!important}
  .stone-item.as-stone-v2 .stone-item-visual{grid-area:hero!important;width:776px!important;max-width:776px!important;display:flex;flex-direction:column;gap:14px}
  .stone-item.as-stone-v2 .stone-item-media{width:776px!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;background:transparent!important;padding:0!important}
  .stone-item.as-stone-v2 #stoneItemImage{width:776px!important;height:auto!important;max-width:776px!important;max-height:none!important;object-fit:contain!important;display:block}
  .stone-item.as-stone-v2 .stone-item-copy{grid-area:copy!important;margin:0 0 0 56px!important;padding-top:0!important;width:431px!important;max-width:431px!important}
  .stone-item.as-stone-v2 .stone-mobile-scenes{display:flex!important;gap:10px!important;overflow-x:auto;overflow-y:hidden;padding:0 0 8px!important;scrollbar-color:#b9b1a4 #f5f2ec;scrollbar-width:thin}
  .stone-item.as-stone-v2 .stone-mobile-scenes::-webkit-scrollbar{height:6px;background:#f5f2ec}
  .stone-item.as-stone-v2 .stone-mobile-scenes::-webkit-scrollbar-thumb{background:#b9b1a4;border-radius:6px}
  .stone-item.as-stone-v2 .stone-mobile-scene{flex:0 0 144px!important;width:144px!important;height:96px!important;background:transparent!important;cursor:zoom-in}
}
/* Footer: showroom hours under the address (owner, Oct 22). */
.as-footer .as-footer-hours{display:grid;grid-template-columns:auto auto;gap:4px 16px;margin-top:14px;font-size:13px;line-height:1.5;opacity:.85;justify-content:start}
.as-footer .as-footer-hours span:nth-child(odd){opacity:.75}
@media(min-width:1024px){.stone-item.as-stone-v2 .stone-item-copy{top:0!important}}

/* Catalog "Sort by" pill beside the search (Oct 22) */
.filterbar .fb-search{display:flex;align-items:center;flex-wrap:wrap;gap:12px 14px}
.filterbar .fb-search input{flex:1 1 240px}
.as-sort{display:inline-flex;align-items:center;gap:10px;margin:0;font:400 12.5px 'DM Sans',sans-serif;color:#1d3d4c;white-space:nowrap}
.as-sort span{font:600 10.5px 'DM Sans',sans-serif;letter-spacing:1.3px;text-transform:uppercase;color:#667b85}
.as-sort select{appearance:none;-webkit-appearance:none;height:46px;border:1px solid rgba(39,75,93,.22);border-radius:999px;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23274b5d' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 18px center/11px 8px;padding:0 42px 0 20px;font:400 12.5px 'DM Sans',sans-serif;color:#1d3d4c;cursor:pointer;outline:none}
.as-sort select:focus{border-color:#274b5d}
.as-sort-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;margin:0 0 28px}
.as-sort-row .ns-count{margin:0}
@media(max-width:600px){.filterbar .fb-search input{flex-basis:100%}.as-sort select{height:42px}}

/* Footer (owner, Oct 22): less space above, hours in the same type as the address, Instagram icon under the bottom line */
.as-footer{padding-top:34px!important}
.as-footer .as-footer-hours{display:grid;grid-template-columns:max-content max-content;gap:0 18px;margin-top:6px;font:400 13px/1.65 'DM Sans',sans-serif;color:#d6dcdd;opacity:1}
.as-footer .as-footer-hours span,.as-footer .as-footer-hours span:nth-child(odd){opacity:1;color:inherit}
.as-footer .as-footer-end{display:flex;flex-direction:row;align-items:center;gap:14px}
.as-footer .as-footer-end .as-footer-social{display:inline-flex!important;margin:0;color:inherit!important;opacity:1;line-height:0;transition:color .2s}.as-footer .as-footer-end .as-footer-social svg{width:15px;height:15px}
.as-footer .as-footer-end .as-footer-social:hover{color:#f5f2ec!important}
@media(max-width:700px){.as-footer .as-footer-end{justify-content:flex-start}.as-footer .as-footer-hours{font-size:12px}}
/* Stone & slab pages (owner, Oct 22): big photo the same size as on tile item pages (776 px wide, at most 420 px tall, whole photo, left-aligned) */
.stone-item.as-stone-v2 #stoneItemImage{width:auto!important;max-width:776px!important;height:auto!important;max-height:420px!important;object-fit:contain!important;object-position:left top!important}
.stone-item.as-stone-v2 #stoneItemImage{margin:0!important}
/* Stone & slab pages laid out exactly like tile item pages (owner, Oct 22): same top spacing, photo at the left of the
   776 px column, thumbnail row straight under it, name level with the top of the photo (stone type is in the specs) */
.stone-item.as-stone-v2{padding-top:18px!important}
.stone-item.as-stone-v2 .stone-item-back{margin:0 0 8px!important;line-height:24px!important}
.stone-item.as-stone-v2 .stone-item-media{display:block!important;text-align:left!important;justify-items:start!important;place-items:start!important}
.stone-item.as-stone-v2 .stone-mobile-scenes{margin-top:0!important}
.stone-item.as-stone-v2 .stone-item-copy #stoneItemType{display:none!important}
.stone-item.as-stone-v2 #stoneItemName{margin-top:-8px!important}

/* Copywriting review (Oct 2026) */
/* Footer: the logo line is now a short company bio, set as body text (like the reference site's footer) */
.as-footer .as-footer-brand p{max-width:310px;font:400 13px/1.65 'DM Sans',sans-serif;color:#d6dcdd;letter-spacing:0}
/* Inspiration: eyebrow + a sentence headline (smaller than the old one-word title) */
.inspiration-head .as-insp-eyebrow{margin:0 0 12px}
.inspiration-head h1{font-size:clamp(40px,4.6vw,72px);line-height:1.02}
/* Contact: phone and email on their own lines */
.as-cf-direct-item .as-cf-lines a{display:inline-block}
/* About: three facts with small icons beside "Built on experience." */
.manifesto .as-about-facts{list-style:none;margin:0;padding:0;display:grid;gap:18px;align-content:center}
.manifesto .as-about-facts li{display:flex;align-items:center;gap:14px;font:400 17px/1.4 'DM Sans',sans-serif;color:#c1cbcd}
.manifesto .as-about-facts svg{flex:none;width:30px;height:30px;padding:8px;box-sizing:content-box;border:1px solid rgba(101,175,199,.45);border-radius:50%;color:#8fc9db}
@media (max-width:820px){.manifesto .as-about-facts li{font-size:14px}.manifesto .as-about-facts svg{width:22px;height:22px;padding:6px}}
/* About: "Choose with confidence." a size smaller than "See it. Feel it." */
.visit h2 .as-visit-small{font-size:.62em}
/* Tile front "Know what you need? / Narrow it down.": the label was dark on the dark band (invisible); styled like
   "Need inspiration? / Choose the mood." (same small spaced label, same heading size and gap), in light colours */
.finder .finder-grid .eyebrow{color:#f5f2ec}
@media (min-width:901px){.finder .finder-grid h2{font-size:clamp(45px,4.5vw,64px)!important;margin-top:12px}}
/* Pop-out viewer: previous / next arrows at the screen edges (only when the page has more than one photo to show) */
.as-image-viewer .as-image-nav{display:none;position:fixed;top:50%;z-index:5;width:52px;height:52px;margin-top:-26px;padding:0;border:0;border-radius:50%;background:rgba(17,28,32,.72);color:#f5f2ec;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.35);transition:background .2s,transform .2s}
.as-image-viewer.has-nav .as-image-nav{display:flex;align-items:center;justify-content:center}
.as-image-viewer .as-image-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.as-image-viewer .as-image-nav:hover,.as-image-viewer .as-image-nav:focus-visible{background:#1d3d4c;outline:none;transform:scale(1.06)}
.as-image-viewer .as-image-prev{left:clamp(10px,2vw,28px)}
.as-image-viewer .as-image-next{right:clamp(10px,2vw,28px)}
@media (max-width:600px){.as-image-viewer .as-image-nav{width:42px;height:42px;margin-top:-21px;top:auto;bottom:18px}}
/* Tile front hero: the poster image sits in a <picture> (portrait still on phones); keep the old image layout */
.tile-cinematic-media picture{display:contents}
/* Stone front hero: no slow zoom on the video itself (resizing a full-HD video every frame made the first 16 s loop stutter); the still keeps it */
.sv-media video.sv-anim{animation:none!important;transform:none!important}
/* Catalog pages (desktop, owner Oct 26): the search, Sort by and the filter buttons on one line with a "Filter" label. */
@media (min-width:1024px){
.filterbar{flex-wrap:nowrap!important;align-items:center!important;gap:12px 22px!important;padding:12px 0!important;margin-bottom:24px!important}
.filterbar .fb-search{flex:0 1 auto!important;width:auto!important;flex-wrap:nowrap!important}
.filterbar .fb-search input{flex:0 1 300px!important;width:300px!important}
.filterbar .filter-text-ribbon{flex:1 1 auto!important;width:auto!important;display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;align-items:center!important;gap:8px!important}
.filterbar .filter-text-ribbon:before{content:'Filter';margin-right:4px;font:600 10.5px 'DM Sans',sans-serif;letter-spacing:1.3px;text-transform:uppercase;color:#667b85}
}
/* Oct 27 (owner): the title and tab bar spacing of Oct 26 removed again (original space), so the first screen shows
   just the first row of cards with their names and swatches. */

/* Tiles whose maker lists no finish: no empty "Available finishes" heading. */
.availability-display .eyebrow:has(+ .finish-options:empty),.availability-display .finish-options:empty{display:none}

/* Oct 27 (owner): catalog swatches without the white of the vendors' product shots: white blends into the page colour,
   a hairline keeps white tiles visible. Remove these two lines to undo. */
.tile-catalog-grid .c4-swatches .sw-link{background:transparent!important;outline:1px solid rgba(29,61,76,.12);outline-offset:-1px}
.tile-catalog-grid .c4-swatches img{mix-blend-mode:multiply}
/* Oct 27 (owner): collection photo and name are real links (right-click "Open in new tab"), looking as before. */
.c4-card .c4-link{display:block;height:100%;color:inherit;text-decoration:none}
.c4-card .c4-name .c4-link{display:inline}
/* Right-click on a collection photo offers the collection page, not the photo file (the link takes the click). */
.c4-card .c4-link img{pointer-events:none}

/* Oct 27 (owner, phones only): Tile front page hero options as clean as the Stone page: name + arrow, no line or label. */
@media(max-width:700px){
.tile-cinematic-links p,.tile-cinematic-links small{display:none!important}
.tile-cinematic-links a,.tile-cinematic-links a:nth-child(2),.tile-cinematic-links a:not(:first-child){min-height:0!important;padding:12px 20px!important;align-items:center}
.tile-cinematic-links a>div{display:block!important}
.tile-cinematic-links span{font-size:min(26px,6.6vw)!important;line-height:1!important}
.tile-cinematic-links i,.tile-cinematic-links a:nth-child(2) i{width:32px!important;height:32px!important;font-size:14px!important}
}
/* Oct 27 (owner, phones only): mood cards thin, and the row moves on its own (script in as-updates-v1.2.js). */
@media(max-width:700px){
.tile-home-main .mood-rail-grid{scroll-snap-type:none}
.tile-home-main .mood-rail-grid .mood-rail-card{flex:0 0 40vw;height:300px;scroll-snap-align:none}
.tile-home-main .mood-rail-grid .mood-rail-card span{font-size:20px;left:12px;right:10px;bottom:14px}
}
/* Oct 27 (owner, phones only): Stone front page editorial block ends after the Explore links (photo hidden). */
@media(max-width:700px){.stone-editorial-visual{display:none!important}}
/* Oct 27 (owner, phones only): catalog tabs (All Collections / New Collections / All Items) sized to their words, equal space each side, short blue line between them. */
@media(max-width:700px){
.catalog-layout-tabs{display:flex!important;justify-content:center;align-items:stretch}
.catalog-layout-tab{flex:0 0 auto;min-width:0;min-height:56px!important;padding:0 min(14px,3.6vw)!important;font-size:min(10.5px,2.8vw)!important;letter-spacing:.07em!important;line-height:1.2!important;white-space:nowrap;border:0!important}
.catalog-layout-tab+.catalog-layout-tab:before{content:"";position:absolute;left:0;top:50%;width:1px;height:14px;margin-top:-7px;background:#15343e}
.catalog-layout-tab:after{left:min(14px,3.6vw)!important;right:min(14px,3.6vw)!important}
}
/* Oct 27 (owner, phones only): no "About <collection>" heading and sentence on collection/item pages (spec rows stay). */
@media(max-width:700px){#tileCollectionInfo{display:none!important}}
/* Oct 27 (owner, phones only): Tile Finder spacing and layout. Shelf starts at the first size (it was centred, which hid the smallest sizes off the left edge), no beige scrollbar, a soft fade on the right says "swipe"; even spacing between title, sizes and colours. */
@media(max-width:700px){
.tf-page{min-height:0!important}
.tf-page .tf-bands{justify-content:flex-start!important;padding:34px 0 48px!important}
.tf-page .tf-band-head{margin-bottom:18px!important}
.tf-page .tf-band-head h2{font-size:30px!important}
.tf-shelf-scroll{justify-content:flex-start!important;scrollbar-width:none!important;-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent)}
.tf-shelf-scroll::-webkit-scrollbar{display:none}
.tf-shelf{width:auto!important;padding:0 40px 6px 16px!important;gap:18px!important}
.tf-page .tf-band-head-2{margin-top:44px!important}
.tf-strips{gap:24px 8px!important}
.tf-strip-name{font-size:12px!important}
}
