/* ISANIZE home: registration and matching first. Loaded by the home templates only (theme isannl). */
.iz-hero { background: linear-gradient(180deg, #ffffff 0%, #f3faf5 100%); padding: 4.5rem 0 3.5rem; }
.iz-hero .title { font-size: 2.6rem; line-height: 1.15; letter-spacing: -.01em; }
.iz-hero .subtitle { max-width: 40rem; margin: 1rem auto 1.75rem; color: #4a5568; font-size: 1.2rem; }
.iz-hero .buttons.is-centered .button { min-width: 15rem; }
.iz-kicker { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: #48c774; margin-bottom: .5rem; }
.iz-section { padding: 4rem 0; }
.iz-section.is-alt { background: #f7f9fa; }
.iz-section .section-title { font-size: 1.9rem; letter-spacing: -.01em; margin-bottom: .5rem; }
.iz-section .section-lead { color: #4a5568; max-width: 44rem; margin: 0 auto 2.5rem; }
/* the two paths: register, match */
.iz-path { height: 100%; display: flex; flex-direction: column; border: 1px solid #e6e8ec; border-radius: 12px; background: #fff; padding: 2rem; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.iz-path h3 { font-size: 1.5rem; font-weight: 600; margin-bottom: .5rem; }
.iz-path p.lead { color: #4a5568; margin-bottom: 1.25rem; }
.iz-steps { list-style: none; margin: 0 0 1.5rem; padding: 0; counter-reset: step; }
.iz-steps li { position: relative; padding-left: 2.4rem; margin-bottom: .7rem; color: #2d3748; }
.iz-steps li::before { counter-increment: step; content: counter(step); position: absolute; left: 0; top: .05rem; width: 1.7rem; height: 1.7rem; border-radius: 9999px; background: #e8f8ee; color: #2f855a; font-weight: 700; font-size: .85rem; display: flex; align-items: center; justify-content: center; }
.iz-path .buttons { margin-top: auto; }
.iz-shot { margin: 0 0 1.5rem; border-radius: 10px; overflow: hidden; border: 1px solid #e6e8ec; background: #f7f9fa; }
.iz-shot img { display: block; width: 100%; height: auto; }
/* feature grid */
.iz-feature { height: 100%; padding: 1.5rem; border-radius: 12px; background: #fff; border: 1px solid #e6e8ec; }
.iz-feature .icon-badge { width: 2.6rem; height: 2.6rem; border-radius: 10px; background: #e8f8ee; color: #2f855a; display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; font-size: 1.1rem; }
.iz-feature h4 { font-size: 1.1rem; font-weight: 600; margin-bottom: .4rem; }
.iz-feature p { color: #4a5568; font-size: .95rem; }
/* plans */
.iz-plan { height: 100%; display: flex; flex-direction: column; border-radius: 12px; border: 1px solid #e6e8ec; background: #fff; padding: 2rem; }
.iz-plan.is-full { border-color: #48c774; box-shadow: 0 0 0 3px rgba(72,199,116,.15); }
.iz-plan h3 { font-size: 1.4rem; font-weight: 700; margin-bottom: .25rem; }
.iz-plan .who { color: #718096; margin-bottom: 1.25rem; }
.iz-plan ul { list-style: none; margin: 0 0 1.5rem; padding: 0; }
.iz-plan li { padding-left: 1.6rem; position: relative; margin-bottom: .55rem; color: #2d3748; }
.iz-plan li::before { content: "✓"; position: absolute; left: 0; color: #48c774; font-weight: 700; }
.iz-plan .button { margin-top: auto; }
.iz-promo { border-radius: 12px; background: #1a202c; color: #fff; padding: 1.75rem 2rem; display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; margin-top: 2rem; }
.iz-promo .code { font-family: Menlo, Consolas, monospace; font-weight: 700; background: rgba(255,255,255,.12); padding: .3rem .7rem; border-radius: 6px; letter-spacing: .05em; }
.iz-promo .big { font-size: 1.35rem; font-weight: 700; }
.iz-promo .button { margin-left: auto; }
/* faq / closing */
.iz-faq { height: 100%; display: flex; flex-direction: column; border: 1px solid #e6e8ec; border-radius: 12px; background: #fff; padding: 2rem; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.iz-faq h4 { font-size: 1.25rem; font-weight: 600; margin-bottom: .5rem; }
.iz-faq p { color: #4a5568; }
.iz-faq-links { margin-top: auto; padding-top: 1.25rem; display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; align-items: center; }
.iz-faq-links a:not(.button) { font-weight: 600; }
@media (max-width: 768px) {
  /* Bulma's .is-variable keeps its negative side margins when the columns stack, which pushes the row past the screen */
  .columns.is-variable { margin-left: 0 !important; margin-right: 0 !important; }
  .iz-hero { padding: 3rem 0 2.5rem; }
  .iz-hero .title { font-size: 2rem; }
  .iz-section { padding: 2.5rem 0; }
  .iz-path, .iz-plan, .iz-faq { padding: 1.5rem; }
  .iz-promo .button { margin-left: 0; }
}
/* the theme sets headings and subtitles in upper case; these read as sentences */
.iz-hero .subtitle, .iz-section .section-title, .iz-path h3, .iz-plan h3, .iz-feature h4, .iz-faq h4 { text-transform: none; letter-spacing: 0; }
/* plain lists on the text pages, outside Bulma's .content styling */
.iz-list { list-style: none; margin: 0 0 .75rem; padding: 0; }
.iz-list li { position: relative; padding-left: 1.4rem; margin-bottom: .5rem; color: #2d3748; background: none; }
.iz-list li::before { content: ""; position: absolute; left: .3rem; top: .6em; width: .45rem; height: .45rem; border-radius: 50%; background: #48c774; }
/* plain CMS pages (theme isannl cmspages/default): the widgets as the CMS edits them, in the home page's look */
.iz-cms { background: linear-gradient(180deg, #ffffff 0%, #f3faf5 40%, #f7f9fa 100%); min-height: 70vh; padding: 3.5rem 1.5rem 5rem; }
.iz-cms h1, .iz-cms h2, .iz-cms h3 { text-transform: none; letter-spacing: -.01em; }
.iz-cms h1 { font-size: 2.2rem; line-height: 1.15; margin: 0 0 1.75rem; }
.iz-cms .iz-version { margin: 0; padding: 0 2.25rem; color: #718096; font-size: .9rem; }
.iz-cms h2 { font-size: 1.6rem; margin: 2rem 0 1rem; }
.iz-cms h3 { font-size: 1.25rem; margin: 1.5rem 0 .75rem; }
.iz-cms .iz-kicker { margin-bottom: .75rem; }
.iz-cms .box.content { border: 1px solid #e6e8ec; border-radius: 12px; box-shadow: 0 1px 2px rgba(0,0,0,.04); padding: 2rem 2.25rem; font-size: 1.05rem; line-height: 1.65; color: #2d3748; }
.iz-cms .box.content a:not(.button) { color: #2f855a; font-weight: 600; }
.iz-cms .box.content a:not(.button):hover { text-decoration: underline; }
.iz-cms .box.content .button { margin: .5rem 0; height: 2.75rem; padding: 0 1.5rem; font-size: 1rem; border-radius: 8px; }
.iz-cms .box.content .button.is-info { background: #48c774; border-color: transparent; }
.iz-cms .box.content ul { list-style: none; margin: .75rem 0 1rem; padding: 0; }
.iz-cms .box.content ul li { position: relative; padding-left: 1.5rem; margin: 0 0 .55rem; }
.iz-cms .box.content ul li::before { content: ""; position: absolute; left: .3rem; top: .62em; width: .45rem; height: .45rem; border-radius: 50%; background: #48c774; }
.iz-cms .box.content ol { margin: .75rem 0 1rem 1.5rem; }
.iz-cms .box.content table { width: 100%; }
.iz-cms .box.content th { background: #f9fafb; font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; color: #6b7280; }
.iz-cms .button.is-info { background: #48c774; border-color: transparent; }
.iz-cms .iz-shot { margin-top: 1.5rem; }
@media (max-width: 768px) { .iz-cms { padding: 2rem 1rem 3rem; } .iz-cms h1 { font-size: 1.7rem; } .iz-cms .box.content { padding: 1.5rem; } }
/* login and the other auth screens: one card on the page's gradient */
.iz-auth { display: flex; align-items: flex-start; justify-content: center; padding-top: 4rem; }
.iz-auth-card { max-width: 27rem; margin: 0 auto; background: #fff; border: 1px solid #e6e8ec; border-radius: 12px; box-shadow: 0 1px 2px rgba(0,0,0,.04); padding: 2.25rem 2.25rem 2rem; }
.iz-auth-card h1.title { font-size: 1.9rem; margin: .25rem 0 .5rem; text-transform: none; letter-spacing: -.01em; }
.iz-auth-sub { color: #4a5568; margin: 1.25rem 0 1.75rem; }
.iz-auth-sub a, .iz-auth-row a { color: #2f855a; font-weight: 600; }
.iz-auth-card .label { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: #6b7280; font-weight: 600; margin-bottom: .35rem; }
.iz-auth-card .input { height: 2.9rem; border-radius: 8px; border-color: #d1d5db; box-shadow: none; font-size: 1rem; }
.iz-auth-card .input:focus { border-color: #48c774; box-shadow: 0 0 0 3px rgba(72,199,116,.2); }
.iz-auth-card .field { margin-bottom: 1.1rem; }
.iz-auth-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-size: .95rem; color: #4a5568; margin: .25rem 0 1.4rem; }
.iz-auth-row .checkbox input { margin-right: .4rem; }
.iz-auth-card .button.is-success { border-radius: 8px; }
.iz-auth-note { background: #e8f8ee; color: #2f855a; border-radius: 8px; padding: .75rem 1rem; margin-bottom: 1.25rem; font-size: .95rem; }
.iz-auth-foot { color: #718096; font-size: .95rem; max-width: 27rem; margin: 1.5rem auto 0; }
@media (max-width: 480px) { .iz-auth-card { padding: 1.5rem; } .iz-auth-row { flex-direction: column; align-items: flex-start; gap: .5rem; } }
