/* Quotation page (Phase 6) - scoped .tts-qpage-free modules on top of tts-plist tokens. */

/* Elementor page parity: remove default container gap + widget margins (page 36). */
.elementor-36 .elementor-element.elementor-widget:not(:last-child) { margin-block-end: 0; }
.elementor-36 .e-con,
.elementor-36 .e-con-full { --gap: 0px; gap: 0px; }

/* Hero */
body.page-id-36 { background-color: #050d1a; }
.tts-plist.tts-plist.tts-qhero { position: relative; overflow: hidden; background: var(--pl-navy-950); }
.tts-plist.tts-plist .tts-qhero__inner { position: relative; padding-block: 7rem 3rem; }
@media (min-width: 640px) { .tts-plist.tts-plist .tts-qhero__inner { padding-top: 8rem; padding-bottom: 3rem; } }
.tts-plist.tts-plist .tts-qhero__content { margin-top: 1.75rem; max-width: 48rem; }
.tts-plist.tts-plist .tts-qhero__h1 { margin-top: 1.5rem; font-family: Manrope, Inter, sans-serif; font-size: 2.5rem; font-weight: 800; line-height: 1.06; letter-spacing: -0.03em; color: #fff; text-wrap: balance; }
@media (min-width: 640px) { .tts-plist.tts-plist .tts-qhero__h1 { font-size: 3rem; } }
.tts-plist.tts-plist .tts-qhero__desc { margin-top: 1.25rem; max-width: 42rem; font-size: 1rem; line-height: 1.625; color: rgba(226, 235, 243, 0.75); }
@media (min-width: 640px) { .tts-plist.tts-plist .tts-qhero__desc { font-size: 1.125rem; } }
.tts-plist.tts-plist .tts-qhero__chips { margin: 1.75rem 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; column-gap: 1.5rem; row-gap: 0.625rem; }
.tts-plist.tts-plist .tts-qhero__chips li { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; line-height: 1.25rem; font-weight: 500; color: rgba(226, 235, 243, 0.85); }
.tts-plist.tts-plist .tts-qhero__chips svg { width: 1rem; height: 1rem; color: #f07072; }

/* Main grid */
.tts-plist.tts-plist.tts-qmain .tts-plist__shell { padding-block: 3.5rem; }
@media (min-width: 640px) { .tts-plist.tts-plist.tts-qmain .tts-plist__shell { padding-block: 4rem; } }
.tts-plist.tts-plist .tts-qmain__grid { display: grid; gap: 2.5rem; }
@media (min-width: 1024px) { .tts-plist.tts-plist .tts-qmain__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 3rem; } .tts-plist.tts-plist .tts-qmain__left { grid-column: span 7 / span 7; } .tts-plist.tts-plist .tts-qmain__right { grid-column: span 5 / span 5; } }
.tts-plist.tts-plist .tts-qmain__card { border-radius: 1.5rem; border: 1px solid var(--pl-line); background: #fff; padding: 1.5rem; box-shadow: var(--pl-card-shadow); }
@media (min-width: 640px) { .tts-plist.tts-plist .tts-qmain__card { padding: 2rem; } }
.tts-plist.tts-plist .tts-qmain__h2 { font-family: Manrope, Inter, sans-serif; font-size: 1.25rem; line-height: 1.75rem; font-weight: 800; letter-spacing: -0.02em; color: var(--pl-navy-900); }
.tts-plist.tts-plist .tts-qmain__sub { margin-top: 0.5rem; font-size: 0.875rem; line-height: 1.625; color: var(--pl-slate-600); }
.tts-plist.tts-plist .tts-qmain__req { font-weight: 700; color: var(--pl-brand-500); }
.tts-plist.tts-plist .tts-qmain__form { margin-top: 2rem; }

/* Sidebar */
.tts-plist.tts-plist .tts-qmain__sidebar { display: flex; flex-direction: column; gap: 1.25rem; }
@media (min-width: 1024px) { .tts-plist.tts-plist .tts-qmain__sidebar { position: sticky; top: 7rem; } }
.tts-plist.tts-plist .tts-qside__contact { border-radius: 1.5rem; border: 1px solid var(--pl-line); background: var(--pl-navy-900); padding: 1.5rem; color: #fff; }
.tts-plist.tts-plist .tts-qside__ctitle { font-family: Manrope, Inter, sans-serif; font-size: 1rem; line-height: 1.5rem; font-weight: 700; letter-spacing: -0.02em; }
.tts-plist.tts-plist .tts-qside__links { margin: 1rem 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 0.75rem; font-size: 0.875rem; line-height: 1.25rem; }

.tts-plist.tts-plist .tts-qside__links a { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; color: var(--pl-navy-100); transition: color 0.15s; }
.tts-plist.tts-plist .tts-qside__links a:hover { color: #fff; }
.tts-plist.tts-plist .tts-qside__links svg { width: 1rem; height: 1rem; color: #f07072; }
.tts-plist.tts-plist .tts-qside__note { margin-top: 1.25rem; border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 1rem; font-size: 0.75rem; line-height: 1.625; color: rgba(226, 235, 243, 0.7); }
.tts-plist.tts-plist .tts-qside__steps { border-radius: 1.5rem; border: 1px solid var(--pl-line); background: var(--pl-mist); padding: 1.5rem; }
.tts-plist.tts-plist .tts-qside__ol { margin: 1.5rem 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 1.25rem; }
.tts-plist.tts-plist .tts-qside__ol li { display: flex; gap: 1rem; }
.tts-plist.tts-plist .tts-qside__num { display: grid; height: 2rem; width: 2rem; flex-shrink: 0; place-items: center; border-radius: 9999px; background: var(--pl-brand-500); font-family: Manrope, Inter, sans-serif; font-size: 0.875rem; line-height: 1.25rem; font-weight: 800; color: #fff; }
.tts-plist.tts-plist .tts-qside__stitle { display: block; font-size: 0.875rem; line-height: 1.25rem; font-weight: 700; color: var(--pl-navy-900); }
.tts-plist.tts-plist .tts-qside__sdesc { display: block; margin-top: 0.25rem; font-size: 0.875rem; line-height: 1.625; color: var(--pl-slate-600); }
.tts-plist.tts-plist .tts-qside__fast { border-radius: 1.5rem; border: 1px solid var(--pl-line); background: #fff; padding: 1.5rem; box-shadow: var(--pl-card-shadow); }
.tts-plist.tts-plist .tts-qside__ftitle { font-family: Manrope, Inter, sans-serif; font-size: 1rem; line-height: 1.5rem; font-weight: 700; letter-spacing: -0.02em; color: var(--pl-navy-900); }
.tts-plist.tts-plist .tts-qside__ftext { margin-top: 0.375rem; font-size: 0.875rem; line-height: 1.625; color: var(--pl-slate-600); }
.tts-plist.tts-plist .tts-qside__chips { margin: 1rem 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.tts-plist.tts-plist .tts-qside__chips li { border-radius: 9999px; border: 1px solid var(--pl-line); background: var(--pl-mist); padding: 0.375rem 0.75rem; font-size: 0.75rem; line-height: 1rem; font-weight: 600; color: var(--pl-navy-800); }

/* Form */
.tts-plist.tts-plist .tts-qform { display: flex; flex-direction: column; gap: 1.25rem; }
.tts-plist.tts-plist .tts-qhp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.tts-plist.tts-plist .tts-qinfo { display: flex; align-items: flex-start; gap: 0.75rem; border-radius: 1rem; border: 1px solid var(--pl-navy-200); background: var(--pl-navy-50); padding: 1rem; }
.tts-plist.tts-plist .tts-qinfo svg { width: 1.125rem; height: 1.125rem; flex-shrink: 0; margin-top: 0.125rem; color: var(--pl-navy-700); }
.tts-plist.tts-plist .tts-qinfo p { font-size: 0.875rem; line-height: 1.625; color: var(--pl-navy-800); }
.tts-plist.tts-plist .tts-qalert { border-radius: 1rem; border: 1px solid #fca5a5; background: #fef2f2; padding: 1rem; font-size: 0.875rem; line-height: 1.625; font-weight: 600; color: #991b1b; }
.tts-plist.tts-plist .tts-qprod { display: flex; align-items: center; gap: 1rem; border-radius: 1rem; border: 1px solid var(--pl-navy-200); background: var(--pl-navy-50); padding: 1rem; }
.tts-plist.tts-plist .tts-qprod__img { position: relative; height: 5rem; width: 6rem; flex-shrink: 0; overflow: hidden; border-radius: 0.75rem; background: #fff; }
.tts-plist.tts-plist .tts-qprod__i { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 0.375rem; }
.tts-plist.tts-plist .tts-qprod__lbl { font-size: 0.75rem; line-height: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.025em; color: var(--pl-brand-600); }
.tts-plist.tts-plist .tts-qprod__name { font-size: 0.875rem; line-height: 1.25rem; font-weight: 700; color: var(--pl-navy-900); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tts-plist.tts-plist .tts-qprod__meta { font-size: 0.75rem; line-height: 1rem; color: var(--pl-slate-600); }
.tts-plist.tts-plist .tts-qgroup__h { font-family: Manrope, Inter, sans-serif; font-size: 0.875rem; line-height: 1.25rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; color: var(--pl-brand-600); }
.tts-plist.tts-plist .tts-qgroup__p { margin-top: 0.375rem; font-size: 0.875rem; line-height: 1.625; color: var(--pl-slate-600); }
.tts-plist.tts-plist .tts-qgroup--div { border-top: 1px solid var(--pl-line); padding-top: 1.5rem; }
.tts-plist.tts-plist .tts-qgrid { margin-top: 1.25rem; display: grid; gap: 1.25rem; }
@media (min-width: 640px) { .tts-plist.tts-plist .tts-qgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tts-plist.tts-plist .tts-qgrid--mt { margin-top: 1.25rem; }
.tts-plist.tts-plist .tts-qfield--mt { margin-top: 1.25rem; }
.tts-plist.tts-plist .tts-qfield label { margin-bottom: 0.375rem; display: block; font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; color: var(--pl-navy-900); }
.tts-plist.tts-plist .tts-qreq { margin-left: 0.25rem; color: var(--pl-brand-500); }
.tts-plist.tts-plist .tts-qfield input:not([type="checkbox"]),
.tts-plist.tts-plist .tts-qfield select,
.tts-plist.tts-plist .tts-qfield textarea {
	width: 100%; border-radius: 0.75rem; border: 1px solid var(--pl-line); background: #fff;
	font-family: inherit; font-size: 0.875rem; color: var(--pl-navy-900); transition: border-color 0.15s, box-shadow 0.15s;
}
.tts-plist.tts-plist .tts-qfield input:not([type="checkbox"]),
.tts-plist.tts-plist .tts-qfield select { height: 2.75rem; padding: 0 0.875rem; }
.tts-plist.tts-plist .tts-qfield textarea { padding: 0.75rem 0.875rem; line-height: 1.25rem; }
.tts-plist.tts-plist .tts-qfield input::placeholder, .tts-plist.tts-plist .tts-qfield textarea::placeholder { color: var(--pl-slate-400); }
.tts-plist.tts-plist .tts-qfield input:focus, .tts-plist.tts-plist .tts-qfield select:focus, .tts-plist.tts-plist .tts-qfield textarea:focus { border-color: var(--pl-navy-500); outline: none; box-shadow: 0 0 0 2px rgba(63, 119, 161, 0.25); }
.tts-plist.tts-plist .tts-qfield--err input, .tts-plist.tts-plist .tts-qfield--err select, .tts-plist.tts-plist .tts-qfield--err textarea { border-color: #f07072; }
.tts-plist.tts-plist .tts-qerror { margin-top: 0.375rem; font-size: 0.75rem; line-height: 1rem; font-weight: 500; color: var(--pl-brand-600); }
.tts-plist.tts-plist .tts-qhint { margin-top: 0.375rem; font-size: 0.75rem; line-height: 1rem; color: var(--pl-slate-500); }
.tts-plist.tts-plist .tts-qaddons { margin-top: 1.25rem; border: 0; padding: 0; }
.tts-plist.tts-plist .tts-qaddons legend { margin-bottom: 0.625rem; display: block; font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; color: var(--pl-navy-900); }
.tts-plist.tts-plist .tts-qaddons__grid { display: grid; gap: 0.625rem; }
@media (min-width: 640px) { .tts-plist.tts-plist .tts-qaddons__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .tts-plist.tts-plist .tts-qaddons__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.tts-plist.tts-plist .tts-qaddon { display: flex; min-height: 2.75rem; cursor: pointer; align-items: center; gap: 0.625rem; border-radius: 0.75rem; border: 1px solid var(--pl-line); background: #fff; padding: 0.625rem 0.875rem; font-size: 0.875rem; line-height: 1.25rem; color: var(--pl-slate-600); transition: all 0.15s; }
.tts-plist.tts-plist .tts-qaddon:hover { border-color: var(--pl-navy-200); }
.tts-plist.tts-plist .tts-qaddon.is-checked { border-color: #f2544f; background: var(--pl-brand-50); color: var(--pl-navy-900); }
.tts-plist.tts-plist .tts-qaddon input { height: 1rem; width: 1rem; accent-color: var(--pl-brand-500); }
.tts-plist.tts-plist .tts-qsubmit { display: flex; flex-direction: column; gap: 1rem; border-top: 1px solid var(--pl-line); padding-top: 1.5rem; }
@media (min-width: 640px) { .tts-plist.tts-plist .tts-qsubmit { flex-direction: row; align-items: center; } }
.tts-plist.tts-plist .tts-qsubmit__btn { width: 100%; }
@media (min-width: 640px) {
	/* Reference geometry: the button sits at its min-content width (147.8px at 16px
	   text) so "Request for Quote" wraps onto two lines inside h-12. */
	.tts-plist.tts-plist .tts-qsubmit__btn { width: 9.25rem; flex: 0 0 auto; }
}
.tts-plist.tts-plist .tts-qsubmit__sendicon { width: 1.125rem; height: 1.125rem; }
.tts-plist.tts-plist .tts-qsubmit__spin { display: none; width: 1.25rem; height: 1.25rem; border-radius: 9999px; border: 2px solid rgba(255, 255, 255, 0.4); border-top-color: #fff; animation: tts-qspin 0.7s linear infinite; }
@keyframes tts-qspin { to { transform: rotate(360deg); } }
.tts-plist.tts-plist .tts-qsubmit__btn.is-busy .tts-qsubmit__spin { display: inline-block; }
.tts-plist.tts-plist .tts-qsubmit__btn.is-busy .tts-qsubmit__sendicon { display: none; }
.tts-plist.tts-plist .tts-qsubmit__note { font-size: 0.75rem; line-height: 1.625; color: var(--pl-slate-500); }

/* Success state (real submission confirmation) */
.tts-plist.tts-plist .tts-qok { border-radius: 1rem; border: 1px solid #86efac; background: #f0fdf4; padding: 1.5rem; }
.tts-plist.tts-plist .tts-qok__title { display: flex; align-items: center; gap: 0.625rem; font-size: 1.125rem; line-height: 1.75rem; font-weight: 700; color: #14532d; }
.tts-plist.tts-plist .tts-qok__title svg { width: 1.25rem; height: 1.25rem; flex-shrink: 0; color: #16a34a; }
.tts-plist.tts-plist .tts-qok__text { margin-top: 0.75rem; font-size: 0.875rem; line-height: 1.625; color: rgba(20, 83, 45, 0.85); }
.tts-plist.tts-plist .tts-qok__ref { margin-top: 1rem; font-size: 0.875rem; line-height: 1.25rem; color: #14532d; }
.tts-plist.tts-plist .tts-qok__ref strong { font-weight: 800; }
.tts-plist.tts-plist .tts-qok__links { margin-top: 1.25rem; display: flex; flex-direction: column; gap: 0.75rem; }
@media (min-width: 640px) { .tts-plist.tts-plist .tts-qok__links { flex-direction: row; flex-wrap: wrap; } }
.tts-plist.tts-plist .tts-qok__links a { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; font-weight: 600; color: #14532d; text-decoration: underline; text-underline-offset: 2px; }
.tts-plist.tts-plist .tts-qok__links svg { width: 1rem; height: 1rem; }
.tts-plist.tts-plist .tts-qok__btn { margin-top: 1.5rem; display: inline-flex; height: 2.5rem; align-items: center; border-radius: 0.5rem; border: 1px solid #4ade80; background: #fff; padding: 0 1rem; font-size: 0.875rem; font-weight: 600; color: #14532d; transition: background 0.15s; }
.tts-plist.tts-plist .tts-qok__btn:hover { background: #dcfce7; }
