/* ==========================================================================
   Swift Courier — extras on top of theme.json.
   Loaded on the website and inside the editor.
   ========================================================================== */

.sc-content > .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
[id] { scroll-margin-top: 110px; }
mark.has-inline-color { background-color: transparent; }

/* ---------- Orange label (Paragraph → Styles → Orange label) ---------- */
p.is-style-sc-label {
	display: inline-flex; align-items: center; gap: 8px;
	color: var(--wp--preset--color--orange-dark); background: var(--wp--preset--color--orange-soft);
	font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	padding: 6px 14px; border-radius: 999px; width: fit-content;
}
p.is-style-sc-label::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--orange); }
p.is-style-sc-label.has-text-align-center { margin-left: auto !important; margin-right: auto !important; display: flex; }
.has-navy-background-color p.is-style-sc-label,
.has-navy-dark-background-color p.is-style-sc-label { background: rgba(255, 107, 26, .16); color: #FFB27F; }

/* ---------- Ticks (List → Styles → Orange ticks) ---------- */
ul.is-style-sc-ticks { list-style: none; padding-left: 0; }
ul.is-style-sc-ticks li { position: relative; padding: 6px 0 6px 34px; font-weight: 500; }
ul.is-style-sc-ticks li::before {
	content: ""; position: absolute; left: 0; top: 8px; width: 22px; height: 22px; border-radius: 50%;
	background: var(--wp--preset--color--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 15px no-repeat;
}

/* ---------- Route lines pattern (Group → Styles) ---------- */
.is-style-sc-route { background-image: url("../img/route.svg"); background-size: 520px auto; background-repeat: repeat; }

/* ---------- Hero ---------- */
.sc-hero { position: relative; overflow: hidden; }
.sc-hero::before {
	content: ""; position: absolute; width: 720px; height: 720px; right: -220px; top: -280px; border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 107, 26, .22), rgba(255, 107, 26, 0) 70%); pointer-events: none;
}
.sc-hero > * { position: relative; z-index: 1; }
.sc-hero h1 { margin-top: .35em; }
.sc-hero-art img { width: 100%; max-width: 560px; height: auto; display: block; margin: 0 auto; }
.sc-hero-track-label { margin-top: 2.2em !important; margin-bottom: .6em !important; }
.sc-hero .wp-block-buttons { margin-top: 1.8em; }

/* Outline buttons */
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--wp--preset--color--navy); border: 2px solid var(--wp--preset--color--navy); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--navy); color: #fff; }
.sc-hero .wp-block-button.is-style-outline > .wp-block-button__link,
.sc-dark .wp-block-button.is-style-outline > .wp-block-button__link,
.sc-banner .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, .5); }
.sc-hero .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.sc-dark .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--navy); border-color: #fff; }
.wp-block-button__link { transition: background .2s, color .2s, transform .2s; }
.wp-block-button__link:hover { transform: translateY(-2px); }

