/* FWS Site Tools - styled to match the Breno design (Poppins, orange #EF6E1F, green #257730, dark #1D332B).
   Every rule is scoped under .fws-w so the Elementor kit's global button/heading styles can't override it. */
.fws-w {
	--fws-orange: #EF6E1F;
	--fws-green: #257730;
	--fws-text: #C7C7C7;
	--fws-head: #FFFFFF;
	--fws-line: rgba(255, 255, 255, .14);
	--fws-card: rgba(255, 255, 255, .06);
	font-family: "Poppins", Arial, sans-serif;
	color: var(--fws-text);
	font-size: 15px;
	line-height: 1.6;
	width: 100%;
}
.fws-w.fws-light { --fws-text: #54595F; --fws-head: #1B1B1B; --fws-line: #E7E7E7; --fws-card: #EDF8EE; }
.fws-w * { box-sizing: border-box; }
.fws-w button { text-transform: none; letter-spacing: 0; box-shadow: none; min-height: 0; line-height: 1.3; font-family: inherit; cursor: pointer; transition: background .2s, color .2s, border-color .2s, transform .1s; }

/* header + progress */
.fws-w .fws-bk-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; padding-bottom: 18px; border-bottom: 1px solid var(--fws-line); }
.fws-w h3.fws-bk-title { margin: 0; color: var(--fws-head); font-size: 1.5rem; font-weight: 600; line-height: 1.2; font-family: inherit; }
.fws-w .fws-bk-progress { display: flex; gap: 6px; margin: 0; padding: 0; list-style: none; counter-reset: fws; }
.fws-w .fws-bk-progress li { counter-increment: fws; display: flex; align-items: center; gap: 6px; font-size: .8rem; font-weight: 500; opacity: .55; margin: 0; }
.fws-w .fws-bk-progress li::before { content: counter(fws); display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; border: 1px solid currentColor; font-size: .75rem; }
.fws-w .fws-bk-progress li + li::after { order: -1; content: ""; width: 14px; height: 1px; background: currentColor; opacity: .5; }
.fws-w .fws-bk-progress li.is-active { opacity: 1; color: var(--fws-head); }
.fws-w .fws-bk-progress li.is-active::before { background: var(--fws-orange); border-color: var(--fws-orange); color: #fff; }
.fws-w .fws-bk-progress li.is-done { opacity: 1; }
.fws-w .fws-bk-progress li.is-done::before { content: "\2713"; background: var(--fws-green); border-color: var(--fws-green); color: #fff; }
.fws-w .fws-bk-lead { margin: 0 0 14px; color: var(--fws-head); font-weight: 500; }
.fws-w .fws-bk-loading { opacity: .7; }
.fws-w .fws-small { font-size: .8rem; opacity: .7; margin: 6px 0 0; }

/* step 1: sites */
.fws-w .fws-bk-sites { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; max-height: 560px; overflow-y: auto; padding-right: 4px; }
.fws-w .fws-bk-site { background: var(--fws-card); border: 1px solid var(--fws-line); border-radius: 12px; padding: 14px 16px; }
.fws-w .fws-bk-site-name { color: var(--fws-head); font-weight: 600; font-size: 1rem; line-height: 1.3; }
.fws-w .fws-bk-site-addr { font-size: .82rem; opacity: .8; margin: 2px 0 10px; }
.fws-w .fws-bk-dates { display: flex; flex-wrap: wrap; gap: 6px; }
.fws-w .fws-chip { border: 1px solid var(--fws-orange); background: transparent; color: var(--fws-head); border-radius: 6px; padding: 7px 12px; font-size: .82rem; font-weight: 500; }
.fws-w .fws-chip:hover:not([disabled]), .fws-w .fws-chip:focus-visible { background: var(--fws-orange); color: #fff; }
.fws-w .fws-chip[disabled] { opacity: .45; cursor: not-allowed; border-color: var(--fws-line); background: transparent; }

/* step 2: slots */
.fws-w .fws-bk-summary { background: var(--fws-green); color: #fff; border-radius: 8px; padding: 10px 14px; margin: 8px 0 18px; font-size: .92rem; }
.fws-w .fws-bk-summary strong { color: #fff; }
.fws-w .fws-back { background: none; border: 0; border-radius: 0; padding: 0; color: var(--fws-orange); font-size: .85rem; font-weight: 600; }
.fws-w .fws-back:hover, .fws-w .fws-back:focus { text-decoration: underline; background: none; color: var(--fws-orange); }
.fws-w .fws-bk-slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.fws-w .fws-slot { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; background: var(--fws-card); border: 1px solid var(--fws-line); border-radius: 10px; padding: 12px 14px; color: var(--fws-head); text-align: left; }
.fws-w .fws-slot-time { font-weight: 600; font-size: 1rem; }
.fws-w .fws-slot-left { font-size: .78rem; opacity: .75; }
.fws-w .fws-slot:hover:not([disabled]), .fws-w .fws-slot:focus-visible { border-color: var(--fws-orange); background: var(--fws-orange); color: #fff; }
.fws-w .fws-slot[disabled] { opacity: .4; cursor: not-allowed; background: var(--fws-card); }

/* buttons */
.fws-w .fws-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--fws-orange); color: #fff; border: 0; border-radius: 8px; padding: 15px 30px; font-size: 1rem; font-weight: 600; }
.fws-w .fws-btn:hover, .fws-w .fws-btn:focus { background: var(--fws-green); color: #fff; }
.fws-w .fws-btn:active { transform: scale(.98); }
.fws-w .fws-btn[disabled] { opacity: .6; cursor: wait; }
.fws-w .fws-btn-ghost { background: transparent; border: 1px solid var(--fws-orange); color: var(--fws-head); }

/* forms */
.fws-w .fws-form p { margin: 0 0 14px; }
.fws-w .fws-form label, .fws-w .fws-checks legend { display: block; color: var(--fws-head); font-weight: 500; font-size: .9rem; margin-bottom: 6px; }
.fws-w .fws-form label span { color: var(--fws-orange); }
.fws-w .fws-form input[type=text], .fws-w .fws-form input[type=email], .fws-w .fws-form input[type=tel], .fws-w .fws-form select, .fws-w .fws-form textarea {
	width: 100%; background: #fff; color: #1B1B1B; border: 1px solid #E7E7E7; border-radius: 8px; padding: 12px 14px; font-family: inherit; font-size: .92rem; line-height: 1.4; box-shadow: none; margin: 0; height: auto;
}
.fws-w .fws-form input:focus, .fws-w .fws-form select:focus, .fws-w .fws-form textarea:focus { outline: 2px solid var(--fws-orange); outline-offset: 0; border-color: var(--fws-orange); }
.fws-w .fws-form ::placeholder { color: #9a9a9a; }
.fws-w .fws-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.fws-w .fws-checks { border: 0; padding: 0; margin: 0 0 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 16px; }
.fws-w .fws-checks legend { margin-bottom: 8px; padding: 0; }
.fws-w .fws-form label.fws-check { display: flex; align-items: center; gap: 8px; font-weight: 400; color: var(--fws-text); margin: 0; cursor: pointer; }
.fws-w .fws-check input { accent-color: var(--fws-orange); width: 16px; height: 16px; margin: 0; }
.fws-w .fws-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* notices + success */
.fws-w .fws-notice { background: var(--fws-card); border-left: 4px solid var(--fws-orange); border-radius: 6px; padding: 12px 16px; margin: 0 0 16px; color: var(--fws-head); }
.fws-w .fws-notice a { color: var(--fws-orange); }
.fws-w .fws-ok { border-left-color: #5FBF6A; }
.fws-w .fws-err { border-left-color: #E5484D; }
.fws-w .fws-bk-done { text-align: center; padding: 20px 0 10px; }
.fws-w .fws-bk-done h4 { color: var(--fws-head); font-size: 1.5rem; margin: 10px 0 4px; font-family: inherit; }
.fws-w .fws-tick { width: 64px; height: 64px; border-radius: 50%; background: var(--fws-green); color: #fff; font-size: 32px; line-height: 64px; margin: 0 auto; }
.fws-w .fws-ref { font-size: 1.05rem; color: var(--fws-head); }
.fws-w .fws-ref strong { color: var(--fws-orange); }

@media (max-width: 600px) {
	.fws-w .fws-grid, .fws-w .fws-checks { grid-template-columns: 1fr; }
	.fws-w .fws-bk-head { flex-direction: column; align-items: flex-start; }
	.fws-w h3.fws-bk-title { font-size: 1.25rem; }
	.fws-w .fws-btn { width: 100%; }
}
