/* Only the page opening belongs to WordPress. Product and checkout styles remain in app.css. */
.cr-clickcollect-page .cr-clickcollect-shell{background:#f5f7f8}
.cc-wordpress .cc-mobile-cart{display:none!important}
.cr-clickcollect-page .cr-clickcollect-heading{width:min(1600px,100%);margin:0 auto;padding:16px clamp(16px,3vw,48px) 12px;background:#f5f7f8}
.cr-clickcollect-page .cr-clickcollect-heading h1{margin:0;color:#102c46;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:clamp(25px,2.2vw,35px);letter-spacing:-.035em;line-height:1.2;font-weight:750}
.cr-clickcollect-page .cr-clickcollect-loading,.cr-clickcollect-page .cr-clickcollect-noscript{margin:0;padding:24px clamp(16px,3vw,48px)}
.cr-clickcollect-page #crawfords-clickcollect.cc-wp-snapshot{visibility:hidden}
/* Restore standalone heading defaults only where no catalogue component overrides them. */
:where(.cc-wordpress) h1{font-size:2em}
:where(.cc-wordpress) h2{font-size:1.5em}
:where(.cc-wordpress) h3{font-size:1.17em}
:where(.cc-wordpress) h4{font-size:1em}
:where(.cc-wordpress) h5{font-size:.83em}
:where(.cc-wordpress) h6{font-size:.67em}
/* The theme's focus rule must not square off the catalogue's existing controls. */
.cc-wordpress :is(a,button,summary):focus-visible{border-radius:0}
.cc-wordpress .cc-button:focus-visible{border-radius:8px}
.cc-wordpress .cc-icon-button:focus-visible,.cc-wordpress .cc-category:focus-visible{border-radius:7px}
.cc-wordpress .cc-product-summary:focus-visible{border-radius:4px}
.cc-wordpress .cc-thumbnail:focus-visible{border-radius:5px}
.cc-wordpress .cc-card-photo-arrow:focus-visible{border-radius:6px}
.cr-clickcollect-page .cr-clickcollect-price-note{width:min(1600px,100%);margin:0 auto;padding:14px clamp(16px,3vw,48px);background:#f5f7f8;color:#617083;font:12px/1.5 Inter,"Segoe UI",Arial,sans-serif}
@media(max-width:767px){.cr-clickcollect-page .cr-clickcollect-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}
/* The site header owns the cart; catalogue search keeps the full phone row. */
@media(max-width:767px){
 .cc-wordpress .cc-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 44px 66px;gap:8px;align-items:center}
 .cc-wordpress .cc-toolbar>.cc-search{grid-column:1/-1;grid-row:1;min-width:0;width:auto}
 .cc-wordpress .cc-toolbar>.cc-phone-search-toggle{grid-column:1/-1;grid-row:1;justify-self:start;min-height:44px}
 .cc-wordpress .cc-toolbar>.cc-mobile-category{grid-column:1;grid-row:2;width:100%;min-width:0;min-height:44px}
 .cc-wordpress .cc-toolbar>.cc-mobile-category-share{grid-column:2;grid-row:2;width:44px;min-width:0;min-height:44px}
 .cc-wordpress .cc-toolbar>.cc-toggle{grid-column:3;grid-row:2;justify-self:center;min-height:44px;margin:0}
}

/* Keep the page frame steady before mount and while the live catalogue arrives. */
.cr-clickcollect-page #crawfords-clickcollect{min-height:100vh;min-height:100svh}
.cc-wordpress .cc-sidebar .cc-categories{min-height:calc(100vh - 220px);min-height:calc(100svh - 220px)}
.cr-clickcollect-page:has(.cc-grid[aria-busy="true"]) .site-footer{visibility:hidden}
.cr-clickcollect-page .cc-loading,.cr-clickcollect-loading{position:relative;display:block;grid-column:1/-1;min-height:calc(100svh - 180px)}
.cr-clickcollect-page .cc-loading-label{position:absolute;z-index:1;top:100px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:12px;color:#526678;font-size:14px}
.cc-loading-frame{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:18px}
.cc-loading-card{display:block;min-height:570px;border:1px solid #dce3e8;border-radius:10px;background:#fff;overflow:hidden}
.cc-loading-card::before{content:"";display:block;height:230px;margin:16px;background:#eef2f4;border-radius:5px}
.cc-loading-card::after{content:"";display:block;height:180px;margin:24px 16px;background:linear-gradient(#e8edf0 0 15px,transparent 15px 30px,#e8edf0 30px 45px,transparent 45px 70px,#e8edf0 70px 85px,transparent 85px 115px,#e8edf0 115px 130px,transparent 130px)}
@media(max-width:767px){.cc-loading-frame{grid-template-columns:minmax(0,1fr)}.cc-loading-card:not(:first-child){display:none}.cc-loading-card::before{height:clamp(178px,60vw - 28px,252px)}}
