/* Ocean Arc components: forms, tracking, calculator, FAQ, jobs, chat. Tokens come from theme.json (--wp--preset--color--*), with fallbacks. */
:root{--oa-navy:#0B2545;--oa-ink:#14213D;--oa-teal:#0E7C74;--oa-teal-bright:#12B5B0;--oa-gold:#E8B04A;--oa-sand:#F7F5F0;--oa-mist:#EAF3F6;--oa-line:#D5DEE6;--oa-alert:#B3261E;--oa-success:#1B7F4B}

.oa-flag{display:none}
body.admin-bar .oa-flag{display:inline;background:#fff3cd;color:#664d03;padding:0 .3em;border-radius:4px;font-size:.85em}
.oa-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.oa-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}

.oa-form label{display:block;font-weight:600;margin:1rem 0 .35rem;color:var(--oa-ink)}
.oa-form input[type=text],.oa-form input[type=email],.oa-form input[type=tel],.oa-form input[type=number],.oa-form select,.oa-form textarea{width:100%;min-height:48px;padding:.65rem .8rem;border:1.5px solid #8DA0B3;border-radius:10px;font:inherit;background:#fff;color:var(--oa-ink)}
.oa-form textarea{min-height:110px}
.oa-form input:focus-visible,.oa-form select:focus-visible,.oa-form textarea:focus-visible,.oa-btn:focus-visible,.oa-chat-launcher:focus-visible,.oa-chat-btn:focus-visible,.oa-faq summary:focus-visible{outline:3px solid var(--oa-gold);outline-offset:2px;box-shadow:0 0 0 2px var(--oa-navy)}
.oa-form [aria-invalid=true]{border-color:var(--oa-alert)}
.oa-form fieldset{border:0;padding:0;margin:1rem 0}
.oa-form fieldset label{display:inline-block;margin-right:1.25rem;font-weight:500}
.oa-check label{font-weight:400}
.oa-field-err,.oa-error{color:var(--oa-alert);font-size:.95rem;min-height:1.2em}
.oa-help{font-size:.9rem;color:#3d4b63;margin:.35rem 0}
.oa-msg{padding:.75rem 1rem;background:var(--oa-mist);border-radius:10px}
.oa-msg--error{background:#fdecea;color:var(--oa-alert)}
.oa-notice{padding:.75rem 1rem;border-left:4px solid var(--oa-gold);background:var(--oa-sand)}
.oa-success{padding:1rem 1.25rem;border-radius:12px;background:#e8f5ee;color:#14532d;border:1px solid var(--oa-success)}

.oa-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.6rem 1.4rem;border-radius:10px;border:2px solid var(--oa-navy);background:var(--oa-navy);color:#fff;font-weight:600;text-decoration:none;cursor:pointer;transition:background .2s ease,transform .2s ease}
.oa-btn:hover{background:#12335F;color:#fff}
.oa-btn--accent{background:var(--oa-gold);border-color:var(--oa-gold);color:var(--oa-navy)}
.oa-btn--accent:hover{background:#F0BE64;color:var(--oa-navy)}
.oa-btn--secondary{background:#fff;color:var(--oa-navy)}
.oa-btn--secondary:hover{background:var(--oa-mist);color:var(--oa-navy)}
.oa-btn[disabled]{opacity:.6;cursor:wait}

.oa-card{background:#fff;border:1px solid var(--oa-line);border-radius:14px;padding:1.25rem 1.5rem;margin:1rem 0}
.oa-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem 1.5rem;margin:.75rem 0}
.oa-summary dt{font-size:.85rem;color:#3d4b63}
.oa-summary dd{margin:0;font-weight:600}
.oa-badge{display:inline-block;margin:0;padding:.3rem .8rem;border-radius:999px;background:var(--oa-navy);color:#fff;font-weight:600}
.oa-badge--delivered{background:var(--oa-success)}
.oa-badge--on_hold{background:var(--oa-alert)}
.oa-alert{padding:.75rem 1rem;border:2px solid var(--oa-alert);border-radius:10px;color:var(--oa-alert);background:#fdecea}

.oa-steps{list-style:none;margin:1rem 0;padding:0;display:grid;gap:.4rem}
.oa-step{display:flex;gap:.6rem;align-items:center}
.oa-step-mark{display:inline-flex;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;border:2px solid #8DA0B3;color:#5b6b80;font-size:.9rem}
.oa-step--done .oa-step-mark{background:var(--oa-teal);border-color:var(--oa-teal);color:#fff}
.oa-step--current .oa-step-mark{border:3px solid var(--oa-gold);color:var(--oa-navy);background:#fff}
.oa-step--current .oa-step-label{font-weight:700}
.oa-step--pending .oa-step-label{color:#5b6b80}
.oa-timeline{list-style:none;margin:1rem 0;padding:0 0 0 1rem;border-left:3px solid var(--oa-line)}
.oa-tl-item{padding:.35rem 0 .9rem 1rem;animation:oa-fade .25s ease both}
.oa-tl-time{color:#3d4b63;font-size:.9rem}
.oa-tl-note{font-style:italic}
@keyframes oa-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.oa-carton{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:.5rem 0}
@media(max-width:600px){.oa-carton{grid-template-columns:repeat(2,1fr)}}
.oa-disclaimer{font-size:.9rem;color:#3d4b63;margin-top:1.25rem}

.oa-faq-cat{margin-top:2rem}
.oa-faq-item{border:1px solid var(--oa-line);border-radius:12px;margin:.6rem 0;background:#fff}
.oa-faq-item summary{cursor:pointer;padding:1rem 1.25rem;font-weight:600;list-style:none;min-height:48px}
.oa-faq-item summary::-webkit-details-marker{display:none}
.oa-faq-item summary::after{content:"+";float:right;font-size:1.3rem;line-height:1}
.oa-faq-item[open] summary::after{content:"–"}
.oa-faq-a{padding:0 1.25rem 1rem}

.oa-job{background:#fff;border:1px solid var(--oa-line);border-radius:14px;padding:1.25rem 1.5rem;margin:1rem 0}
.oa-job h3{margin:0 0 .25rem}
.oa-job-meta{color:#3d4b63;margin:.25rem 0 .75rem}

.oa-chat{position:fixed;right:16px;bottom:16px;z-index:50;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}
.oa-chat-launcher{width:56px;height:56px;border-radius:50%;border:0;background:var(--oa-teal);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(11,37,69,.3);animation:oa-pulse 1.2s ease 1}
.oa-chat-tip{max-width:240px;padding:.6rem .8rem;background:var(--oa-navy);color:#fff;border-radius:10px;font-size:.85rem}
.oa-chat-fallback{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end;max-width:320px}
.oa-chat-msg{width:100%;margin:0;padding:.5rem .75rem;background:#fff;border:1px solid var(--oa-line);border-radius:10px;font-size:.9rem;text-align:left}
.oa-chat-msg:empty{display:none}
.oa-chat-btn{min-height:44px;padding:.5rem 1rem;border-radius:999px;background:var(--oa-navy);color:#fff;text-decoration:none;font-weight:600;display:inline-flex;align-items:center}
.oa-chat-btn:hover{background:#12335F;color:#fff}
@keyframes oa-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@media print{.oa-chat{display:none}}
@media(max-width:600px){.oa-chat-fallback{max-width:calc(100vw - 32px)}}
@media(prefers-reduced-motion:reduce){*,.oa-chat-launcher,.oa-tl-item{animation:none!important;transition:none!important}}
@media(max-width:781px){.oa-chat-fallback .oa-chat-btn:not(:first-of-type){display:none}.oa-chat{right:12px;bottom:12px}}
