/* solavia's title lockup and editor controls. Scoped away from dojo themes. */
.builder-head .resume-prominent{display:block;width:100%;margin-top:16px;padding:12px 8px;border:2px solid #087e83;border-radius:12px;background:white;color:#07676c;font-size:14px;font-weight:800;cursor:pointer}
.builder input::placeholder,.builder textarea::placeholder{color:#89959b;opacity:1}
.club-dialog[open]{display:flex;flex-direction:column;padding:0!important;overflow:hidden!important;max-height:90dvh!important}
.club-dialog .dialog-body{min-height:0;overflow-y:auto;padding:24px 28px;overscroll-behavior:contain}
.club-dialog .dialog-footer{flex-shrink:0;padding:12px 20px;background:white;border-top:1px solid #dce7e7;display:flex;flex-wrap:wrap;gap:6px;box-shadow:0 -5px 15px #1635430a}
.club-dialog .dialog-footer:empty{display:none}
.club-dialog .dialog-footer>button{flex:1 1 150px;font-size:14px!important;margin:0!important;min-height:46px}
.club-dialog .dialog-footer .dialog-close{margin:0!important}
.club-dialog .review-link{display:block;flex:1 1 100%;overflow-wrap:anywhere;color:#087e83;text-decoration:underline;font-size:12px}
.club-dialog .review-open{display:inline-block;padding:10px 14px;border-radius:8px;background:#087e83;color:white;margin-top:8px;text-decoration:none;font-weight:bold}
.club-dialog.is-saving,.club-dialog.is-loading{padding:0!important}
@media(max-width:560px){.club-dialog .dialog-body{padding:18px}.club-dialog .dialog-footer{padding:10px}.club-dialog .dialog-footer>button{font-size:13px!important;min-height:44px}}
.builder-head{background:#fffaf2!important;padding:24px 20px 20px!important;border-bottom:1px solid #f0dfc8!important}
.maker-wordmark{display:inline-flex;flex-direction:column;position:relative;color:#18343c;line-height:1.1;font-family:'Arial Black','Yu Gothic','Meiryo',sans-serif;font-weight:900;letter-spacing:-.06em;isolation:isolate}
.maker-wordmark .wordmark-top{font-size:28px;transform:skew(-7deg);letter-spacing:.015em}
.maker-wordmark .wordmark-bottom{font-size:22px;margin-top:6px;transform:skew(-7deg);color:#e7562d;position:relative;padding-bottom:7px}
.maker-wordmark .wordmark-bottom:after{content:'';position:absolute;height:7px;bottom:0;left:0;right:-9px;background:#ffd956;transform:skew(-20deg);z-index:-1;border-radius:2px}
.clubace-credit{display:flex;gap:7px;align-items:center;margin-top:14px;color:#708080;font:10px 'Segoe UI',sans-serif;letter-spacing:.06em}.clubace-credit strong{font-size:15px;letter-spacing:-.05em;color:#486369}.clubace-credit i{display:inline-grid;place-items:center;width:18px;height:18px;background:#486369;color:#fff;border-radius:5px;font-size:12px;font-weight:900;font-style:normal}
.builder-head .sub{margin-top:12px!important;color:#687a7e!important}.maker-guidance{margin:16px 18px 0;padding:12px 14px;background:#f0f7f6;border-left:3px solid #07858b;font-size:11px;line-height:1.8;color:#355b60;border-radius:0 10px 10px 0}
.club-actions{gap:8px!important}.club-actions button{border:1px solid #d9e5e4!important;border-radius:12px!important;min-height:44px;transition:background .15s}.club-actions button:first-child{background:#087e83!important;color:white!important;border-color:#087e83!important}.club-actions button:hover{filter:brightness(.96)}
.club-tools{display:flex;gap:16px;margin:8px 0}.club-tools button{border:0;background:none;padding:4px 0;color:#486369;text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:11px;cursor:pointer}.club-tools button[hidden]{display:none}
.club-dialog{box-sizing:border-box;border:1px solid #e2e9e9!important;border-radius:24px!important;padding:28px!important;width:min(600px,calc(100% - 32px))!important;max-height:88dvh!important;box-shadow:0 24px 100px #173b4938!important;background:#fff;color:#243e48;font:14px/1.7 'Segoe UI','Yu Gothic','Meiryo',sans-serif}
.club-dialog::backdrop{background:#16354380!important;backdrop-filter:blur(4px)}.club-dialog h2{font-size:25px!important;line-height:1.4;margin:4px 0 10px;letter-spacing:-.03em}.club-dialog p{font-size:13px;margin:8px 0 18px;color:#5b7077}.club-dialog .dialog-eyebrow{display:block;font-size:10px;font-weight:800;letter-spacing:.16em;color:#07858b;margin-bottom:8px}
.club-dialog button{border:1px solid #d5e2e2;background:white;color:#244b54;font:700 12px/1.5 inherit;border-radius:10px!important;padding:10px 14px!important;margin:4px 6px 4px 0!important;min-height:42px;cursor:pointer}.club-dialog button:hover{background:#edf6f5}.club-dialog button:focus-visible,.club-dialog input:focus-visible{outline:3px solid #2ab4b8;outline-offset:3px}.club-dialog .dialog-primary{background:#087e83;color:white;border-color:#087e83}.club-dialog .dialog-primary:hover{background:#05666c}.club-dialog button:disabled{opacity:.45;cursor:wait}
.club-field{padding:13px 14px;background:#f4f8f8;border:1px solid #e4eded;border-radius:13px;margin:10px 0}.club-field label{display:block;font-size:11px;font-weight:800;letter-spacing:.03em;color:#526b72;margin:0 0 6px}.club-field-row{display:flex;gap:7px;align-items:center}.club-dialog .club-field input{box-sizing:border-box;min-width:0;flex:1;width:100%;border:0;background:transparent;font:12px/1.6 Consolas,monospace;color:#213e49;padding:5px 0}.club-field-row button{flex-shrink:0;white-space:nowrap}.club-dialog .club-field small{display:block;color:#6c7d83;font-size:10px;margin-top:5px}.club-dialog .dialog-feedback{color:#087e83;min-height:1.7em;margin:8px 0;font-size:12px}.club-dialog details{border-top:1px solid #e5eded;margin-top:18px;padding-top:13px}.club-dialog summary{cursor:pointer;font-size:12px;color:#718489}.club-dialog .dialog-close{display:block;width:100%;margin:18px 0 0!important}.club-dialog .dialog-warning{font-size:11px;background:#fff8e9;border-radius:10px;padding:10px 12px;color:#876729}.map-external{display:inline-flex;margin:12px 0;font-size:12px;color:var(--site-accent);text-decoration:underline;text-underline-offset:4px}.map-help{font-size:11px;color:var(--site-muted);line-height:1.6}
@media(max-width:560px){.club-dialog{padding:20px!important;border-radius:20px!important}.club-dialog h2{font-size:22px!important}.club-field-row{flex-wrap:wrap}.club-field-row input{flex-basis:100%!important}.maker-wordmark .wordmark-top{font-size:25px}.maker-wordmark .wordmark-bottom{font-size:20px}}

/* Consistent dojo identity and full-sized instructor portraits. */
.site-shell .brand,.site-shell .topbar-brand{display:flex;align-items:center;gap:16px;min-width:0}
.site-shell .brand strong,.site-shell .topbar .header-dojo{font-size:clamp(26px,2.6vw,40px);line-height:1.3;font-weight:900;letter-spacing:.025em;white-space:normal;overflow-wrap:anywhere}
.site-shell .brand img,.site-shell .topbar .header-mark{width:64px;height:64px;object-fit:contain;flex-shrink:0}
.site-shell .brand img{display:block}.site-shell .topbar{height:auto;min-height:94px;padding-top:12px;padding-bottom:12px}
.site-shell .instructor-slide{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:36px;align-items:center}
.site-shell .instructor-slide .instructor-photo{width:100%;height:auto;aspect-ratio:4/5;overflow:hidden}
.site-shell .instructor-photo img{display:block;width:100%;height:100%;max-height:none;object-fit:cover}
@media(max-width:700px){.site-shell .instructor-slide{grid-template-columns:minmax(0,1fr);gap:24px}.site-shell .instructor-slide .instructor-photo{width:min(100%,300px);justify-self:center}.site-shell .brand strong,.site-shell .topbar .header-dojo{font-size:26px}.site-shell .brand img,.site-shell .topbar .header-mark{width:48px;height:48px}.site-shell .brand,.site-shell .topbar-brand{gap:12px}}

.club-tools{flex-wrap:wrap;gap:4px 14px}.club-tools button,.club-tools a{font-size:11px;line-height:1.8;color:#486369;padding:4px 0;text-decoration:underline;text-underline-offset:3px}.club-dialog textarea{box-sizing:border-box;width:100%;padding:12px;border:1px solid #d5e2e2;border-radius:10px;font:12px/1.7 Consolas,monospace;resize:vertical;overflow-wrap:anywhere}.club-field-row{flex-wrap:wrap}.club-field-row input{flex-basis:100%!important}.club-dialog details .club-field{background:#fff}.club-dialog details{margin-top:12px}

.club-dialog.is-saving{text-align:center;width:min(480px,calc(100% - 32px))!important;padding:36px!important}.save-spinner{width:48px;height:48px;border:4px solid #e0eeee;border-top-color:#087e83;border-radius:50%;margin:0 auto 24px;animation:save-spin .9s linear infinite}.club-dialog .save-progress{margin:20px 0 0;color:#087e83;font-weight:700}@keyframes save-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.save-spinner{animation:none;border-top-width:8px}}

/* Keep the entire photo visible, including text near its edges. */
.site-shell .gallery-media img,.site-shell .instructor-photo img{object-fit:contain!important}
.site-shell #gallery .live-slide img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain}

.club-dialog.is-loading{text-align:center;width:min(480px,calc(100% - 32px))!important;padding:36px!important}

#site [hidden]{display:none!important}.club-id-warning{background:#fff2cc;border:2px solid #dfa735;border-radius:12px;padding:16px;font-weight:700;color:#623f0b;line-height:1.8}.club-id-warning strong{display:block;font-size:17px;margin-bottom:6px}

/* Preserve the complete hero photograph and keep captions legible on white. */
#site .hero-layer{background-size:contain!important;background-repeat:no-repeat!important;transform:none!important}
#site .hero-copy .tagline,#site .hero-copy h1{white-space:pre-wrap!important;color:#fff!important;opacity:1!important;-webkit-text-stroke:1px #111;paint-order:stroke fill;text-shadow:1px 1px 2px #000,-1px -1px 2px #000,1px -1px 2px #000,-1px 1px 2px #000}
.powered-credit{display:flex;align-items:center;justify-content:center;gap:8px;font:12px/1.5 sans-serif;margin:18px 0}.powered-credit i{display:inline-grid;place-items:center;width:22px;height:22px;background:#087e87;color:white;border-radius:6px;font:bold 18px sans-serif}.powered-credit strong{font-size:16px}

.pause-site{width:100%;margin-top:8px;padding:10px;background:#fff;border:1px solid #ac3941;border-radius:10px;color:#9d2630;font-weight:700}.pause-site:disabled{color:#666;border-color:#bbb}.pause-site[hidden]{display:none}


/* Natural photo proportions: no padded gray frames or cropped edges. */
#site .instructor-photo{aspect-ratio:auto!important;height:auto!important;background:transparent!important;border-radius:20px!important;box-shadow:none!important;align-self:center}
#site .instructor-photo img{display:block;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;border-radius:20px!important}
#site .gallery-media{height:auto!important;aspect-ratio:auto!important;background:transparent!important;border-radius:20px!important}
#site .gallery-media img{display:block;width:100%!important;height:auto!important;max-height:none!important;border-radius:20px!important}
#site .site-section img{border-radius:20px;max-width:100%;height:auto}
.news-card{padding:22px 0;border-bottom:1px solid var(--site-line,#ddd);overflow-wrap:anywhere}.news-card h3{font-size:22px;margin:10px 0}.news-card time{font-size:13px;color:var(--site-muted,#666)}.news-card img{display:block;margin:16px 0;width:100%;height:auto}.news-card a{display:inline-block;margin-top:14px}.news-more summary{cursor:pointer;padding:14px 24px;border:1px solid currentColor;border-radius:30px;width:fit-content;margin:22px auto}.contact-detail{overflow-wrap:anywhere}.contact-detail a{color:inherit}.clubace-logo{display:block!important;width:76px!important;height:54px!important;object-fit:cover!important;object-position:center!important;border-radius:8px!important;background:#fff}

#site .gallery-carousel,#site .gallery-slide{background:transparent!important}#site .contact-btn{overflow-wrap:anywhere;max-width:100%;white-space:normal}#site .contact-grid>*{min-width:0}


/* News: heading above, readable text beside a compact uncropped photograph. */
#site .news-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,32%);gap:24px;align-items:start}#site .news-content:not(:has(img)){grid-template-columns:1fr}#site .news-content img{width:100%;max-width:220px;height:auto;max-height:240px;object-fit:contain;margin:0;justify-self:end;border-radius:16px}#site .news-card h3{margin:8px 0 18px}#site .contact-detail{white-space:pre-wrap;overflow-wrap:anywhere;font-size:18px;line-height:1.9;background:none;border:0;padding:0;color:inherit;box-shadow:none}
.clubace-logo{background:transparent!important;object-fit:contain!important;border-radius:0!important;width:90px!important;height:64px!important}

.photo-upload,.gallery-upload{position:relative;border:1px solid #cbd7de;border-radius:14px;padding:14px;margin:8px 0 16px;background:white}.photo-upload input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.upload-thumb{display:block;max-width:100%;width:130px;height:100px;object-fit:contain;border-radius:10px;margin-bottom:8px}.upload-thumb[hidden],.upload-remove[hidden]{display:none!important}.upload-caption{display:block;overflow-wrap:anywhere;font-size:12px;margin:8px 0}.photo-upload .upload-remove,.gallery-upload .upload-remove{position:absolute;right:6px;top:6px;border:2px solid white;border-radius:50%;width:30px;height:30px;padding:0;background:#18313f;color:white;font-size:22px;line-height:24px;cursor:pointer}.upload-pick{padding:8px 14px;border:1px solid #9bb5c4;border-radius:8px;background:#fff;color:#18313f}.photo-upload [hidden]{display:none!important}
.builder .remove-photo,.builder .news-remove-image{display:none!important}
.builder .three{grid-template-columns:1fr!important}.builder .three>.upload{padding:0;border:0}.builder .photo-upload{min-height:94px}.builder .photo-upload .upload-pick{font-size:13px;width:auto}.builder .photo-upload .upload-thumb{width:140px;height:105px}


/* Shared layout corrections for preview, review and public pages. */
#site .news-content{grid-template-columns:minmax(0,1fr) minmax(160px,46%);gap:24px}#site .news-content img{width:100%;max-width:360px;max-height:360px;height:auto;object-fit:contain}#site .contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}#site .contact-details,#site .contact-grid>div:last-child{min-width:0;text-align:left}#site .contact-detail{margin:0 0 14px}#site .fee-value{display:flex;flex-direction:column;align-items:flex-start;gap:6px;overflow-wrap:anywhere}#site .fee-original{font-size:16px;font-weight:500;opacity:.75;text-decoration:line-through;text-decoration-thickness:2px}#site .fee-current{font-size:clamp(23px,2.8vw,34px);font-weight:900;white-space:pre-wrap}#site .fee-badge{display:inline-block;background:var(--site-accent);color:white;border-radius:8px;padding:5px 10px;font-size:14px;line-height:1.5}#site #pvFeePlans:not(:empty){margin-top:28px}#site .social-link{display:inline-flex;align-items:center;gap:9px}#site .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:auto}
@media(max-width:600px){#site .news-content{grid-template-columns:1fr}#site .news-content img{width:100%;max-width:360px;justify-self:start}#site .contact-grid{grid-template-columns:1fr;gap:24px}#site .footer-bottom{flex-wrap:wrap}}
#site #newsSection .section-grid,#site #news .section-grid{display:block}#site #newsSection .section-meta,#site #news .section-meta{margin-bottom:28px}

/* Compact fixed header: leave the majority of the pane available for editing. */
.builder .builder-head{padding:10px 14px!important;display:grid;grid-template-columns:1fr auto;gap:5px 8px;align-items:center}
.builder-head .maker-wordmark{margin:0!important}.builder-head .wordmark-top{font-size:20px!important;line-height:1.2!important}.builder-head .wordmark-bottom{font-size:14px!important;line-height:1.4!important}
.builder-head .clubace-credit{margin:0!important;gap:4px!important;flex-direction:column;font-size:9px!important}.builder-head .clubace-logo{width:54px!important;height:32px!important}
.builder-head .sub{display:none}.builder-head .resume-prominent{grid-column:1/-1;margin:3px 0 0!important;padding:8px!important;font-size:12px!important;min-height:36px}
.builder .maker-guidance{margin:10px 12px!important;padding:8px 10px!important;font-size:11px!important;line-height:1.6!important}

.branch-editor{border:1px solid #cadce0;border-radius:12px;padding:12px;margin:18px 0;background:#f7fbfc}.branch-editor .schedule-editor,#scheduleEditor{margin-top:12px}.remove-branch,#addScheduleBranch{padding:10px;margin-top:12px;cursor:pointer}
.remove-branch,#addScheduleBranch{border:1px solid #b8cdd2;border-radius:9px;background:white;color:#175260;font-weight:700;min-height:44px}#addScheduleBranch{width:100%;background:#087e87;color:white;border-color:#087e87}.remove-branch{color:#8c3535}

.club-dialog .management-save-notice{padding:14px 16px;border:2px solid #087e83;border-radius:12px;background:#edf8f7;color:#155860;font-weight:700}.club-dialog .management-save-notice.is-complete{border-color:#b7d9cb;background:#f0faf3}.club-dialog .management-save-button{display:block;width:100%;margin:12px 0 8px!important;font-weight:800}.club-dialog input:disabled{background:#edf0f1;color:#859397;cursor:not-allowed}.club-dialog button:disabled{cursor:not-allowed}#site .contact-grid{grid-template-columns:1fr}#site .contact-copy{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.9}
