/*
 * Palmwood Corporate Intake — customer-facing visual refresh.
 * v5.45.2 intentionally changes presentation only; field names, step order,
 * validation, submission, uploads, REST behavior and CRM/project persistence
 * remain owned by the existing Corporate Intake implementation.
 */
.prm-corporate-intake{
	--pc-ink:#131719;
	--pc-muted:#42494e;
	--pc-orange:#ff6a22;
	--pc-orange-dark:#f45814;
	--pc-accent:#a63809;
	--pc-line:#dddeda;
	--pc-canvas:#fafaf8;
	--pc-soft:#f3f4f0;
	--pc-peach:#fff2e8;
	--pc-green:#25603a;
	--pc-red:#ac2720;
	--pc-shadow:0 10px 36px rgba(21,27,21,.035);
	max-width:1352px;
	margin:0 auto;
	color:var(--pc-ink);
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
	font-size:15px;
	line-height:1.55;
}
.prm-corporate-intake *{box-sizing:border-box}
.prm-corp-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

/* Progress follows the same light, compact visual language as Standard. */
.prm-corp-progress{
	position:sticky;
	top:0;
	z-index:20;
	background:rgba(250,250,248,.96);
	backdrop-filter:blur(12px);
	padding:12px 0 15px;
	margin-bottom:24px;
	border-bottom:1px solid var(--pc-line);
}
.prm-corp-progress__top{
	display:flex;
	justify-content:space-between;
	align-items:baseline;
	gap:20px;
	color:var(--pc-muted);
	font-size:12px;
}
.prm-corp-progress__top strong{color:var(--pc-ink);font-size:12px}
.prm-corp-progress__bar{height:5px;background:#e6e9e2;border-radius:9px;overflow:hidden;margin-top:10px}
.prm-corp-progress__bar span{display:block;height:100%;width:12.5%;background:var(--pc-orange);transition:width .2s}

/* Main step card mirrors Standard's white panel. */
.prm-corp-step{
	display:none;
	background:#fff;
	border:1px solid var(--pc-line);
	border-radius:20px;
	padding:30px 32px;
	box-shadow:var(--pc-shadow);
}
.prm-corp-step.is-active{display:block}
.prm-corp-eyebrow{
	font-size:10px;
	text-transform:uppercase;
	letter-spacing:.18em;
	font-weight:800;
	color:var(--pc-accent);
	margin-bottom:8px;
}
.prm-corp-step h2{
	font-size:clamp(25px,3vw,34px);
	line-height:1.15;
	letter-spacing:-.7px;
	margin:0 0 10px;
	color:var(--pc-ink);
}
.prm-corp-lead{color:var(--pc-muted);margin:0 0 24px;max-width:760px;font-size:15px}

/* Fields intentionally match the Standard booking controls. */
.prm-corp-step>label,.prm-corp-grid label{
	display:flex;
	flex-direction:column;
	gap:7px;
	font-size:13px;
	font-weight:700;
	color:var(--pc-ink);
	margin-bottom:16px;
}
.prm-corp-step input,.prm-corp-step select,.prm-corp-step textarea{
	width:100%;
	min-height:46px;
	background:#fff;
	border:1px solid #aeb6b3;
	color:var(--pc-ink);
	border-radius:9px;
	padding:10px 12px;
	font:inherit;
	font-weight:500;
	line-height:1.4;
	outline:none;
}
.prm-corp-step input::placeholder,.prm-corp-step textarea::placeholder{color:#5b6469;opacity:1}
.prm-corp-step input:focus,.prm-corp-step select:focus,.prm-corp-step textarea:focus{
	outline:2px solid #c34e11;
	outline-offset:2px;
	border-color:#c34e11;
	box-shadow:none;
}
.prm-corp-step input[type=file]{padding:10px;background:#fff;min-height:44px}
.prm-corp-step textarea{resize:vertical;line-height:1.5;min-height:82px}
.prm-corp-grid{display:grid;gap:0 18px}
.prm-corp-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.prm-corp-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.prm-corp-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}

/* Corporate day-of shortcut: copy the primary booking contact into the
 * Day-of fields without linking them permanently. Customers can still edit. */
.prm-corp-copy-primary-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:2px 0 14px}
.prm-corp-copy-primary{appearance:none;border:1px solid #d45a1a;background:#fff7f0;color:#7f2b08;border-radius:9px;min-height:42px;padding:9px 14px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.prm-corp-copy-primary:hover{background:#ffeadc;border-color:#c64d10}
.prm-corp-copy-primary:focus{outline:2px solid #c34e11;outline-offset:2px}
.prm-corp-copy-primary-status{font-size:12px;color:var(--pc-green);font-weight:650}
.prm-corp-copy-primary-status.is-error{color:var(--pc-red)}

/* Multi-choice groups now read like the Standard option cards. */
.prm-corp-step fieldset{
	border:1px solid var(--pc-line);
	border-radius:13px;
	padding:18px;
	margin:4px 0 20px;
	background:#fafbf8;
}
.prm-corp-step legend{padding:0 7px;font-size:13px;font-weight:800;color:var(--pc-ink)}
.prm-corp-checks,.prm-corp-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.prm-corp-checks label,.prm-corp-service-grid label{
	display:flex;
	flex-direction:row;
	align-items:flex-start;
	gap:8px;
	background:#fff;
	border:1px solid #bbc2bd;
	border-radius:9px;
	padding:10px 11px;
	color:var(--pc-ink);
	font-size:12px;
	font-weight:650;
	line-height:1.45;
	cursor:pointer;
}
.prm-corp-checks label:hover,.prm-corp-service-grid label:hover{border-color:#d15a1d;background:#fffaf6}
.prm-corp-checks label:has(input:checked),.prm-corp-service-grid label:has(input:checked){
	border-color:#d95213;
	background:var(--pc-peach);
	box-shadow:0 0 0 1px #d95213;
}
.prm-corp-checks input,.prm-corp-service-grid input,.prm-corp-consent input{
	width:auto!important;
	min-height:0!important;
	accent-color:#c2480c;
	margin:2px 0 0;
	flex:0 0 auto;
}

/* Conditional/staff sections use the same quiet section-box treatment. */
.prm-corp-staff-card{
	background:#fafbf8;
	border:1px solid var(--pc-line);
	border-radius:13px;
	padding:19px;
	margin:0 0 18px;
}
.prm-corp-staff-card h3{margin:0 0 14px;font-size:18px;color:var(--pc-ink)}
.prm-corp-conditional[hidden]{display:none!important}

/* Review uses light information cards rather than dashboard-style black tiles. */
.prm-corp-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0}
.prm-corp-review__card{
	background:#f7f8f5;
	border:1px solid var(--pc-line);
	border-radius:10px;
	padding:14px 15px;
}
.prm-corp-review__card span{
	display:block;
	color:var(--pc-muted);
	font-size:10px;
	text-transform:uppercase;
	letter-spacing:.08em;
	margin-bottom:5px;
}
.prm-corp-review__card strong{font-size:14px;color:var(--pc-ink);line-height:1.45;font-weight:750}
.prm-corp-consent{
	display:flex!important;
	flex-direction:row!important;
	align-items:flex-start!important;
	gap:10px!important;
	background:#fff6ec;
	border:1px solid #f0cdb1;
	padding:14px!important;
	border-radius:10px;
	color:#633c13!important;
	line-height:1.5;
	font-size:12px!important;
}

/* Navigation mirrors Standard primary/secondary actions. */
.prm-corp-nav{display:flex;justify-content:space-between;gap:12px;margin-top:22px;padding:4px 0 8px}
.prm-corp-btn{
	border:1px solid #aeb6b3;
	border-radius:10px;
	min-height:45px;
	padding:11px 20px;
	font-weight:750;
	font-size:14px;
	cursor:pointer;
	line-height:1.35;
}
.prm-corp-btn.primary{background:var(--pc-orange);border-color:var(--pc-orange);color:var(--pc-ink)}
.prm-corp-btn.primary:hover{background:var(--pc-orange-dark);border-color:var(--pc-orange-dark)}
.prm-corp-btn.secondary{background:#fff;color:var(--pc-ink)}
.prm-corp-btn.secondary:hover{background:#f2f4ef}
.prm-corp-btn:disabled{cursor:not-allowed;background:#eee!important;color:#555!important;border-color:#ddd!important;opacity:1}

/* Error state matches Standard's restrained inline alert. */
.prm-corp-error{margin:18px 0 0;background:#fff3f2;color:var(--pc-red);border:1px solid #dab6b2;border-radius:10px;padding:12px 14px;font-size:13px}
.prm-corp-invalid{border:2px solid var(--pc-red)!important;box-shadow:none!important}

/* Success screen now belongs to the same visual family as Standard/Portal. */
.prm-corp-success{
	text-align:center;
	background:#fff;
	border:1px solid var(--pc-line);
	border-radius:20px;
	padding:48px 32px;
	box-shadow:var(--pc-shadow);
	color:var(--pc-ink);
}
.prm-corp-success__icon{
	width:58px;
	height:58px;
	border-radius:50%;
	background:#e8f4e7;
	color:var(--pc-green);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:29px;
	font-weight:800;
	margin:0 auto 18px;
	border:1px solid #bdd0be;
}
.prm-corp-success h2{font-size:clamp(27px,3.2vw,38px);line-height:1.15;letter-spacing:-.8px;margin:0 0 12px;color:var(--pc-ink)}
.prm-corp-success p{color:var(--pc-muted);max-width:650px;margin:0 auto 24px;font-size:15px;line-height:1.65}
.prm-corp-home{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:45px;
	background:var(--pc-orange);
	border:1px solid var(--pc-orange);
	color:var(--pc-ink)!important;
	padding:11px 20px;
	border-radius:10px;
	text-decoration:none;
	font-weight:750;
	font-size:14px;
}
.prm-corp-home:hover{background:var(--pc-orange-dark);border-color:var(--pc-orange-dark)}

@media(max-width:820px){
	.prm-corp-grid.three,.prm-corp-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
	.prm-corp-checks,.prm-corp-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.prm-corp-step{padding:25px}
}
@media(max-width:600px){
	.prm-corporate-intake{font-size:14px}
	.prm-corp-progress{position:relative;top:auto;margin-bottom:18px;background:transparent;backdrop-filter:none}
	.prm-corp-step{padding:22px 17px;border-radius:15px}
	.prm-corp-step h2{font-size:28px;letter-spacing:-.6px}
	.prm-corp-lead{font-size:13px}
	.prm-corp-grid.two,.prm-corp-grid.three,.prm-corp-grid.four,.prm-corp-checks,.prm-corp-service-grid,.prm-corp-review{grid-template-columns:1fr}
	.prm-corp-step input,.prm-corp-step select,.prm-corp-step textarea{font-size:16px}
	.prm-corp-step fieldset{padding:15px 12px}
	.prm-corp-nav{position:sticky;bottom:0;z-index:15;background:rgba(250,250,248,.98);padding:12px 0 14px;border-top:1px solid var(--pc-line)}
	.prm-corp-btn{flex:1;font-size:13px;padding:11px 14px}
	.prm-corp-progress__top{font-size:11px}
	.prm-corp-success{padding:38px 20px;border-radius:15px}
	.prm-corp-success p{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.prm-corp-progress__bar span{transition:none}}

/* v5.45.4 — Corporate status rail aligned to the Standard booking shell. */
.prm-corp-shell{display:grid;grid-template-columns:286px minmax(0,1fr);gap:55px;align-items:start}
.prm-corp-side{position:sticky;top:22px;align-self:start;min-width:0}
.prm-corp-main{min-width:0}
.prm-corp-side-brand{height:84px;margin-bottom:22px;display:flex;align-items:center;overflow:hidden}
.prm-corp-side-brand .custom-logo-link{display:block;max-width:100%;height:84px}
.prm-corp-side-brand .custom-logo{display:block;max-width:240px!important;width:auto!important;height:82px!important;object-fit:contain!important;object-position:left center}
.prm-corp-wordmark{font-size:21px;font-weight:850;letter-spacing:.04em;color:var(--pc-ink);line-height:1.05}.prm-corp-wordmark span{color:var(--pc-orange)}
.prm-corp-side-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:var(--pc-accent);margin-bottom:8px}
.prm-corp-side-title{font-size:32px!important;line-height:1.03!important;font-weight:800;letter-spacing:-1px!important;margin:0 0 14px!important;color:var(--pc-ink)!important}
.prm-corp-side-intro{font-size:14px;line-height:1.62;color:var(--pc-muted);max-width:270px;margin:0 0 25px}
.prm-corp-side-steps{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:4px}
.prm-corp-side-step{display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;min-width:0;color:#353a3e;transition:background .16s,color .16s}
.prm-corp-side-step-number{width:29px;height:29px;flex:0 0 29px;border:1px solid #bec4bd;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:750;background:#fff;color:var(--pc-ink)}
.prm-corp-side-step-copy{min-width:0;line-height:1.25}.prm-corp-side-step-copy strong{font-size:13px;display:block;font-weight:700;color:inherit}.prm-corp-side-step-copy small{font-size:10px;display:block;color:var(--pc-muted);margin-top:3px;line-height:1.35}
.prm-corp-side-step.current{background:var(--pc-peach);font-weight:750}.prm-corp-side-step.current .prm-corp-side-step-number{background:var(--pc-orange);border-color:var(--pc-orange);color:var(--pc-ink)}
.prm-corp-side-step.done .prm-corp-side-step-number{background:#e9f2e9;color:var(--pc-green);border-color:#bdd0be}.prm-corp-side-step.done .prm-corp-side-step-number::before{content:'✓';font-size:14px}.prm-corp-side-step.done .prm-corp-side-step-number{font-size:0}
.prm-corp-side-summary{border:1px solid var(--pc-line);border-radius:14px;background:#fff;padding:16px;margin:0 0 20px;box-shadow:var(--pc-shadow)}
.prm-corp-side-summary-head{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid var(--pc-line);padding-bottom:11px;margin-bottom:11px}.prm-corp-side-summary-head strong{font-size:13px}.prm-corp-side-summary-head span{font-size:9px;font-weight:800;letter-spacing:.08em;color:#923307;background:var(--pc-peach);border:1px solid #efc5a8;border-radius:5px;padding:3px 6px}
.prm-corp-side-summary dl{margin:0;display:grid;gap:6px}.prm-corp-side-summary dt{font-size:10px;font-weight:750;color:var(--pc-muted);text-transform:uppercase;letter-spacing:.05em}.prm-corp-side-summary dd{font-size:12px;font-weight:650;margin:0 0 4px;overflow-wrap:anywhere;color:var(--pc-ink)}
.prm-corp-side-help{font-size:12px;border-top:1px solid var(--pc-line);padding-top:16px;color:var(--pc-muted)}.prm-corp-side-help strong{display:block;color:var(--pc-ink);margin-bottom:4px}.prm-corp-side-help a{color:var(--pc-ink);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.prm-corporate-intake.is-success{max-width:980px}.prm-corporate-intake.is-success .prm-corp-shell{display:block}.prm-corporate-intake.is-success .prm-corp-side{display:none}.prm-corporate-intake.is-success .prm-corp-main{max-width:980px;margin:0 auto}
@media(max-width:1120px){.prm-corp-shell{grid-template-columns:239px minmax(0,1fr);gap:28px}.prm-corp-side-brand .custom-logo{max-width:219px!important}.prm-corp-side-title{font-size:28px!important}.prm-corp-side-intro{font-size:13px}}
@media(max-width:900px){.prm-corp-shell{display:block}.prm-corp-side{position:static}.prm-corp-side-brand,.prm-corp-side-kicker,.prm-corp-side-title,.prm-corp-side-intro,.prm-corp-side-summary,.prm-corp-side-help{display:none}.prm-corp-side-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0 0 18px}.prm-corp-side-step{min-height:70px;justify-content:center;flex-direction:column;text-align:center;padding:7px 4px;gap:6px;border:1px solid transparent}.prm-corp-side-step.current{border-color:#e8c5a9}.prm-corp-side-step-number{width:27px;height:27px;flex-basis:27px}.prm-corp-side-step-copy strong{font-size:10px}.prm-corp-side-step-copy small{display:none}.prm-corp-progress{position:relative;top:auto}}
@media(max-width:540px){.prm-corp-side-steps{gap:3px}.prm-corp-side-step{min-height:63px;padding:6px 2px}.prm-corp-side-step-copy strong{font-size:9px;letter-spacing:-.1px}}

/* v5.45.6 — Corporate desktop 1/3 status rail + 2/3 form composition.
 * The shell itself is the layout authority: one fractional column for the
 * planning/status rail and two fractional columns for the active form.
 */
@media(min-width:1101px){
  .prm-unified-route--corporate .prm-corporate-intake{
    width:min(1680px,calc(100vw - 72px));
    max-width:none;
  }
  .prm-unified-route--corporate .prm-corp-shell{
    grid-template-columns:minmax(300px,1fr) minmax(0,2fr);
    gap:clamp(44px,3.5vw,68px);
    width:100%;
    align-items:start;
  }
  .prm-unified-route--corporate .prm-corp-side{
    width:100%;
    max-width:none;
  }
  .prm-unified-route--corporate .prm-corp-side-intro{
    max-width:100%;
  }
  .prm-unified-route--corporate .prm-corp-main{
    width:100%;
    max-width:none;
  }
  .prm-unified-route--corporate .prm-corp-progress,
  .prm-unified-route--corporate .prm-corp-step,
  .prm-unified-route--corporate .prm-corp-nav{
    width:100%;
    max-width:none;
  }
}
@media(min-width:1700px){
  .prm-unified-route--corporate .prm-corporate-intake{
    width:min(1720px,calc(100vw - 96px));
  }
}


/* v5.47.1: corporate portal handoff after successful intake. */
.prm-corp-success-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.prm-corp-home--secondary{background:#fff!important;border-color:var(--pc-line)!important;color:var(--pc-ink)!important}
.prm-corp-home--secondary:hover{background:var(--pc-soft)!important;border-color:#c6cbc5!important}
