.gate-public{max-width:1100px;margin:12px auto;padding:0 12px;font:16px/1.5 system-ui}
.gate-public ol{margin:6px 0 0;padding-left:22px;columns:2}
@media(max-width:600px){.gate-public ol{columns:1}}
body.gated .wrap,body.gated #app,body.gated #phead{filter:blur(7px);pointer-events:none;user-select:none;max-height:70vh;overflow:hidden}
#gate{position:fixed;inset:0;z-index:9999;background:rgba(17,24,39,.72);display:none;align-items:center;justify-content:center;padding:14px;overflow:auto}
body.gated #gate{display:flex}
body.gated.gate-inline #gate{position:absolute;inset:auto 0 auto 0;background:none;padding:14px}
.gate-box{background:#fff;color:#111827;max-width:440px;width:100%;border-radius:14px;padding:20px;box-shadow:0 10px 40px rgba(0,0,0,.35);font:16px/1.45 system-ui}
.gate-box h2{margin:0 0 6px;font-size:22px}
.gate-box input,.gate-box select{width:100%;box-sizing:border-box;min-height:46px;font-size:16px;padding:8px 10px;border:1px solid #9ca3af;border-radius:8px;margin:4px 0 8px}
.gate-box button{width:100%;min-height:46px;font:700 16px system-ui;border:0;border-radius:23px;background:#0f766e;color:#fff;cursor:pointer}
.gate-box .alt{border-top:1px solid #e5e7eb;margin-top:14px;padding-top:12px}
.gate-err{color:#b91c1c;min-height:1.2em;font-size:14px}
.gate-ok{color:#166534;font-weight:700}
.gate-wa{display:block;text-align:center;margin-top:12px;padding:11px;border-radius:23px;background:#16a34a;color:#fff;font-weight:700;text-decoration:none}
.gate-hp{position:absolute;left:-9999px}
.gate-foot{text-align:center;font:13px system-ui;color:#4b5563;padding:10px}

.amen-chips{display:flex;gap:8px;overflow-x:auto;padding:6px 0 10px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.amen-chips button{flex:0 0 auto;min-height:44px;padding:0 14px;border-radius:22px;border:1px solid #9ca3af;background:#fff;color:#111827;font:600 15px system-ui;cursor:pointer}
.amen-chips button.on{background:#0f766e;color:#fff;border-color:#0f766e}
#map.amen-map{height:420px}
@media(max-width:700px){#map.amen-map{height:60vh}}
.amen-gm{display:inline-flex;align-items:center;min-height:44px;margin:10px 0}
.amen-list button{display:flex;justify-content:space-between;gap:10px;width:100%;min-height:52px;text-align:left;padding:10px 12px;margin:0 0 6px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:#111827;font:15px/1.35 system-ui;cursor:pointer}
.amen-list button span:last-child{text-align:right;white-space:nowrap}
.amen-list button.on{border-color:#0f766e;background:#ecfdf5}
html,body{overflow-x:hidden;max-width:100%}
.grid2>*{min-width:0}
@media(max-width:700px){.grid2{grid-template-columns:minmax(0,1fr)!important}.panel table{width:100%;table-layout:fixed}.panel td{overflow-wrap:anywhere}.photos{max-width:100%;overflow-x:auto}}
@media(max-width:700px){.panel{box-sizing:border-box;max-width:100%}.panel td:first-child{width:42%}.panel table{max-width:100%}}
@media(max-width:700px){.panel td,.panel th{white-space:normal!important;word-break:break-word}}
.gate-consent{display:flex;gap:10px;align-items:flex-start;margin:6px 0 12px;font-size:14px}.gate-consent input{width:22px!important;min-height:22px!important;margin:2px 0 0!important;flex:0 0 22px}.gate-link{display:flex;align-items:center;justify-content:center;min-height:44px;margin:8px 0;border:2px solid #0f766e;border-radius:22px;color:#0f766e;font-weight:700;text-decoration:none}#gate-open{margin-top:8px}
