/* Occasivo Growth Suite: public styles. Uses the theme's CSS variables where they exist. */
:root{--ocg-ink:var(--oc-ink,#182e27);--ocg-primary:var(--oc-primary,#123c32);--ocg-accent:var(--oc-accent,#ee7952);--ocg-cream:var(--oc-cream,#f8f7f2);--ocg-line:#dfe5da;--ocg-muted:#55635a}
.ocg-box{background:#fff;border:1px solid var(--ocg-line);border-radius:14px;padding:18px 20px;margin:16px 0}
.ocg-box h2,.ocg-box h3{margin-top:0}
.ocg-muted{color:var(--ocg-muted);font-size:.92em}
.ocg-btn{display:inline-block;padding:.65em 1.2em;border-radius:999px;background:var(--ocg-primary);color:#fff!important;text-decoration:none;border:0;cursor:pointer;font:inherit;font-weight:600}
.ocg-btn.alt{background:#fff;color:var(--ocg-primary)!important;border:1px solid var(--ocg-primary)}
.ocg-btn.wa{background:#1fa855}
.ocg-field{margin:0 0 14px}
.ocg-field label{display:block;font-weight:600;margin-bottom:4px}
.ocg-field input[type=text],.ocg-field input[type=email],.ocg-field input[type=tel],.ocg-field input[type=number],.ocg-field select,.ocg-field textarea{width:100%;max-width:520px;padding:.6em .75em;border:1px solid #c6d0c3;border-radius:10px;font:inherit;background:#fff}
.ocg-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ocg-notice{padding:12px 16px;border-radius:10px;background:#eef6ef;border:1px solid #cfe3d2;margin:12px 0}
.ocg-notice.warn{background:#fff6e0;border-color:#f0dca6}
.ocg-notice.error{background:#fde8e4;border-color:#f0bcb2}

/* Manual payments (checkout) */
.ocg-pay{margin:6px 0}
.ocg-pay-intro{margin:0 0 10px}
.ocg-pay-choices{display:grid;gap:8px;margin:0 0 12px;padding:0;list-style:none}
.ocg-pay-choices label{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--ocg-line);border-radius:10px;cursor:pointer;background:#fff}
.ocg-pay-choices input:checked+span{font-weight:700}
.ocg-pay-details{background:var(--ocg-cream);border-radius:10px;padding:12px 14px;margin:0 0 12px}
.ocg-pay-details[hidden]{display:none}
.ocg-pay-details dl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:4px 14px}
.ocg-pay-details dt{font-weight:600}
.ocg-pay-details dd{margin:0;word-break:break-word}
.ocg-pay-amount{font-size:1.15em;font-weight:700}
.ocg-pay label.ocg-label{display:block;font-weight:600;margin:10px 0 4px}
.ocg-pay input.ocg-input{width:100%;max-width:420px;padding:.6em .75em;border:1px solid #c6d0c3;border-radius:10px;font:inherit}
.ocg-pay .ocg-hint{font-size:.88em;color:var(--ocg-muted);margin:4px 0 0}

/* Reviews */
.ocg-stars{display:inline-flex;gap:2px;vertical-align:middle;color:#f0a500}
.ocg-stars svg{width:1em;height:1em}
.ocg-stars .off{color:#d9ddd5}
.ocg-rating-line{display:flex;align-items:center;gap:8px;font-size:.92em;margin:6px 0}
.ocg-review{border-top:1px solid var(--ocg-line);padding:14px 0}
.ocg-review:first-child{border-top:0}
.ocg-review h4{margin:4px 0}
.ocg-review .meta{font-size:.85em;color:var(--ocg-muted)}
.ocg-reply{margin:10px 0 0 14px;padding:10px 14px;background:var(--ocg-cream);border-radius:10px}
.ocg-star-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.ocg-star-input input{position:absolute;opacity:0}
.ocg-star-input label{font-size:2rem;line-height:1;color:#d9ddd5;cursor:pointer}
.ocg-star-input input:checked~label,.ocg-star-input label:hover,.ocg-star-input label:hover~label{color:#f0a500}
.ocg-star-input input:focus-visible+label{outline:2px solid var(--ocg-primary);outline-offset:2px}

/* Tools */
.ocg-calc{display:grid;gap:14px}
.ocg-calc-row{display:grid;grid-template-columns:1fr 130px 100px;gap:8px;align-items:center}
.ocg-calc-row input{width:100%;padding:.5em .6em;border:1px solid #c6d0c3;border-radius:8px;font:inherit}
.ocg-calc-total{font-size:1.4em;font-weight:700}
.ocg-checklist-items{list-style:none;padding:0;margin:0}
.ocg-checklist-items li{padding:8px 0;border-bottom:1px solid var(--ocg-line)}
.ocg-checklist-items label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.ocg-checklist-items input:checked+span{text-decoration:line-through;color:var(--ocg-muted)}
.ocg-progress{height:8px;border-radius:99px;background:#e6ebe2;overflow:hidden;margin:8px 0 14px}
.ocg-progress>i{display:block;height:100%;background:var(--ocg-primary);width:0}
.ocg-share{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}

/* Plans */
.ocg-plan{background:#fff;border:1px solid var(--ocg-line);border-radius:16px;padding:20px;display:flex;flex-direction:column}
.ocg-plan.featured{border:2px solid var(--ocg-primary)}
.ocg-plan h3{margin:0 0 4px}
.ocg-plan .price{font-size:1.8rem;font-weight:800;color:var(--ocg-primary)}
.ocg-plan ul{padding-left:18px;margin:12px 0;flex:1}

/* SEO landing helpers */
.ocg-links{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:12px 0;list-style:none}
.ocg-links a{display:inline-block;padding:.35em .8em;border:1px solid var(--ocg-line);border-radius:99px;text-decoration:none;color:var(--ocg-primary);background:#fff}
.ocg-claim-banner{background:#fff6e0;border:1px solid #f0dca6;border-radius:12px;padding:12px 16px;margin:12px 0}

@media (max-width:600px){.ocg-calc-row{grid-template-columns:1fr 1fr}.ocg-calc-row .name{grid-column:1/-1}}

.ocg-review .ocg-reason{max-width:260px;padding:.6em .75em;border:1px solid #c6d0c3;border-radius:999px;font:inherit;background:#fff;margin:4px 0}
.ocg-review form .ocg-btn{margin:4px 0}

.ocg-landing-intro{max-width:70ch;font-size:1.05em}
.ocg-crumbs{font-size:.9em;color:var(--ocg-muted);margin:0 0 10px}
.ocg-crumbs a{color:inherit}
.ocg-pills{list-style:none;margin:10px 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ocg-pills li{margin:0}
.ocg-pills a{display:inline-block;padding:.4em .9em;border:1px solid var(--ocg-line);border-radius:999px;background:#fff;color:var(--ocg-primary);text-decoration:none;font-size:.95em}
.ocg-pills a:hover,.ocg-pills a:focus-visible{border-color:var(--ocg-primary)}
.ocg-related{margin:18px 0}
.ocg-response{margin:10px 0}
.ocg-claim-banner{background:#fff6e0;border:1px solid #f0dca6;border-radius:12px;padding:12px 16px;margin:16px 0}

/* Planning tools */
.ocg-tool{margin:16px 0}
.ocg-lead{font-size:1.05em;color:var(--ocg-ink);max-width:62ch}
.ocg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 18px}
.ocg-grid .ocg-field input,.ocg-grid .ocg-field select{max-width:none}
.ocg-table-plain{width:100%;border-collapse:collapse;margin:14px 0}
.ocg-table-plain th,.ocg-table-plain td{padding:9px 10px;border-bottom:1px solid var(--ocg-line);text-align:left;vertical-align:top}
.ocg-table-plain th{font-size:.85em;text-transform:uppercase;letter-spacing:.04em;color:var(--ocg-muted)}
.ocg-table-plain td:nth-child(2),.ocg-table-plain td:nth-child(3){white-space:nowrap}
.ocg-per-guest{font-weight:600}
.ocg-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.ocg-actions[hidden]{display:none}
.ocg-signup{max-width:560px}
@media (max-width:600px){.ocg-table-plain th:nth-child(4),.ocg-table-plain td:nth-child(4){display:none}.ocg-table-plain td:nth-child(1){min-width:120px}}
@media print{.ocg-signup,.ocg-actions,.ocg-share,header,footer,nav{display:none!important}.ocg-box{break-inside:avoid;border:0;padding:0}}
