/* Phone layouts share the original calculator inputs and calculations. */
.tool-jumps,.map-controls,.map-editor{display:none}
@media(max-width:700px){
 body{padding:0!important;background:#f7f5f1!important;color:#211a15!important;display:block!important}
 .container{width:100%;padding:18px 16px 36px;min-width:0}
 .container>*{min-width:0}h1{font-size:30px!important;line-height:1.15!important;letter-spacing:0!important;margin-bottom:12px!important}
 .subtitle{font:14px/1.5 system-ui!important;letter-spacing:0!important;margin-bottom:20px!important}
 .brand-strip{display:none!important}.site-header{position:static!important}
 .grid,.grid-2,.grid-3,.layout-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
 .panel{padding:18px!important;border-radius:18px!important;background:#fff!important;margin-bottom:16px!important;min-width:0;scroll-margin-top:72px}
 .panel h2{font:600 17px/1.35 system-ui!important;letter-spacing:0!important;text-transform:none!important;padding-bottom:12px!important}
 .control-bar{display:grid!important;grid-template-columns:1fr 1fr;gap:12px!important}
 .control{display:flex!important;flex-direction:column;align-items:stretch!important;gap:8px!important;padding:14px!important;border-radius:14px!important;min-width:0}
 .control label,.input-row label{font:500 14px/1.4 system-ui!important;letter-spacing:0!important;text-transform:none!important}
 .control input,.control select,.input-row input[type=number]{font:16px system-ui!important;min-height:48px;width:100%!important;padding:10px!important;border-radius:9px!important;background:#f7f5f1!important;color:#211a15!important}
 .input-row{display:grid!important;grid-template-columns:minmax(0,1fr) 100px auto;gap:8px;padding:12px 0!important}
 .input-row .unit{min-width:0!important;margin:0!important;font:12px system-ui!important}
 button,select,.toggle{min-height:48px}input[type=checkbox]{width:22px;height:22px;flex-shrink:0}.toggle{padding:14px!important;border-radius:12px!important}.toggle .label{font:14px/1.4 system-ui!important}
 .summary-grid,.detail-grid,.breakdown{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .stat-card,.summary-card,.breakdown-item{padding:16px 12px!important;border-radius:14px!important;min-width:0;overflow-wrap:anywhere}
 .stat-card .value,.summary-card .v{font-size:25px!important;letter-spacing:0!important}.stat-card .label,.summary-card .l{font-size:11px!important;letter-spacing:.4px!important}
 .result{border-radius:16px!important;scroll-margin-top:72px}.result .number{font-size:52px!important}
 .tool-jumps{display:flex;position:sticky;top:0;z-index:20;background:#f7f5f1f5;gap:8px;padding:10px 0;margin:0 0 16px;overflow:auto}
 .tool-jumps a{flex:1;text-align:center;white-space:nowrap;text-decoration:none;font:600 13px system-ui;color:#8b1c1c;padding:14px 12px;background:#fff;border:1px solid #ded6ce;border-radius:24px}
 .tool-jumps a:focus-visible,button:focus-visible,tr:focus-visible{outline:2px solid #8b1c1c;outline-offset:3px}
 table.scenarios,table.scenarios tbody{display:block}table.scenarios thead{position:absolute;clip:rect(0 0 0 0);width:1px;height:1px;overflow:hidden}
 table.scenarios tr{display:block;margin-bottom:14px;padding:12px;border:1px solid #ded6ce;border-radius:14px}
 table.scenarios tr.selected{border:2px solid #8b1c1c;background:#f7ede9!important}
 table.scenarios td{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:8px 0!important;text-align:right!important;font-size:14px!important}
 table.scenarios td::before{content:attr(data-label);font:500 12px system-ui;text-align:left;color:#776b61}
 .mobile-table-scroll{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mobile-table-scroll table{min-width:430px}
 .mobile-reference{margin-bottom:16px}.mobile-reference>summary{font:600 16px/1.4 system-ui;padding:18px;background:#eee8e0;border-radius:14px;cursor:pointer}.mobile-reference>.panel{margin-top:10px}
 .chart-wrap{height:300px!important}.preset-bar{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important}.preset-bar button{font-size:14px!important;border-radius:10px!important}
 .map-viewport{width:100%;overflow:auto;padding:12px 0;-webkit-overflow-scrolling:touch}.map-stage{position:relative}.table-map{transform-origin:top left;margin:0!important;flex-shrink:0}
 .map-controls{display:flex;gap:8px;align-items:center;padding:12px 16px;flex-wrap:wrap}.map-controls button{background:#fff;border:1px solid #d8cec5;border-radius:24px;padding:12px 18px;color:#8b1c1c;font:600 14px system-ui}.map-controls p{width:100%;font:13px/1.5 system-ui;color:#766a60}
 .map-editor{display:block;margin:16px;padding:20px;border-radius:18px;background:#fff}.map-editor h2{font:24px Georgia;margin-bottom:12px}.map-editor label{display:block;font:500 14px system-ui;margin:16px 0 6px}.map-editor input{width:100%;font:16px system-ui;padding:12px;min-height:48px;border:1px solid #ddd;border-radius:8px}.legend,.footer-info{max-width:100%;padding:12px!important;flex-wrap:wrap!important}
}
/* Readable warm tones on the venue calculator's ivory mobile cards. */
@media(max-width:700px){
 body[data-cms-page="/tools/tools/venue-occupancy-calculator.html"]{
 --text-primary:#211a15;--text-secondary:#514438;--text-tertiary:#655747;
 --text-faint:#6b5d4f;--text-faint-2:#6b5d4f;--text-faint-3:#6b5d4f;
 --accent:#76582f;--accent-rgb:118,88,47;--accent-border-soft:#c8b89a;--accent-tint-2:#f0e9dd;
 --input-text:#211a15;--input-bg:#f7f5f1;--input-border-2:#b9aa96;--input-focus-border:#8b1c1c;
 --hairline-2:#e4ddd3;--hairline-3:#d5c9b8;--surface-tint-3:#f7f5f1;--surface-tint-5:#eee5d7;
 --color-info:#76582f;--color-negative:#8b1c1c;
 }
 body[data-cms-page="/tools/tools/venue-occupancy-calculator.html"] .toggle .sqft-input{
 color:#211a15!important;background:#fff!important;font-size:16px!important;min-height:44px;border-color:#b9aa96!important
 }
}
@media(max-width:700px){
 body[data-cms-page="/tools/tools/table-service-map.html"]>aside,
 body[data-cms-page="/tools/tools/table-service-map.html"]>.brand-footer{
 color:#514438!important;background:#f7f5f1;font-size:14px!important;line-height:1.65!important
 }
 body[data-cms-page="/tools/tools/table-service-map.html"] .site-footer{
 color:#514438;font-size:13px;border-top:1px solid #ded6ce
 }
 body[data-cms-page="/tools/tools/table-service-map.html"] .site-footer a{color:#8b1c1c}
}

@media(max-width:700px){
 .preset-bar{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .preset-bar button{min-width:0;white-space:normal;overflow-wrap:anywhere;padding:12px 8px!important;line-height:1.4}
 .control-bar{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .control input,.control select{min-width:0;max-width:100%}
 .mobile-table-scroll{scrollbar-width:thin}
}
@media(max-width:360px){.preset-bar{grid-template-columns:minmax(0,1fr)!important}.input-row{grid-template-columns:minmax(0,1fr) 82px auto}}
