/**
 * Enquiry block. Reads the theme's colour tokens, with fallbacks so it still looks
 * deliberate if the theme is ever swapped.
 */

.ph-enquire {
	--e-ink: var(--w, #251c18);
	--e-muted: var(--g, #5c4f46);
	--e-faint: var(--g2, #736760);
	--e-line: var(--line, rgba(37, 28, 24, .16));
	--e-line2: var(--line2, rgba(37, 28, 24, .09));
	--e-panel: var(--panel, #fff);
	--e-field: var(--field, #fff);
	--e-soft: var(--acc-soft, rgba(37, 28, 24, .08));
	--e-acc: var(--acc, #6e5e53);
	--e-solid: var(--solid, #251c18);
	--e-on-solid: var(--on-solid, #f5f1ed);
	--e-glow: var(--glow, rgba(37, 28, 24, .1));
	color: var(--e-ink);
}

.ph-enq-form { margin: 0; }

.ph-step { border: 0; margin: 0 0 34px; padding: 0; min-width: 0; }
.ph-step-head { display: flex; align-items: center; gap: 10px; font-family: var(--disp, Georgia, serif); font-size: 1.12rem; letter-spacing: -.01em; margin-bottom: 16px; padding: 0; }
.ph-step-num { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--e-soft); color: var(--e-ink); font-family: var(--logo, sans-serif); font-size: 11px; flex: none; }
.ph-help { color: var(--e-faint); font-size: .86rem; margin: -6px 0 14px; }

.ph-group { margin-bottom: 20px; }
.ph-group-label { font-family: var(--logo, sans-serif); font-size: 9.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--e-faint); margin: 0 0 10px; }

/* quantity chips */
.ph-chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ph-chip { position: relative; cursor: pointer; }
.ph-chip input, .ph-card input { position: absolute; opacity: 0; pointer-events: none; }
.ph-chip span { display: inline-block; padding: 9px 15px; border: 1px solid var(--e-line); border-radius: 100px; font-size: .86rem; background: var(--e-panel); transition: .2s; }
.ph-chip:hover span { border-color: var(--e-acc); }
.ph-chip input:checked + span { background: var(--e-solid); border-color: var(--e-solid); color: var(--e-on-solid); }
.ph-chip input:focus-visible + span, .ph-card input:focus-visible + .ph-card-body { outline: 1px solid var(--e-acc); outline-offset: 3px; }
.ph-qty-other { width: 130px; }

/* option cards */
.ph-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px; }
.ph-card { position: relative; cursor: pointer; display: block; }
.ph-card-body { display: block; height: 100%; padding: 12px 14px; border: 1px solid var(--e-line); border-radius: 10px; background: var(--e-panel); transition: .2s; }
.ph-card:hover .ph-card-body { border-color: var(--e-acc); }
.ph-card input:checked + .ph-card-body { background: var(--e-soft); border-color: var(--e-ink); box-shadow: 0 0 0 1px var(--e-ink); }
.ph-card-body b { display: block; font-weight: 500; font-size: .88rem; }
.ph-card-body small { display: block; color: var(--e-faint); font-size: .77rem; margin-top: 2px; line-height: 1.4; }

.ph-size { display: flex; align-items: flex-end; gap: 10px; margin-bottom: 20px; max-width: 420px; }
.ph-times { padding-bottom: 13px; color: var(--e-faint); }

.ph-turnaround { display: flex; align-items: center; gap: 8px; font-size: .85rem; color: var(--e-muted); margin: 4px 0 0; }
.ph-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--e-acc); }

/* direct channels */
.ph-channels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.ph-channel { display: flex; align-items: center; gap: 12px; padding: 15px 16px; border: 1px solid var(--e-line); border-radius: 12px; background: var(--e-panel); color: var(--e-ink); text-decoration: none; transition: .2s; min-width: 0; }
.ph-channel:hover { border-color: var(--e-ink); transform: translateY(-2px); }
.ph-channel svg { width: 22px; height: 22px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; }
.ph-channel span { min-width: 0; }
.ph-channel b { display: block; font-weight: 500; font-size: .92rem; }
.ph-channel small { display: block; font-size: .74rem; color: var(--e-faint); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ph-channel-wa { background: var(--e-solid); border-color: var(--e-solid); color: var(--e-on-solid); }
.ph-channel-wa svg { fill: currentColor; stroke: none; }
.ph-channel-wa small { color: inherit; opacity: .7; }
.ph-channel-wa:hover { border-color: var(--e-solid); }

/* form fields */
.ph-grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px 16px; margin-bottom: 8px; }
.ph-field { display: block; margin-bottom: 14px; }
.ph-field-narrow { max-width: 220px; }
.ph-field > span { display: block; font-family: var(--logo, sans-serif); font-size: 9.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--e-faint); margin-bottom: 8px; }
.ph-field > span em { font-style: normal; color: #8a4a2c; letter-spacing: .1em; }
.ph-field small { display: block; margin-top: 6px; font-size: .76rem; color: var(--e-faint); }
.ph-field input, .ph-field select, .ph-field textarea, .ph-qty-other {
	width: 100%; padding: 12px 14px; border: 1px solid var(--e-line); border-radius: 8px;
	background: var(--e-field); color: var(--e-ink); font: inherit; font-size: .92rem;
}
.ph-field input:focus, .ph-field select:focus, .ph-field textarea:focus, .ph-qty-other:focus { outline: none; border-color: var(--e-ink); box-shadow: 0 0 0 3px var(--e-glow); }
.ph-contact-rule { margin: 0 0 16px; }

/* artwork */
.ph-dropzone { border: 1px dashed var(--e-line); border-radius: 12px; background: var(--e-panel); margin-bottom: 18px; }
.ph-dropzone.is-dragging { border-color: var(--e-ink); background: var(--e-soft); }
.ph-file-input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.ph-dropzone-inner { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 20px 16px; text-align: center; cursor: pointer; }
.ph-dropzone-icon { font-size: 1.2rem; color: var(--e-acc); }
.ph-dropzone-inner strong { font-weight: 500; font-size: .9rem; }
.ph-dropzone-hint { font-size: .76rem; color: var(--e-faint); }
.ph-file-list { list-style: none; margin: 0; padding: 0 14px; }
.ph-file { display: flex; gap: 10px; align-items: center; padding: 9px 0; border-top: 1px solid var(--e-line2); font-size: .84rem; }
.ph-file-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ph-file-size { color: var(--e-faint); font-size: .76rem; }
.ph-file-remove { border: 0; background: none; color: #9a5a38; font-size: .78rem; text-decoration: underline; cursor: pointer; padding: 0; }
.ph-file.is-pending { color: var(--e-faint); font-style: italic; }

/* honeypot: off-screen for people, visible to naive bots */
.ph-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.ph-error { margin: 0 0 14px; padding: 11px 14px; border-radius: 8px; background: var(--err-bg, #f6e3dc); color: var(--err-fg, #8e3b24); font-size: .86rem; }

.ph-submit {
	display: inline-flex; align-items: center; gap: 12px; padding: 16px 30px; border: 1px solid var(--e-solid);
	background: var(--e-solid); color: var(--e-on-solid); font-family: var(--logo, sans-serif); font-size: 11px;
	letter-spacing: .2em; text-transform: uppercase; cursor: pointer; transition: .25s;
}
.ph-submit:hover { background: transparent; color: var(--e-solid); }
.ph-reassure { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 14px 0 0; font-size: .78rem; color: var(--e-faint); }
.ph-reassure span::before { content: "✓"; margin-right: 5px; color: var(--e-acc); }

.ph-notice { padding: 15px 18px; border-radius: 12px; margin-bottom: 24px; font-size: .9rem; border: 1px solid var(--e-line); }
.ph-notice strong { display: block; font-weight: 500; margin-bottom: 3px; }
.ph-notice-success { background: var(--e-soft); }
.ph-notice-error { background: var(--err-bg, #f6e3dc); color: var(--err-fg, #8e3b24); border-color: rgba(201, 123, 106, .4); }

@media (max-width: 760px) {
	.ph-channels { grid-template-columns: 1fr; }
	.ph-cards { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 420px) {
	.ph-cards { grid-template-columns: 1fr; }
}