/* ---------- Trust strip ---------- */
.sc-trust { border-bottom: 1px solid #E3E8EF; }
.sc-trust-item { display: flex; align-items: center; gap: 14px; }
.sc-trust-item .wp-block-image { margin: 0; flex: none; }
.sc-trust-item p { margin: 0; line-height: 1.45; }
.sc-trust-item strong { color: var(--wp--preset--color--navy); font-size: 15px; }

/* ---------- Icons, cards, art ---------- */
.sc-icon img { width: 72px; height: auto; }
.sc-icon--sm img { width: 52px; }
.sc-icon--big img { width: 180px !important; }
.sc-row-icon .wp-block-image { display: flex; justify-content: center; }
.sc-art img { width: 100%; max-width: 520px; height: auto; display: block; margin: 0 auto; }
.sc-intro { max-width: 620px; margin-left: auto !important; margin-right: auto !important; }
.wp-block-column.is-style-sc-card {
	background: #fff; border: 1px solid #E3E8EF; border-radius: 18px; padding: 30px 28px;
	box-shadow: 0 18px 40px -32px rgba(15, 42, 68, .45); transition: transform .3s ease, box-shadow .3s ease, border-color .3s;
}
.wp-block-column.is-style-sc-card:hover { transform: translateY(-6px); border-color: #FFD2B8; box-shadow: 0 30px 50px -30px rgba(15, 42, 68, .45); }
.wp-block-column.is-style-sc-card h3 { margin-top: .6em; }
.sc-link a { font-weight: 700; text-decoration: none; color: var(--wp--preset--color--orange-dark); }
.sc-link a:hover { color: var(--wp--preset--color--navy); }
.sc-card { border-radius: 20px; box-shadow: 0 30px 60px -36px rgba(15, 42, 68, .45); }

/* ---------- Steps ---------- */
.sc-step { text-align: center; position: relative; }
.sc-step .wp-block-image { display: flex; justify-content: center; margin-bottom: 0; }
.sc-step-num {
	width: 40px; height: 40px; margin: -18px auto 4px !important; border-radius: 50%; position: relative;
	display: grid; place-items: center; background: var(--wp--preset--color--orange); color: #fff;
	font-weight: 800; font-size: 17px; box-shadow: 0 0 0 5px var(--wp--preset--color--sky);
}
.is-style-sc-card .sc-step-num { margin: 0 0 8px !important; box-shadow: none; }
@media (min-width: 782px) {
	.sc-steps .sc-step:not(:last-child)::after {
		content: ""; position: absolute; top: 48px; left: calc(50% + 70px); width: calc(100% - 80px); height: 3px;
		background: repeating-linear-gradient(90deg, #FFB27F 0 10px, transparent 10px 18px);
	}
}

/* ---------- Dark sections, CTA band ---------- */
.sc-dark h2, .sc-dark h3 { color: #fff; }
.sc-dark ul.is-style-sc-ticks li { color: #fff; }
.sc-cta h2 { color: #fff; }
.sc-cta mark.has-orange-color { color: var(--wp--preset--color--navy) !important; }
.sc-cta p { color: rgba(255, 255, 255, .9) !important; }
.sc-cta-btns { justify-content: flex-end; }
.sc-cta .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: var(--wp--preset--color--navy); border-color: var(--wp--preset--color--navy); }
.sc-cta .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: var(--wp--preset--color--navy-dark); border-color: var(--wp--preset--color--navy-dark); }
.sc-cta .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, .7); }
.sc-cta .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--orange-dark); border-color: #fff; }
@media (max-width: 781px) { .sc-cta-btns { justify-content: flex-start; } }

/* ---------- FAQ ---------- */
.sc-faq { margin-top: var(--wp--preset--spacing--60) !important; }
.sc-faq .wp-block-details { background: #fff; border: 1px solid #E3E8EF; border-radius: 14px; padding: 18px 22px; margin-top: 12px !important; }
.sc-faq .wp-block-details summary { font-weight: 700; font-size: 17px; cursor: pointer; color: var(--wp--preset--color--navy); }
.sc-faq .wp-block-details[open] summary { margin-bottom: 10px; }
.sc-faq .wp-block-details p { color: var(--wp--preset--color--muted); margin: 0; }

/* ---------- Mobile ---------- */
@media (max-width: 600px) {
	.sc-hero .wp-block-buttons, .sc-cta .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.sc-hero .wp-block-button__link, .sc-cta .wp-block-button__link { width: 100%; text-align: center; }
	.sc-icon--big img { width: 130px !important; }
}
@media (min-width: 782px) { .wp-block-columns.sc-flip { flex-direction: row-reverse; } }

/* ---------- Forms [swift_contact] ---------- */
.sc-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; margin: 0 0 6px; }
.sc-fields label { display: block; }
.sc-fields label > span { display: block; font-size: 13px; font-weight: 600; color: var(--wp--preset--color--ink); margin-bottom: 6px; }
.sc-fields input, .sc-fields textarea, .sc-fields select {
	width: 100%; box-sizing: border-box; padding: 13px 14px; border: 1.5px solid #E3E8EF; border-radius: 10px;
	background: #fff; font: inherit; font-size: 16px; color: var(--wp--preset--color--ink);
}
.sc-fields input:focus, .sc-fields textarea:focus, .sc-fields select:focus { outline: none; border-color: var(--wp--preset--color--orange); box-shadow: 0 0 0 3px rgba(255, 107, 26, .18); }
.sc-fields__wide { grid-column: 1 / -1; }
.sc-submit {
	width: 100%; margin-top: 12px; border: 0; border-radius: 12px; cursor: pointer; padding: 16px 24px;
	background: var(--wp--preset--color--orange); color: #fff; font: inherit; font-size: 17px; font-weight: 800; transition: background .2s, transform .2s;
}
.sc-submit:hover { background: var(--wp--preset--color--orange-dark); transform: translateY(-1px); }
.sc-hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
.sc-alert { border-radius: 12px; padding: 14px 16px; margin: 0 0 16px; font-size: 15px; line-height: 1.5; }
.sc-alert--ok { background: #E9F8EF; color: #0C6B36; }
.sc-alert--err { background: #FDEEEE; color: #A32121; }
@media (max-width: 600px) { .sc-fields { grid-template-columns: 1fr; } }

/* Delivery tools inside theme pages */
.sc-tool .cdx { margin-top: 0; }
.sc-tool #cdx-book.cdx { width: auto; left: auto; transform: none; max-width: 1200px; }
.sc-hero .cdx-trackbox { max-width: 520px; }
