.bulk-colour-chart{margin-bottom:20px}.bulk-colour-chart>p{font-weight:700;font-size:14px;margin-bottom:12px}.bulk-colour-chart .custom-colour input{width:60px}.wall-symbol svg{display:block;width:100%;height:100%}.wall-brick .wall-symbol{width:22%;aspect-ratio:1;display:grid;place-items:center}.bulk-main{max-width:1300px;margin:auto;padding:42px 24px 90px}.planner-heading{display:flex;justify-content:space-between;gap:28px;align-items:center}.planner-heading h1{font-size:clamp(32px,4vw,50px);font-weight:500;letter-spacing:-.04em;margin:10px 0}.planner-heading p{line-height:1.5}.planner-total{text-align:right;display:flex;flex-direction:column;gap:7px;min-width:220px}.planner-total strong{font-size:30px;color:var(--forest)}.planner-total small{font-size:13px;color:#636b65}.planner-steps{display:flex;gap:28px;border-bottom:1px solid var(--line);margin:30px 0}.planner-steps span{padding:14px 0;font-size:15px;color:#777}.planner-steps .current{color:var(--forest);border-bottom:3px solid var(--forest);font-weight:bold}.sample-banner{display:flex;align-items:center;justify-content:space-between;gap:22px;background:#f3f0e4;border:1px solid #ddd0a7;padding:18px 22px;margin:24px 0}.sample-banner p{margin:6px 0 0;font-size:14px;line-height:1.5}.sample-banner .button{flex:none}.planner-controls{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;padding:22px;background:#f6f7f5;border:1px solid var(--line)}.bulk-main label{font-size:14px;font-weight:600;display:block}.bulk-main input,.bulk-main select,.bulk-main textarea{font:16px Arial,sans-serif;width:100%;padding:12px;border:1px solid #bfc7c1;background:white;margin-top:8px}.wall-section{margin:32px 0}.wall-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.bulk-main h2{font-size:26px;letter-spacing:-.025em;font-weight:500;margin:0 0 10px}.wall-heading p{font-size:14px;line-height:1.5;margin:0;color:#666}.wall-heading .text-link{background:none;border:0;flex:none;cursor:pointer}.wall-scroll{overflow:auto;background:#cfcac3;padding:14px;border:1px solid #bcb7af;max-height:680px}.brick-wall{display:grid;grid-template-columns:repeat(var(--columns),minmax(90px,1fr));gap:5px;min-width:calc(var(--columns)*95px);font-family:var(--font)}.wall-brick{background-color:var(--brick);background-image:linear-gradient(120deg,#ffffff18,#00000015);border:1px solid #0004;aspect-ratio:215/65;position:relative;padding:3px 2px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;color:var(--infill);box-shadow:inset 0 1px 0 #ffffff30;font-family:var(--font);font-size:clamp(6px,.7vw,11px);font-weight:bold;white-space:nowrap;cursor:pointer}.wall-brick:before{content:'';position:absolute;inset:0;background-image:var(--brick-preview-texture);background-size:cover;filter:grayscale(1);mix-blend-mode:multiply;opacity:.18;pointer-events:none}.wall-brick span{position:relative;text-shadow:0 1px 1px #0007;max-width:100%}.wall-brick small{position:absolute;font:6px Arial,sans-serif;right:3px;bottom:2px;opacity:.5}.wall-brick.selected-brick{outline:3px solid #e2ac21;outline-offset:-2px}.wall-brick.blank-brick{opacity:.3}
.wall-brick.blank-brick.selected-brick{opacity:.65}.wall-caption{display:flex;justify-content:space-between;gap:18px;font-size:12px;color:#676d68;line-height:1.5;margin-top:12px}.wording-section{margin:42px 0}.brick-edit-list{border:1px solid var(--line)}.brick-edit-row{display:grid;grid-template-columns:85px 1fr 1fr;gap:18px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line)}.brick-edit-row:last-child{border-bottom:0}.brick-edit-row.active-row{background:#f8f5e7}.brick-edit-row label{position:relative}.brick-edit-row label span{position:absolute;right:0;top:0;font-size:12px;color:#727a74;font-weight:normal}.brick-edit-row b{font-size:14px}.list-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;font-size:14px}.list-pagination button{padding:10px;background:white;border:1px solid var(--line);cursor:pointer}.planner-actions{display:flex;justify-content:space-between;gap:16px;margin-top:26px}.planner-actions .secondary{background:white;color:var(--forest);border:1px solid var(--forest)}button:disabled{opacity:.45;cursor:default!important}.paste-box{padding:22px;background:#f5f6f3;margin-bottom:20px}.paste-box p,.sample-next p{font-size:14px;line-height:1.5;color:#666}.review-section{background:#f5f6f3;padding:30px;border:1px solid var(--line);margin-top:32px}.review-summary{margin:24px 0}.review-summary>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:13px 0;font-size:15px}.proof-check{display:flex!important;align-items:flex-start;gap:12px;line-height:1.6}.proof-check input{width:20px;flex:none;margin:3px 0 0}.bulk-checkout{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:40px}.bulk-checkout form{background:#f5f6f3;padding:28px}.bulk-checkout form label{margin-bottom:18px}.bulk-checkout label span{font-weight:normal}.checkout-note{background:#f3f0e4;padding:18px;line-height:1.6;font-size:14px}.bulk-success{padding:60px 25px;text-align:center;background:#f5f6f3}.bulk-success .button{margin:12px 6px}.sample-next{text-align:center;margin:35px 0}@media(max-width:900px){.planner-controls{grid-template-columns:repeat(3,1fr)}.bulk-checkout{grid-template-columns:1fr}.wall-brick{font-size:7px}}@media(max-width:600px){.site-header .shop-label{display:none}.site-header>.text-link{font-size:12px}.bulk-main{padding:25px 16px 65px}.planner-heading{display:block}.planner-total{text-align:left;margin-top:20px;min-width:0}.planner-total strong{font-size:26px}.planner-steps{gap:14px}.planner-steps span{font-size:12px;line-height:1.5}.sample-banner{display:block;padding:18px}.sample-banner button{margin-top:16px}.planner-controls{grid-template-columns:1fr 1fr;padding:15px;gap:12px}.wall-heading{display:block}.wall-heading .text-link{margin-top:12px;padding:0}.wall-scroll{padding:8px;max-height:420px}.wall-caption{display:block}.wall-caption span{display:block;margin-bottom:7px}.brick-edit-row{grid-template-columns:1fr 1fr;gap:12px;padding:16px 12px}.brick-edit-row>b{grid-column:1/-1}.planner-actions{flex-direction:column}.planner-actions .button{text-align:center}.list-pagination{font-size:12px}.list-pagination button{font-size:12px}.review-section,.bulk-checkout form{padding:20px}.bulk-checkout{gap:24px}.bulk-success{padding:35px 18px}}
[x-cloak]{display:none!important}
.bulk-symbol-config{padding:20px 22px;margin-top:16px;background:#f6f7f5;border:1px solid var(--line)}.bulk-symbol-config>p{font-size:14px;font-weight:600;margin:0 0 14px}.bulk-symbol-config small{display:block;margin-top:12px;font-size:13px;line-height:1.6;color:#666}.wall-brick-layout{display:flex;justify-content:center;align-items:center;gap:4px;width:100%;position:relative}.wall-brick-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:0}.wall-brick-layout.with-symbol .wall-brick-copy{font-size:.85em}.wall-brick .wall-symbol{font-size:2.2em;line-height:1;flex:none;font-family:Arial,sans-serif}.wall-brick .wall-brick-copy span{max-width:100%;}@media(max-width:600px){.bulk-symbol-config{padding:16px}.bulk-symbol-config .symbol-picker{flex-wrap:wrap}}
.uploaded-logo-preview{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.logo-proof-brick{display:flex;align-items:center;gap:5%;width:min(100%,620px);aspect-ratio:215/65;padding:4% 5%;border:1px solid #0004;box-shadow:inset 0 1px 0 #ffffff30}.logo-proof-art{flex:0 0 22%;aspect-ratio:1;display:grid;place-items:center}.logo-proof-art img{display:block;width:100%;height:100%;object-fit:contain}.logo-proof-placeholder{width:100%;aspect-ratio:1;border:2px dashed currentColor;border-radius:50%;display:grid;place-content:center;text-align:center;font:600 clamp(9px,2vw,15px)/1.2 Arial,sans-serif}.logo-proof-copy{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:clamp(14px,3vw,28px);font-weight:bold}.logo-proof-copy span{max-width:100%;overflow-wrap:anywhere;text-align:center}.wall-custom-logo{flex:0 0 20%;aspect-ratio:1;display:grid;place-items:center}.wall-custom-logo img{width:100%;height:100%;object-fit:contain}.wall-logo-placeholder{border:1px dashed currentColor;border-radius:50%;width:100%;aspect-ratio:1;display:grid;place-content:center;font:4px/1 Arial,sans-serif;text-align:center}.wall-brick-layout.with-symbol .wall-brick-copy{flex:1}.custom-symbol-upload .text-link{margin-top:12px}
.white-photo-wall .wall-brick{background:transparent url('/white-brick-slip.png') center 54% / 109.6% 168.8% no-repeat;border:0;box-shadow:none}.white-photo-wall .wall-brick:before{display:none}.white-photo-wall .wall-brick-layout{padding:0 5%}
/* Larger working preview, with consistent brick size on phones and desktops. */
.wall-section{margin:40px 0;padding:22px;background:#f7f7f4;border:1px solid var(--line)}
.wall-heading h2{font-size:32px;font-weight:600}
.wall-scroll{padding:18px;max-height:720px;border:2px solid #bcb7af;box-shadow:0 5px 18px rgba(0,0,0,.08)}
.brick-wall{grid-template-columns:repeat(var(--columns),minmax(170px,1fr));gap:8px;min-width:calc(var(--columns)*178px)}
.wall-brick{font-size:11px;padding:6px 5px}
.wall-brick-copy{gap:3px}
.wall-brick small{font-size:8px}
.wall-logo-placeholder{font-size:7px}
@media(max-width:600px){.wall-section{padding:12px;margin:28px 0}.wall-heading h2{font-size:28px}.wall-scroll{padding:10px;max-height:65vh}.wall-brick{font-size:11px}}
/* Review the whole wall without a horizontally scrolling frame. */
.wall-review .wall-scroll{max-height:none;overflow:visible;padding:10px}
.wall-review .brick-wall{min-width:0;width:100%;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:clamp(2px,.4vw,6px)}
.wall-review .wall-brick{min-width:0;padding:2px;container-type:inline-size}
.wall-review .wall-brick-copy{font-size:8.7cqw;line-height:1.1;gap:1.4cqw}
.wall-review .wall-brick-layout.with-symbol .wall-brick-copy{font-size:8.7cqw}
.wall-review .wall-brick small{font-size:3.5cqw;right:1cqw;bottom:1cqw}
.wall-review .wall-logo-placeholder{font-size:4cqw}
.wall-review .wall-brick-layout{gap:2cqw}
.wall-review .wall-heading .button{flex:none;font-size:13px}
@media(max-width:600px){.wall-review .wall-scroll{padding:5px}.wall-review .wall-heading .button{margin-top:14px}}
.review-brick-closeup{margin:20px auto 28px;max-width:760px}
.review-brick-closeup>p{font-size:15px;margin-bottom:12px}
.review-proof-brick{width:100%;aspect-ratio:215/65;display:flex;align-items:center;gap:4%;padding:3% 5%;border:2px solid #0004;box-shadow:inset 0 1px 0 #fff4,0 8px 18px #0002;container-type:inline-size}
.review-proof-art{flex:0 0 22%;aspect-ratio:1;display:grid;place-items:center}
.review-proof-art>span,.review-proof-art img{width:100%;height:100%;object-fit:contain}
.review-proof-art svg{display:block;width:100%;height:100%}
.review-proof-copy{flex:1;min-width:0;font-weight:bold;text-align:center;line-height:1.12;display:flex;flex-direction:column;align-items:center;gap:1cqw}
.review-proof-copy span{white-space:nowrap;max-width:100%}
.review-brick-closeup>small{display:block;margin-top:12px;color:#666;font-size:12px;line-height:1.5}
@media(max-width:900px){body:has(.bulk-main) .site-header{height:auto;min-height:80px;flex-wrap:wrap;gap:12px;padding:12px 16px}body:has(.bulk-main) .site-header .brand{min-width:0;letter-spacing:.08em}body:has(.bulk-main) .project-nav{width:100%;justify-content:space-between;font-size:13px}body:has(.bulk-main) .site-header .shop-label{display:none}.wall-heading{flex-wrap:wrap}}
.wording-live-preview{position:sticky;top:0;z-index:15;background:#fff;padding:12px;max-width:580px;margin:0 auto 18px;border:1px solid var(--line);box-shadow:0 5px 14px #0002}
.wording-live-preview>p{margin:0 0 8px;font-size:13px}
.wording-live-preview .review-proof-brick{box-shadow:none}
.brick-edit-row input{scroll-margin-top:230px}
@media(max-width:600px){.wording-live-preview{padding:8px;margin-bottom:12px}.brick-edit-row input{scroll-margin-top:150px}}
.brick-edit-row{grid-template-columns:75px minmax(0,1fr) minmax(0,1fr) minmax(140px,.8fr)}
.brick-symbol-field select{width:100%;margin-top:7px;padding:12px;border:1px solid #bbbdb7;background:#fff;font:inherit}
@media(max-width:900px){.brick-edit-row{grid-template-columns:1fr 1fr}.brick-edit-row>b,.brick-symbol-field{grid-column:1/-1}}
/* Recessed engraving edges in wall and individual brick previews. */
.wall-review .wall-brick-copy span,.review-proof-copy span,.logo-proof-copy span{text-shadow:0 clamp(-1.4px,-.3cqw,-.4px) clamp(.3px,.2cqw,1px) rgba(0,0,0,.85),0 clamp(.4px,.3cqw,1.4px) clamp(.2px,.12cqw,.6px) rgba(255,255,255,.6),0 0 .4px rgba(0,0,0,.4)}
.wall-symbol svg,.review-proof-art svg{filter:drop-shadow(0 -.6px .5px rgba(0,0,0,.8)) drop-shadow(0 .8px .4px rgba(255,255,255,.5))}
/* Size engraving relative to every brick in both design and review views. */
.wall-brick{container-type:inline-size;min-width:0;overflow:hidden}
.wall-brick .wall-brick-copy{line-height:1.1;gap:1.4cqw}
.wall-brick .wall-brick-layout{gap:2cqw;min-width:0}
.brick-wall.running-bond{grid-template-columns:repeat(calc(var(--columns)*2 + 1),minmax(81px,1fr));min-width:calc(var(--columns)*178px + 89px);column-gap:4px;row-gap:8px}
.wall-review .brick-wall.running-bond{min-width:0;grid-template-columns:repeat(calc(var(--columns)*2 + 1),minmax(0,1fr));column-gap:clamp(1px,.2vw,3px);row-gap:clamp(2px,.4vw,6px)}
.fundraising-calculator{width:320px;max-width:100%;padding:20px;border:1px solid var(--line);background:#f5f6ee;border-radius:6px;text-align:left;flex-shrink:0}
.fundraising-calculator label{font-size:13px;font-weight:700;margin:10px 0 4px}
.fundraising-calculator input{margin-top:7px}
.fundraising-result{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;font-size:14px}
.fundraising-net{border-top:1px solid var(--line);color:var(--forest);font-weight:700}
.fundraising-calculator small{line-height:1.5}
@media(max-width:900px){.planner-heading:has(.fundraising-calculator){flex-direction:column;align-items:flex-start}.fundraising-calculator{width:100%}}
.celebration-total{position:relative;min-height:42px}
.celebration-total strong{display:inline-block;transform-origin:left center}
.fundraising-fireworks{position:absolute;inset:0;pointer-events:none;z-index:2}
.fundraising-firework{position:absolute;left:var(--burst-left);top:var(--burst-top);width:0;height:0;color:var(--burst-colour)}
.fundraising-firework i{position:absolute;width:3px;height:9px;margin:-4px 0 0 -1px;border-radius:100%;background:currentColor;box-shadow:0 0 5px currentColor;animation:fundraising-spark 1.5s cubic-bezier(.15,.6,.35,1) var(--burst-delay) both}
.fundraising-firework::before{content:"";position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle,#fff 0%,currentColor 45%,transparent 75%);animation:fundraising-burst-glow .55s ease-out var(--burst-delay) both}
.fundraising-firework::after{content:"";position:absolute;left:-16px;top:-16px;width:32px;height:32px;border:1px solid currentColor;border-radius:50%;animation:fundraising-burst-ring .75s ease-out var(--burst-delay) both}
.is-celebrating strong{animation:fundraising-total-pop .55s ease-out}
@keyframes fundraising-spark{0%{opacity:0;transform:translate3d(0,0,0) rotate(var(--spark-angle)) scale(.2)}8%{opacity:1}65%{opacity:.9}100%{opacity:0;transform:translate3d(var(--spark-x),calc(var(--spark-y) + 22px),0) rotate(var(--spark-angle)) scale(.4)}}
@keyframes fundraising-burst-glow{0%{opacity:0;transform:scale(.2)}20%{opacity:1;transform:scale(1.8)}100%{opacity:0;transform:scale(3)}}
@keyframes fundraising-burst-ring{0%{opacity:0;transform:scale(.1)}15%{opacity:.5}100%{opacity:0;transform:scale(3)}}
@keyframes fundraising-total-pop{0%,100%{transform:scale(1)}45%{transform:scale(1.14)}}
@media(prefers-reduced-motion:reduce){.fundraising-fireworks{display:none!important}.is-celebrating strong{animation:none}}
.bulk-product-tabs{display:flex;gap:12px;margin:24px 0;flex-wrap:wrap}.bulk-product-tabs a{padding:12px 20px;border:1px solid var(--forest);color:var(--forest);text-decoration:none;border-radius:4px}.bulk-product-tabs .selected{background:var(--forest);color:#fff}
/* Fireworks-only fundraising celebration. */