.club-showcase{padding:20px 0;min-width:0}.showcase-heading{max-width:1200px;margin:0 auto 32px;text-align:center}.showcase-heading>small{display:block;color:var(--theme-accent,#626c70)}.showcase-heading h2{margin:8px 0 16px}.showcase-heading p{margin:0;max-width:none}.showcase-grid{display:grid;gap:24px;align-items:stretch}.showcase-columns-2,.showcase-offer-list{grid-template-columns:repeat(2,minmax(0,1fr))}.showcase-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.showcase-columns-4,.showcase-offer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.showcase-columns-6{grid-template-columns:repeat(6,minmax(0,1fr))}.showcase-card{border:1px solid var(--line,#ddd);background:var(--paper,#fafafa);overflow:hidden;display:flex;flex-direction:column}.showcase-card-body{padding:24px;flex:1}.showcase-card h3,.showcase-offer h3{font-size:30px;margin:0 0 12px}.showcase-card p,.showcase-offer p{font-size:15px;margin:0 0 20px}.showcase-media{aspect-ratio:4/3;overflow:hidden;background:var(--paper,#eef1ef);width:100%;display:flex;align-items:center;justify-content:center}.showcase-media img{display:block;width:100%;height:100%;object-fit:cover}.showcase-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:120px;background:linear-gradient(145deg,#d8e6e2,#c5d5d0);color:#69877d}.showcase-placeholder svg{width:45%;max-width:150px}.showcase-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}.showcase-actions:empty{display:none}.showcase-offer-list{gap:24px 40px}.showcase-offer-list .showcase-offer{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:start}.showcase-offer-list .showcase-media{aspect-ratio:1}.showcase-offer h3{font-size:27px}.showcase-offer-grid .showcase-media{margin-bottom:18px}.showcase-price{display:block;color:var(--theme-primary,var(--black,#171717));font-size:18px}.showcase-portrait{aspect-ratio:4/5}.showcase-person{text-align:center;min-width:0}.showcase-person h3{margin:20px 0 8px;font-size:30px}.showcase-person>strong{font-size:14px}.showcase-person>p{font-size:15px;max-width:none}.showcase-socials{display:flex;justify-content:center;gap:8px 14px;flex-wrap:wrap;font-size:13px;overflow-wrap:anywhere}.showcase-socials a{text-decoration:underline}.showcase-testimonial{margin:0;padding:20px;text-align:center;background:var(--paper,#f4f4f1);border:1px solid var(--line,#ddd)}.showcase-testimonial .showcase-media{width:100px;height:100px;aspect-ratio:1;border-radius:50%;margin:0 auto 20px}.showcase-testimonial .showcase-placeholder{min-height:0}.showcase-testimonial blockquote{margin:0 0 20px;font-size:16px}.showcase-testimonial blockquote p{font-size:inherit;margin:0;max-width:none}.showcase-testimonial blockquote::before{content:'“';display:block;font:700 48px/.7 Georgia,serif;color:var(--theme-accent,#536d61)}.showcase-testimonial figcaption span{display:block;font-size:13px;margin-top:6px}.showcase-photo-strip{display:grid;gap:0;overflow:auto;max-width:100%}.showcase-photo-strip figure{margin:0;min-width:0}.showcase-photo-strip .showcase-media{aspect-ratio:1}.showcase-photo-strip figcaption{padding:10px;font-size:13px;overflow-wrap:anywhere}.showcase-contact-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:40px;align-items:center}.showcase-contact .showcase-heading{text-align:left;margin:0 0 24px}.showcase-contact .showcase-actions{justify-content:flex-start}.showcase-contact address{font-style:normal;overflow-wrap:anywhere}.showcase-contact address p{margin:0 0 16px}.showcase-map{height:400px;min-width:0;border:1px solid var(--line,#ddd);background:var(--paper,#eef1ef)}.showcase-map iframe{width:100%;height:100%;border:0;display:block}.showcase-map-placeholder{height:100%;display:grid;align-content:center;justify-items:center;text-align:center;padding:24px}.showcase-map-placeholder .showcase-placeholder{min-height:0;height:150px;background:transparent}.club-showcase .button{font-size:14px}.club-showcase h3,.club-showcase p,.club-showcase a{overflow-wrap:anywhere}
.extra-panel-base,.extra-item-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.extra-full{grid-column:1/-1}.extra-item-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px}.extra-item{border:1px solid #cbd7d5;border-radius:8px;padding:16px;min-width:0}.extra-item summary{font-weight:700;cursor:pointer;margin-bottom:14px}.extra-item-photo{width:100%;height:130px;object-fit:contain;background:#f4f6f5}.extra-item-tools,.extra-image-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.extra-action-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(100px,.6fr) auto;gap:12px;align-items:end;margin-bottom:16px}.extra-item textarea,.extra-panel-base textarea{width:100%;min-height:100px}.extra-item input,.extra-action-row input,.extra-panel-base input{min-width:0;max-width:100%;width:100%}
.panel-demo .club-showcase{padding:0;font:11px/1.4 Arial;pointer-events:none}.panel-demo .showcase-heading{margin-bottom:12px}.panel-demo .showcase-heading h2{font-size:27px;margin:4px 0 8px}.panel-demo .showcase-heading small{font-size:8px}.panel-demo .showcase-heading p{font-size:11px}.panel-demo .showcase-grid{gap:10px}.panel-demo .showcase-media{height:80px;aspect-ratio:auto}.panel-demo .showcase-placeholder{min-height:0}.panel-demo .showcase-placeholder svg{max-width:65px}.panel-demo .showcase-card-body{padding:10px}.panel-demo .club-showcase h3{font-size:19px;margin:8px 0}.panel-demo .club-showcase p{font-size:10px;margin:0 0 8px}.panel-demo .club-showcase .button{font-size:8px;padding:5px 8px;gap:3px}.panel-demo .showcase-actions{gap:7px;margin-top:12px}.panel-demo .showcase-offer-list .showcase-offer{grid-template-columns:45px minmax(0,1fr);gap:8px}.panel-demo .showcase-price{font-size:10px}.panel-demo .showcase-person>strong,.panel-demo .showcase-testimonial figcaption{font-size:9px}.panel-demo .showcase-testimonial{padding:8px}.panel-demo .showcase-testimonial .showcase-media{width:42px;height:42px;margin-bottom:10px}.panel-demo .showcase-testimonial blockquote::before{font-size:26px}.panel-demo .showcase-contact-map{gap:12px;grid-template-columns:1fr 1fr}.panel-demo .showcase-map{height:180px}.panel-demo .showcase-map-placeholder{padding:6px;font-size:9px}.panel-demo .showcase-socials{font-size:8px}.panel-demo .showcase-photo-strip .showcase-media{height:150px}
@media(max-width:1000px){.showcase-columns-4,.showcase-columns-6,.showcase-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.showcase-columns-3{grid-template-columns:repeat(2,minmax(0,1fr))}.extra-action-row{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.showcase-grid,.showcase-contact-map{grid-template-columns:minmax(0,1fr);gap:24px}.showcase-offer-list .showcase-offer{grid-template-columns:90px minmax(0,1fr);gap:14px}.showcase-map{height:300px}.showcase-photo-strip{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:75%;scroll-snap-type:x mandatory}.showcase-photo-strip figure{scroll-snap-align:start}.showcase-actions .button{max-width:100%}.extra-panel-base,.extra-item-fields,.extra-action-row{grid-template-columns:minmax(0,1fr)}.extra-full{grid-column:auto}.showcase-person .showcase-portrait{max-width:350px;margin-inline:auto}}

.showcase-placeholder svg{display:block!important;margin:auto!important;flex:none!important}.showcase-map-art{display:block;width:100%;max-width:400px}.showcase-map-art svg{display:block;width:100%;height:auto}.panel-demo .showcase-map-art{max-width:160px}

.showcase-offer-list .showcase-offer.showcase-without-image{grid-template-columns:minmax(0,1fr)}
.showcase-heading:empty,.showcase-socials:empty{display:none}
.showcase-card-body:empty{display:none}

.extra-item-header-actions{display:flex;justify-content:flex-end;gap:8px;margin:0 0 16px}.extra-item-header-actions button{font-size:14px;padding:8px 12px}

/* Center incomplete rows while retaining the chosen card width. */
.showcase-grid{display:flex;flex-wrap:wrap;justify-content:center;--showcase-cols:3;--showcase-gap:24px;gap:24px var(--showcase-gap)}
.showcase-grid.showcase-columns-2,.showcase-grid.showcase-offer-list{--showcase-cols:2}
.showcase-grid.showcase-columns-4,.showcase-grid.showcase-offer-grid{--showcase-cols:4}
.showcase-grid.showcase-columns-6{--showcase-cols:6}
.showcase-grid.showcase-offer-list{--showcase-gap:40px}
.showcase-grid>*{min-width:0;flex:0 0 calc((100% + var(--showcase-gap))/var(--showcase-cols) - var(--showcase-gap))}
.panel-demo .showcase-grid{--showcase-gap:10px;gap:10px}
@media(max-width:1000px){.showcase-grid.showcase-columns-3,.showcase-grid.showcase-columns-4,.showcase-grid.showcase-columns-6,.showcase-grid.showcase-offer-grid{--showcase-cols:2}}
@media(max-width:600px){.showcase-grid{--showcase-cols:1!important}}

/* Bound media by panel role; intrinsic upload dimensions never set card height. */
.page-panel .club-showcase .showcase-media{position:relative;min-height:0;height:260px;max-height:260px;aspect-ratio:auto}
.page-panel .club-showcase .showcase-media img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.page-panel .showcase-type-featureDuo .showcase-media{height:300px;max-height:300px}
.page-panel .showcase-type-featureTrio .showcase-media{height:240px;max-height:240px}
.page-panel .showcase-type-offerGrid .showcase-media{height:180px;max-height:180px}
.page-panel .showcase-type-offerList .showcase-media{height:120px;max-height:120px}
.page-panel .showcase-person .showcase-portrait{height:280px;max-height:280px;max-width:280px;margin-inline:auto}
.page-panel .showcase-testimonial .showcase-media{width:100px;height:100px;max-height:100px}
.page-panel .showcase-photo-strip .showcase-media{height:240px;max-height:240px}
.panel-demo .page-panel .club-showcase .showcase-media{height:80px;max-height:80px}
.panel-demo .page-panel .showcase-testimonial .showcase-media{height:42px;max-height:42px}
@media(max-width:760px){
 .page-panel .showcase-type-featureDuo .showcase-media,.page-panel .showcase-type-featureTrio .showcase-media{height:220px;max-height:220px}
 .page-panel .showcase-type-offerGrid .showcase-media{height:160px;max-height:160px}
 .page-panel .showcase-type-offerList .showcase-media{height:90px;max-height:90px}
 .page-panel .showcase-photo-strip .showcase-media{height:180px;max-height:180px}
}

/* Two-card layout: text and action on paper, image in a separate white area. */
.showcase-type-featureDuo .showcase-card{background:#fff}
.showcase-type-featureDuo .showcase-card-body{background:var(--paper,#f4f4f1)}
.showcase-type-featureDuo .showcase-media{background:#fff;border-top:1px solid var(--line,#ddd);box-sizing:border-box;flex-shrink:0}
.showcase-type-featureDuo .showcase-media .showcase-placeholder{background:#fff}

/* Empty image slots are visible in the editor, at the final image dimensions. */
.page-panel .showcase-media:has(>.showcase-placeholder){box-sizing:border-box;border:1px dashed #bcc5c1;background:#fff}
.page-panel .showcase-media>.showcase-placeholder{background:transparent;color:#9ba8a1}

/* Buttons share the bottom edge of each row, regardless of text length. */
.showcase-card-body{display:flex;flex-direction:column;align-items:flex-start}
.showcase-card-body>.button{margin-top:auto}

/* Card count may be changed independently of the original template. */
.showcase-columns-1{grid-template-columns:minmax(0,1fr)}
.showcase-grid.showcase-columns-1{--showcase-cols:1}
.extra-item-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:20px}
.extra-item-toolbar h3{margin:0}
.extra-item-toolbar [data-extra-count]{font-weight:400;font-size:14px}
