/*
Theme Name: RP Insurance
Theme URI: https://rp-insurance.com/
Author: RP Insurance
Description: Block theme for Risk Protection Insurance (Omaha, NE). Every page, image, color and menu is editable in Appearance > Editor. On activation it creates the Home, Insurance Services, Consent to Contact and Contact Us pages, imports the images into the Media Library and builds the main menu.
Version: 1.1.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rp-insurance
*/

/* ---------- Header ---------- */
.rpi-topbar { font-size: var(--wp--preset--font-size--small); padding: .5rem var(--wp--style--root--padding-right) .5rem var(--wp--style--root--padding-left); }
.rpi-topbar p { margin: 0; }
.rpi-topbar a { color: inherit; text-decoration: none; }
.rpi-topbar a:hover, .rpi-topbar a:focus { text-decoration: underline; }
.rpi-header { padding: 1rem var(--wp--style--root--padding-right) 1rem var(--wp--style--root--padding-left); border-bottom: 4px solid var(--wp--preset--color--brand); position: relative; z-index: 20; }
.rpi-header .wp-block-site-title a { text-decoration: none; }
.rpi-header .wp-block-navigation a { text-decoration: none; font-weight: 600; }
.rpi-header .wp-block-navigation .current-menu-item > a { color: var(--wp--preset--color--brand); box-shadow: inset 0 -3px 0 var(--wp--preset--color--brand); }

/* ---------- Hero: the shield-point base is the signature shape ---------- */
.wp-block-cover.rpi-hero { clip-path: polygon(0 0, 100% 0, 100% 88%, 50% 100%, 0 88%); padding-bottom: 7rem; }
.rpi-hero h1 { font-size: clamp(2.4rem, 5.5vw, 4.4rem); line-height: 1.05; max-width: 15ch; letter-spacing: -.01em; }
.rpi-hero .rpi-lead { max-width: 46ch; }
.rpi-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.5; }

/* ---------- Sections ---------- */
.rpi-section { padding-top: clamp(3rem, 7vw, 6rem); padding-bottom: clamp(3rem, 7vw, 6rem); }
.rpi-section > h2:first-child { margin-top: 0; }
.rpi-intro { max-width: 62ch; }
.rpi-media img { border-radius: 6px; width: 100%; height: auto; display: block; }
.rpi-service h3 { margin-top: 0; }
.rpi-service .wp-block-list { padding-left: 1.2rem; }
.rpi-service .wp-block-list li { margin-bottom: .45rem; }
.rpi-service .wp-block-list li::marker { color: var(--wp--preset--color--brand); }
.rpi-tile { border-top: 4px solid var(--wp--preset--color--brand); padding-top: 1.25rem; }
.rpi-tile .wp-block-image { margin-bottom: 1rem; }
.rpi-tile h3 { margin: 0 0 .5rem; }

/* Testimonials */
.rpi-quotes .wp-block-quote { border-left: 4px solid var(--wp--preset--color--brand); margin: 0; padding: .25rem 0 .25rem 1.25rem; font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--medium); }
.rpi-quotes .wp-block-quote cite { display: block; margin-top: .75rem; font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--small); font-style: normal; color: var(--wp--preset--color--slate); }

/* CTA band */
.rpi-cta { padding-top: 3.5rem; padding-bottom: 3.5rem; }
.rpi-cta h2 { margin: 0; }

/* Contact details */
.rpi-details h3 { font-size: var(--wp--preset--font-size--medium); margin-bottom: .25rem; }
.rpi-details p { margin-top: 0; }
.rpi-map iframe { width: 100%; height: 360px; border: 0; border-radius: 6px; display: block; }
.rpi-note { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--slate); }

/* Forms are styled by the RP Insurance Forms plugin. */

/* ---------- Footer ---------- */
.rpi-footer a { color: inherit; }
.rpi-footer .wp-block-page-list { list-style: none; padding: 0; margin: 0; }
.rpi-footer .wp-block-page-list li { margin-bottom: .4rem; }
.rpi-footer-bottom { border-top: 1px solid rgba(255,255,255,.2); padding-top: 1.25rem; font-size: var(--wp--preset--font-size--small); }

/* ---------- Accessibility and small screens ---------- */
a:focus-visible, .wp-element-button:focus-visible { outline: 3px solid var(--wp--preset--color--brand); outline-offset: 3px; }
@media (max-width: 781px) {
  .wp-block-cover.rpi-hero { clip-path: polygon(0 0, 100% 0, 100% 94%, 50% 100%, 0 94%); padding-bottom: 4rem; }
  .rpi-topbar { justify-content: center !important; text-align: center; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }

/* Headings take the section's text color on dark backgrounds */
.has-navy-background-color :is(h1, h2, h3, h4, h5, h6),
.has-brand-background-color :is(h1, h2, h3, h4, h5, h6) { color: inherit; }
.has-navy-background-color .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.has-brand-background-color .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--wp--preset--color--white); color: var(--wp--preset--color--navy); }
.wp-block-button.is-style-outline .wp-block-button__link { border: 2px solid currentColor; background: transparent; }
