/*
Theme Name: Velverve
Template: twentytwentyfive
Version: 1.0.1
Description: Child theme of Twenty Twenty-Five for Velverve.
Text Domain: velverve-child
*/


.wp-site-blocks > * + * { margin-block-start: 0; }
.site-header { border-bottom: 1px solid var(--wp--preset--color--line); }
.site-logo { margin: 0; } .site-logo img { display: block; height: auto; }
.wp-block-navigation a { font-weight: 600; text-decoration: none; }
.eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; font-weight: 700; margin: 0 0 .5rem; color: var(--wp--preset--color--primary); }
.hero h1 { font-size: clamp(2.2rem, 5vw, 3.7rem); margin: .1em 0 .4em; max-width: 20ch; }
.hero .lede { font-size: clamp(1.05rem, 2vw, 1.3rem); max-width: 46rem; opacity: .93; }
.hero > * { max-width: none !important; }
.hero .eyebrow { color: #fff; opacity: .75; }
.hero .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.7); background: transparent; }
.hero .wp-block-button.is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.12); }
.hero-swirl { background-image: var(--swirl); background-repeat: no-repeat; background-position: right 3% center; background-size: min(460px, 55vw); }
.card { border: 1px solid var(--wp--preset--color--line); border-radius: 16px; padding: 1.75rem; height: 100%; box-sizing: border-box; }
.card h3 { margin-top: 0; font-size: 1.3rem; }
.card p:last-child { margin-bottom: 0; }
.step-n { font-size: 2.6rem; font-weight: 800; line-height: 1; margin: 0 0 .25rem; color: var(--wp--preset--color--primary); }
.band { text-align: center; } .band.has-primary-background-color .wp-block-button__link { background:#fff; color: var(--wp--preset--color--primary); } .band.has-primary-background-color .wp-block-button__link:hover { background:#f2f2f2; } .band h2 { max-width: 28ch; margin-left: auto; margin-right: auto; }
.wp-block-list li { margin-bottom: .4rem; }
.site-footer a { color: #fff; opacity: .85; }
.site-footer p { margin: 0 0 .35rem; font-size: .9rem; opacity: .88; }
.contact-form label, .grunion-field-label { font-weight: 600; display: block; margin: 1rem 0 .3rem; }
.contact-form input[type=text], .contact-form input[type=email], .contact-form textarea, .contact-form input[type=url] { width: 100%; box-sizing: border-box; padding: .8rem 1rem; border: 1px solid var(--wp--preset--color--line); border-radius: 10px; font: inherit; background: #fff; }
.contact-form textarea { min-height: 9rem; }
.contact-form .wp-block-button__link, .contact-form input[type=submit], .contact-form button[type=submit] { background: var(--wp--preset--color--primary); color: #fff; border: 0; border-radius: 999px; padding: .85rem 1.8rem; font-weight: 700; cursor: pointer; margin-top: 1rem; }
.narrow { max-width: 44rem; }

.hero { background-image: linear-gradient(125deg, #0b1a2e 0%, #14294a 55%, #1b5a66 135%); }
.hero .eyebrow { color: var(--wp--preset--color--teal2); opacity: 1; }
.hero .wp-block-button__link { background: var(--wp--preset--color--teal2); color: #0b1a2e; }
.hero .wp-block-button__link:hover { background: #7fe0e1; color: #0b1a2e; }
.hero .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }
.hero > * { max-width: 1120px !important; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; }
.hero h1 { padding-right: 20%; } .hero .lede { padding-right: 30%; }
.narrow { max-width: 1120px !important; padding-right: 30%; box-sizing: border-box; }
@media (max-width: 782px) { .hero h1, .hero .lede, .narrow { padding-right: 0; } }
.pill { display: inline-block; background: var(--wp--preset--color--teal); color: #fff; font-weight: 700; font-size: .8rem; padding: .2rem .7rem; border-radius: 999px; margin: 0 0 .6rem; }
.card { background: #fff; border-top: 4px solid var(--wp--preset--color--teal); }
.step-n { color: var(--wp--preset--color--teal); }
.quote { font-size: clamp(1.3rem, 2.6vw, 1.9rem); line-height: 1.35; font-weight: 700; border-left: 6px solid var(--wp--preset--color--teal); padding-left: 1.2rem; max-width: 46rem; }
.aside { color: var(--wp--preset--color--muted); font-style: italic; }
.band.has-primary-background-color .wp-block-button__link { color: var(--wp--preset--color--primary); }
.adults { font-size: .8rem; letter-spacing: .04em; }
.grp-form label { display: block; font-weight: 600; margin: 1rem 0 .3rem; }
.grp-form input[type=text], .grp-form input[type=email], .grp-form select, .grp-form textarea { width: 100%; box-sizing: border-box; padding: .8rem 1rem; border: 1px solid var(--wp--preset--color--line); border-radius: 10px; font: inherit; background: #fff; }
.grp-form textarea { min-height: 9rem; }
.grp-form button { margin-top: 1.2rem; background: var(--wp--preset--color--primary); color: #fff; border: 0; border-radius: 999px; padding: .85rem 1.9rem; font-weight: 700; font-size: 1rem; cursor: pointer; }
.grp-form button:hover { background: var(--wp--preset--color--deep); }
.grp-form .grp-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.grp-form small { display: block; margin-top: .4rem; color: var(--wp--preset--color--muted); }
.grp-note { padding: 1rem 1.2rem; border-radius: 10px; margin-bottom: 1rem; font-weight: 600; }
.grp-note.ok { background: #e3f6f6; border: 1px solid #219093; } .grp-note.bad { background: #fdeaea; border: 1px solid #b83b3b; }


/* teal2 fallback: the theme uses this colour token but does not define it, which left the hero button unreadable */
:root{--wp--preset--color--teal2:#5fd3d5}
