/*
 * Approved inner page design: hover/focus states (the design's style-hover / style-focus), base rules from the design's
 * <helmet>, formatting of the client's policy text, and a no-flash fallback for narrow screens before inner.js runs
 * (inner.js applies the exact design states; these rules only ever agree with it).
 */
html{scroll-behavior:smooth}
/* the design sets font-family:inherit on form controls of the pages that have forms */
[data-v3p-contact] input,[data-v3p-contact] textarea,[data-v3p-contact] button,[data-v3p-payment] input,[data-v3p-payment] button,[data-v3p-sent] button,form[role=search] input,form[role=search] button{font-family:inherit}

/* style-hover / style-focus */
.v3p-ddlink:hover{background:#f5f5f2!important;color:oklch(0.5 0.16 135)!important}
.v3p-hover-dark:hover{background:rgba(255,255,255,0.04)!important}
.v3p-hover-white:hover{background:#fff!important}
.v3p-hover-row:hover{background:#fff!important;color:oklch(0.5 0.16 135)!important}
.v3p-btn-outline:hover{background:#1d2433!important;color:#fff!important}
.v3p-tile:hover{box-shadow:inset 0 3px 0 oklch(0.68 0.17 135)!important}
.v3p-input:focus{border-color:oklch(0.5 0.16 135)!important;outline:2px solid oklch(0.5 0.16 135 / 0.25)!important;outline-offset:0!important}
[data-v3p-cardbox].v3p-focus{border-color:oklch(0.5 0.16 135)!important;outline:2px solid oklch(0.5 0.16 135 / 0.25);outline-offset:0}
[data-v3p-cardbox].v3p-invalid{border-color:#a3352b!important}
[data-v3p-card]:empty::before{content:"b"}   /* same height as the design's inputs until Stripe mounts its field */

/* policy text inside the design's numbered items */
.v3p-doc-item>p,.v3p-doc-item>ul,.v3p-doc-item>ol,.v3p-doc-item>h4,.v3p-doc-item>h5,.v3p-doc-item>h6,.v3p-doc-item>table{margin:0}
.v3p-doc-item ul,.v3p-doc-item ol{padding-left:1.25em}
.v3p-doc-item li+li{margin-top:6px}
.v3p-doc-item h4,.v3p-doc-item h5,.v3p-doc-item h6{font-family:Montserrat,sans-serif;font-size:18px;line-height:1.4;font-weight:700;color:#1d2433}
.v3p-doc-item strong,.v3p-doc-item b{color:#1d2433;font-weight:600}
.v3p-doc-item a{color:oklch(0.5 0.16 135);font-weight:600;overflow-wrap:anywhere}
.v3p-doc-item table{border-collapse:collapse;width:100%;font-size:15px}
.v3p-doc-item td,.v3p-doc-item th{border:1px solid #dcdcd6;padding:8px 10px;text-align:left;vertical-align:top}

/* reCAPTCHA keeps its fixed width on very narrow phones */
[data-v3p-recaptcha]{overflow:hidden}

/* before inner.js runs (same states the script applies) */
@media (max-width:999px){
  [data-v3p-nav]{display:none!important}
  [data-v3p-burger]{display:flex!important;align-items:center;gap:12px;background:none;border:1px solid #1d2433;padding:10px 14px;cursor:pointer;color:#1d2433;min-height:44px}
}
@media (max-width:719px){
  [data-v3p-topbar],[data-v3p-meta],[data-v3p-mark]{display:none!important}
}
