/* Arc Studio 5.4: optional planning tools. No new permanent sales overlay. */
.p2-helper-link{margin:0 0 16px}.p2-compass{position:absolute;right:14px;top:14px;z-index:7;width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line,#d8dee7);background:var(--surface,#fff);border-radius:12px;cursor:pointer;padding:0;box-shadow:0 2px 8px #1018280c}.p2-compass:focus-visible{outline:3px solid var(--accent,#930337);outline-offset:3px}.p2-compass[hidden]{display:none!important}
.p2-north-preview{display:grid;place-items:center;margin:8px auto 20px}.p2-assistant{margin:12px 0 20px}.p2-step{font-size:12px;color:var(--muted,#667085);margin-bottom:8px}.p2-assistant fieldset{border:0;padding:0;margin:0}.p2-assistant legend{font-size:20px;font-weight:650;margin-bottom:16px}.p2-choices{display:grid;gap:8px}.p2-choices label{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 16px;border:1px solid var(--line,#d8dee7);border-radius:10px;cursor:pointer}.p2-choices label:has(input:checked){border-color:var(--accent,#930337);background:var(--accent-soft,#f8edf1)}.p2-choices input{min-height:20px!important;width:20px!important;accent-color:var(--accent,#930337);flex-shrink:0}.p2-choices input:focus-visible{outline:2px solid var(--accent,#930337);outline-offset:3px}.p2-assistant .modal-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-top:20px}
.p2-recommend-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.p2-recommend-card{border:1px solid var(--line,#d8dee7);border-radius:14px;overflow:hidden;padding:14px;display:flex;flex-direction:column;align-items:stretch;gap:10px}.p2-plan-preview>svg{width:100%;height:120px;background:#f6f7f9;border-radius:8px}.p2-recommend-card h3,.p2-recommend-card p{margin:0}.p2-recommend-card .button{margin-top:auto;min-height:44px;white-space:normal}.p2-recommend-card ul{padding-left:18px;margin:0;font-size:12px;line-height:1.6}.p2-recommend-card small{color:var(--muted,#667085);line-height:1.5}.p2-adjust{padding:8px 10px;background:#fff9ed;color:#795019;border-radius:8px;font-size:12px;line-height:1.5}
.p2-qr-container{display:grid;justify-items:center;gap:12px;margin:18px 0}.p2-qr-container:empty{display:none}.p2-qr-code{display:block;width:min(100%,280px);height:auto;aspect-ratio:1;image-rendering:pixelated;background:#fff}.p2-qr-container .button{min-height:44px}
.p2-compare-toolbar{display:flex;gap:14px;align-items:center;justify-content:space-between;margin:20px 0;padding:12px 16px;background:var(--surface,#fff);border:1px solid var(--line,#d8dee7);border-radius:12px}.p2-compare-check{display:flex;align-items:center;gap:8px;min-height:44px;margin-bottom:8px;cursor:pointer}.p2-compare-check input{width:20px;min-height:20px;height:20px;accent-color:#930337}.p2-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px}.p2-compare-card{min-width:0}.p2-compare-card>svg{width:100%;height:auto;max-height:180px}.p2-compare-card dl{margin:20px 0}.p2-compare-card dl>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line,#d8dee7)}.p2-compare-card dt{color:var(--muted,#667085);font-size:13px}.p2-compare-card dd{margin:0;font-weight:600;text-align:right}.p2-compare-note{margin-top:24px;line-height:1.6}
.p2-media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}.p2-media-grid figure{margin:0;min-width:0;border:1px solid var(--line,#d8dee7);border-radius:12px;overflow:hidden;background:var(--surface,#fff)}.p2-media-grid img,.p2-media-grid figure>svg{display:block;width:100%;height:210px;object-fit:contain;background:#f6f7f9}.p2-media-grid figcaption{padding:10px 12px;font-size:12px;color:var(--muted,#667085);line-height:1.4}.p2-photo-badge{font-size:11px;padding:5px 8px;background:var(--surface,#fff);color:var(--muted,#667085);border-radius:6px;position:absolute;bottom:8px;left:8px}.p2-showcase-metrics{display:flex;gap:8px 18px;flex-wrap:wrap;margin:16px 0}.p2-link-actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.p2-production p{line-height:1.6}.p2-media-section{margin:20px 0}.p2-media-section h3{margin:0 0 12px}.p2-showcase-plan>svg{width:100%;max-height:260px}.p2-showcase-plan{margin:0}.p2-showcase-plan figcaption{font-size:12px;color:var(--muted,#667085)}
@media(max-width:767px){.p2-compass{right:10px;top:52px;width:44px;height:44px}.p2-compare-toolbar{align-items:stretch;flex-direction:column}.p2-comparison{grid-template-columns:1fr}.p2-recommend-grid{grid-template-columns:1fr}.p2-plan-preview>svg{height:100px}.p2-media-grid{grid-template-columns:1fr}.p2-media-grid img{height:200px}.p2-production .p2-link-actions{flex-direction:column}.p2-production .button{min-height:48px}.p2-assistant .button{min-height:48px}.p2-qr-code{width:min(100%,244px)}}
@media(prefers-reduced-motion:reduce){.p2-compass,.p2-choices label{transition:none}}

.p2-assistant progress{width:100%;height:4px;accent-color:var(--accent,#930337);margin-bottom:20px}.p2-assistant fieldset{border:0;padding:0;margin:0}.p2-assistant legend{font-size:20px;line-height:1.5;font-weight:650;margin-bottom:12px}.p2-choices label{font-weight:400}.p2-match{font-size:12px;color:var(--muted,#667085)}.p2-plan-preview>svg{width:100%}.p2-recommend-card .full{width:100%}.p2-compare-card button:disabled,.p2-compare-toolbar button:disabled{opacity:.55;cursor:not-allowed}

#p2-compare-form{position:sticky;top:8px;z-index:8}#p2-compare-form .p2-compare-toolbar{box-shadow:0 2px 8px #1018280a}

/* 5.4.3.1: preserve short company copy and long words on narrow screens. */
.p2-company-intro{min-width:0}.p2-company-intro h3{margin-top:0}.p2-company-intro p{white-space:pre-line;overflow-wrap:anywhere}

/* 5.5 — preparation workspace and touch controls */
.engineering{min-width:0;max-width:100%;overflow-wrap:anywhere}.engineering details{border:1px solid var(--border,#d8dce2);border-radius:12px;padding:14px;margin:12px 0}.engineering summary{font-size:16px;font-weight:700;cursor:pointer;min-height:28px}.engineering p{font-size:14px;line-height:1.5}.engineering fieldset{border:0;padding:0;margin:0;min-width:0}.engineering-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.engineering input,.engineering select{width:100%;min-width:0;box-sizing:border-box}.engineering-table{overflow:auto;max-width:100%;margin:12px 0}.engineering table{border-collapse:collapse;width:100%;font-size:12px}.engineering th,.engineering td{padding:8px;border-bottom:1px solid #d8dce2;text-align:left;min-width:85px;vertical-align:top}.engineering th{background:#f6f7f9}.engineering-map{display:block;width:100%;max-height:330px;background:#fcfcfa;border:1px solid #d8dce2;border-radius:8px}.engineering-elevations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.engineering figure{margin:0;min-width:0}.engineering figcaption{font-size:12px}.engineering-elevation{width:100%;height:130px}.engineering .modal-actions{flex-wrap:wrap}.touch-object-mode{display:none}.support-file,.file-row,.attachment,.attachment-name{min-width:0;max-width:100%;overflow-wrap:anywhere}
@media(max-width:1199px){.engineering-fields,.engineering-elevations{grid-template-columns:minmax(0,1fr)}.engineering details{padding:12px}.engineering summary{min-height:44px;display:list-item}.selection-actions button,.nudge-grid button,.three-controls button,.three-controls select,#tool-hint button{min-height:44px;min-width:44px}.form-note{font-size:12px}.engineering .modal-actions .button{flex:1 1 180px}#tool-hint{max-width:calc(100% - 24px)}}

/* Shared layout prevents independent mobile toolbars from overlapping. */
@media(max-width:1199px){
 .view-controls{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:end;gap:8px;left:10px;right:10px;bottom:10px}
 .view-controls .touch-object-mode:not([hidden]){display:flex;position:static;grid-column:1;grid-row:1;gap:1px;padding:3px;border:1px solid var(--border);border-radius:13px;background:#fffffff5;box-shadow:var(--shadow-float);pointer-events:auto}
 .touch-object-mode .icon-button{width:44px;min-width:44px;height:44px;padding:0;border-radius:9px}
 .touch-object-mode svg{width:22px;height:22px}
 .view-controls .grid-tools{grid-column:2;grid-row:1;justify-self:end;margin:0}
 .view-controls .zoom-tools{grid-column:1 / -1;grid-row:2;justify-self:start;margin:0}
 .selection-actions,.view-lock-notice,.placement-feedback{bottom:128px}
}
@media(min-width:600px) and (max-width:1199px){
 .view-controls{grid-template-columns:max-content minmax(0,1fr) max-content}
 .view-controls .zoom-tools{grid-column:2;grid-row:1;justify-self:start}
 .view-controls .grid-tools{grid-column:3}
 .selection-actions,.view-lock-notice,.placement-feedback{bottom:76px}
}
@media(max-width:359px){
 .view-controls .grid-tools{display:grid;grid-template-columns:repeat(3,44px)}
 .selection-actions,.view-lock-notice,.placement-feedback{bottom:174px}
}
