/* Shared CalendarWiz+ customer solution-page layout */
.customer-solution-page { overflow: hidden; padding-top: 0; background: #f8fbff; color: #53667d; }
.customer-solution-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.customer-solution-hero { padding: 75px 0 122px; background: radial-gradient(circle at 88% 30%, rgba(104, 174, 246, .28), transparent 26%), linear-gradient(135deg, #f9fcff, #edf5ff 58%, #f7fbff); }
.customer-solution-hero-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(40px, 7vw, 105px); align-items: center; }
.customer-solution-hero h1 { margin: 0 0 22px; color: #1d4175; font-size: clamp(4.2rem, 6.4vw, 7.5rem) !important; font-weight: 750; line-height: .98; letter-spacing: -.06em; text-shadow: 0 2px 5px rgba(23, 61, 112, .18); }
.customer-solution-hero p { max-width: 560px; margin: 0; color: #4a5d73; font-size: 1.9rem; line-height: 1.58; }
.customer-solution-action { display: inline-flex; align-items: center; margin-top: 28px; padding: 13px 22px; border: 1px solid #83b700; border-radius: 999px; background: #81b500; box-shadow: 0 5px 12px rgba(70, 113, 0, .2); color: #fff; font-size: 1.35rem; font-weight: 700; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.customer-solution-action:hover, .customer-solution-action:focus { border-color: #8fc400; background: #8fc400; box-shadow: 0 10px 20px rgba(70, 113, 0, .28); color: #fff; text-decoration: none; transform: translateY(-2px); }
.customer-solution-support { display: table; margin-top: 20px; padding: 7px 12px; border-radius: 999px; background: rgba(255, 255, 255, .72); box-shadow: 0 5px 14px -12px rgba(37, 71, 109, .45); color: #325682; font-size: 1.15rem; }
.customer-solution-visual { overflow: hidden; border-radius: 11px; background: #17477f; box-shadow: 0 28px 52px -30px rgba(18, 72, 140, .58); }
.customer-solution-visual img { display: block; width: 100%; height: auto; }
.customer-solution-intro { padding: 72px 0 82px; background: #fff; }
.customer-solution-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.customer-solution-intro-card { min-height: 220px; padding: 34px; border-radius: 18px; background: linear-gradient(145deg, #fff, #f6faff); box-shadow: 0 18px 38px -31px rgba(27, 76, 133, .5); }
.customer-solution-intro-card .material-icons-outlined { display: block; margin-bottom: 18px; color: #1a61bd; font-size: 3.1rem; }
.customer-solution-intro-card h2 { margin: 0 0 13px; color: #23477d; font-size: 2.35rem; font-weight: 700; letter-spacing: -.04em; }
.customer-solution-intro-card p { margin: 0; font-size: 1.55rem; line-height: 1.6; }
.customer-solution-section { padding: 95px 0; }
.customer-solution-section-heading { max-width: 760px; margin: 0 auto 52px; color: #204575; font-size: clamp(3rem, 3.6vw, 4.8rem); font-weight: 700; letter-spacing: -.045em; text-align: center; }
.customer-solution-section-heading + .customer-solution-section-copy { max-width: 680px; margin: -36px auto 48px; color: #718096; font-size: 1.65rem; line-height: 1.6; text-align: center; }
.customer-solution-features { background: #2e384e; }
.customer-solution-features .customer-solution-section-heading, .customer-solution-features .customer-solution-section-copy { color: #fff; }
.customer-solution-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.customer-solution-feature-card { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 18px; min-height: 164px; padding: 28px; border-radius: 18px; background: rgba(255, 255, 255, .11); box-shadow: 0 18px 38px -18px rgba(7, 13, 25, .62), inset 0 1px 0 rgba(255, 255, 255, .12); }
.customer-solution-feature-card .material-icons-outlined { color: #bfe1ff; font-size: 3rem; }
.customer-solution-feature-card h3 { margin: 0 0 9px; color: #fff; font-size: 2.15rem; font-weight: 700; letter-spacing: -.035em; }
.customer-solution-feature-card p { margin: 0; color: #fff; font-size: 1.45rem; line-height: 1.55; }
.customer-solution-feature-card a { color: #bfe1ff; font-weight: 700; text-decoration: underline; }
.customer-solution-feature-card a:hover, .customer-solution-feature-card a:focus { color: #fff; }
.customer-solution-proof { background: #fff; }
.customer-solution-testimonial { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 28px; max-width: 900px; margin: 0 auto 62px; padding: 28px 34px; border-radius: 16px; background: linear-gradient(145deg, #fff, #f6faff); box-shadow: 0 20px 42px -30px rgba(27, 76, 133, .46); }
.customer-solution-testimonial img { width: 80px; height: 80px; object-fit: cover; border-radius: 50%; box-shadow: 0 8px 18px -12px rgba(27, 76, 133, .55); }
.customer-solution-testimonial blockquote { margin: 0 0 18px; padding: 0; border: 0; color: #405670; font-family: Georgia, serif; font-size: 1.7rem; line-height: 1.55; }
.customer-solution-testimonial b { color: #23477d; }
.customer-solution-testimonial small { color: #718096; }
.customer-solution-logos { text-align: center; }
.customer-solution-logos p { margin: 0 0 24px; color: #718096; font-size: 1.3rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.customer-solution-logos img { display: block; width: min(980px, 100%); margin: 0 auto; }
@media (max-width: 767px) { .customer-solution-shell { width: min(100% - 32px, 620px); } .customer-solution-hero { padding: 112px 0 80px; text-align: center; } .customer-solution-hero-grid, .customer-solution-card-grid, .customer-solution-feature-grid, .customer-solution-testimonial { grid-template-columns: 1fr; } .customer-solution-visual { margin-top: 10px; } .customer-solution-support { margin-right: auto; margin-left: auto; } .customer-solution-intro, .customer-solution-section { padding: 65px 0; } .customer-solution-feature-card { min-height: 0; } .customer-solution-testimonial { gap: 18px; padding: 26px; } }

/* Compatibility treatment for existing customer pages. */
.customer-solution-legacy { display: flex; flex-direction: column; }
.customer-solution-legacy > .container:first-child { order: 1; }
.customer-solution-legacy > .container:not(:first-child) { order: 2; }
.customer-solution-legacy > .testimonial { order: 3; }
.customer-solution-legacy > br { display: none; }
.customer-solution-legacy > .container { width: 100%; max-width: none; margin: 0; padding: 0; }
.customer-solution-legacy > .container:first-child { width: 100%; max-width: none; margin: 0; padding: 75px max(20px, calc((100% - 1180px) / 2)) 90px; background: radial-gradient(circle at 88% 30%, rgba(104, 174, 246, .28), transparent 26%), linear-gradient(135deg, #f9fcff, #edf5ff 58%, #f7fbff); }
.customer-solution-legacy > .container:first-child h1 { margin: 0 0 22px; color: #1d4175; font-size: clamp(4.2rem, 6.4vw, 7.5rem) !important; font-weight: 750; line-height: .98; letter-spacing: -.06em; text-shadow: 0 2px 5px rgba(23, 61, 112, .18); }
.customer-solution-legacy > .container:first-child h4 { max-width: 680px; margin: 0; color: #4a5d73; font-size: 1.9rem; font-weight: 400; line-height: 1.58; }
.customer-solution-legacy > .container:first-child > .row:first-child { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(40px, 7vw, 105px); align-items: center; }
.customer-solution-legacy > .container:first-child > .row:first-child::before, .customer-solution-legacy > .container:first-child > .row:first-child::after { display: block; content: none; }
.customer-solution-legacy > .container:first-child > .row:first-child::after { min-height: 320px; content: ''; border-radius: 11px; background: #17477f var(--customer-hero-image, url('/img/plus/scheduler-view.jpg')) center / cover no-repeat; box-shadow: 0 28px 52px -30px rgba(18, 72, 140, .58); }
.customer-solution-legacy.customer-solution-clubs { --customer-hero-image: url('/img/plus/edu-week-view.jpg'); }
.customer-solution-legacy.customer-solution-community { --customer-hero-image: url('/img/plus/community-event-board.png'); }
.customer-solution-legacy.customer-solution-government { --customer-hero-image: url('/img/plus/community-scheduler.jpg'); }
.customer-solution-legacy.customer-solution-higher-education { --customer-hero-image: url('/img/plus/edu-week-view.jpg'); }
.customer-solution-legacy.customer-solution-individual-family { --customer-hero-image: url('/img/plus/scheduler-view.jpg'); }
.customer-solution-legacy.customer-solution-large-business { --customer-hero-image: url('/img/plus/private-calendar-admin.jpg'); }
.customer-solution-legacy.customer-solution-nonprofit { --customer-hero-image: url('/img/plus/event-board.jpg'); }
.customer-solution-legacy.customer-solution-primary-education { --customer-hero-image: url('/img/plus/edu-scheduler-view.jpg'); }
.customer-solution-legacy.customer-solution-religious { --customer-hero-image: url('/img/plus/edu-scheduler-view.png'); }
.customer-solution-legacy > .container:first-child > .row:first-child > .col-sm-12 { float: none; width: auto; padding: 0; }
.customer-solution-legacy .customer-solution-action { display: inline-flex; align-items: center; margin-top: 28px; padding: 13px 22px; border: 1px solid #83b700; border-radius: 999px; background: #81b500; box-shadow: 0 5px 12px rgba(70, 113, 0, .2); color: #fff; font-size: 1.35rem; font-weight: 700; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.customer-solution-legacy .customer-solution-action:hover, .customer-solution-legacy .customer-solution-action:focus { border-color: #8fc400; background: #8fc400; box-shadow: 0 10px 20px rgba(70, 113, 0, .28); color: #fff; text-decoration: none; transform: translateY(-2px); }
.customer-solution-legacy .testimonial { margin: 0; padding: 58px max(20px, calc((100% - 1180px) / 2)); border: 0; background: #fff !important; color: #405670; }
.customer-solution-legacy .testimonial .container { width: min(900px, 100%); padding: 0; }
.customer-solution-legacy .testimonial .media { display: flex; align-items: center; min-height: 80px; margin: 0 auto 24px; }
.customer-solution-legacy .testimonial .media .pull-left { float: none; flex: 0 0 80px; margin-right: 20px; }
.customer-solution-legacy .testimonial .media img { width: 80px; height: 80px; padding: 0; object-fit: cover; box-shadow: 0 8px 18px -12px rgba(27, 76, 133, .55); }
.customer-solution-legacy .testimonial .media-body { min-width: 0; padding-left: 0; color: #405670; }
.customer-solution-legacy .testimonial .media-body em { color: #718096; }
.customer-solution-legacy .testimonial .media-body h3 { margin-top: 10px; color: #23477d; font-weight: 700; }
.customer-solution-legacy .testimonial .text_bubble { top: auto; width: auto; margin: 0; padding: 28px 34px; border-radius: 16px; background: linear-gradient(145deg, #fff, #f6faff); box-shadow: 0 20px 42px -30px rgba(27, 76, 133, .46); color: #405670; font-size: 1.7rem; line-height: 1.55; }
.customer-solution-legacy .testimonial .talk-bubbles { display: none; }
.customer-solution-legacy .features { width: 100%; margin: 0; padding: 95px 0; background: #2e384e !important; color: #fff !important; }
.customer-solution-legacy .features > .col-sm-12 { float: none; width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 0; }
.customer-solution-legacy .features h2 { margin: 0 0 52px; color: #fff !important; font-size: clamp(3rem, 3.6vw, 4.8rem); font-weight: 700; letter-spacing: -.045em; }
.customer-solution-legacy .features > .col-sm-12 > br { display: none; }
.customer-solution-legacy .features .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 0 0 18px; }
.customer-solution-legacy .features > .row { width: min(1180px, calc(100% - 40px)); margin-right: auto; margin-bottom: 18px; margin-left: auto; }
.customer-solution-legacy .features .row::before, .customer-solution-legacy .features .row::after { display: none; content: none; }
.customer-solution-legacy .features .col-sm-6 { float: none; width: auto; padding: 0; }
.customer-solution-legacy .features .well { min-height: 164px; margin: 0; padding: 28px; border: 0; border-radius: 18px; background: rgba(255, 255, 255, .11) !important; box-shadow: 0 18px 38px -18px rgba(7, 13, 25, .62), inset 0 1px 0 rgba(255, 255, 255, .12); }
.customer-solution-legacy .features .service-item { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 18px; }
.customer-solution-legacy .features .icon { float: none; margin: 0; color: #bfe1ff; font-size: 3rem; }
.customer-solution-legacy .features .service-desc h4 { margin: 0 0 9px; color: #fff !important; font-size: 2.15rem; font-weight: 700; letter-spacing: -.035em; }
.customer-solution-legacy .features .service-desc p { margin: 0; color: #fff !important; font-size: 1.45rem; line-height: 1.55; }
.customer-solution-legacy .features .service-desc a { color: #bfe1ff; font-weight: 700; text-decoration: underline; }
.customer-solution-legacy .features .service-desc a:hover, .customer-solution-legacy .features .service-desc a:focus { color: #fff; }
.customer-solution-legacy .features + br + .container { padding: 72px 0; text-align: center; }
.customer-solution-legacy .features + br + .container h3, .customer-solution-legacy .contain h3 { margin: 0 0 24px; color: #718096; font-size: 1.3rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.customer-solution-legacy .features + br + .container img, .customer-solution-legacy .contain img { display: block; width: min(980px, 100%); margin: 0 auto; }
.customer-solution-legacy .btn-danger { border-radius: 999px; background: linear-gradient(135deg, #1557ae, #2d7ac9); border: 0; box-shadow: 0 5px 12px rgba(37, 71, 109, .12); }
@media (max-width: 767px) { .customer-solution-legacy > .container { width: 100%; } .customer-solution-legacy > .container:first-child { padding: 112px 16px 80px; text-align: center; } .customer-solution-legacy > .container:first-child h1 { font-size: 4.3rem !important; } .customer-solution-legacy > .container:first-child h4 { margin-right: auto; margin-left: auto; } .customer-solution-legacy > .container:first-child > .row:first-child { grid-template-columns: 1fr; } .customer-solution-legacy > .container:first-child > .row:first-child::after { min-height: 220px; } .customer-solution-legacy .testimonial { padding: 50px 16px; } .customer-solution-legacy .features { padding: 65px 0; } .customer-solution-legacy .features > .col-sm-12, .customer-solution-legacy .features > .row { width: min(100% - 32px, 620px); } .customer-solution-legacy .features .row { grid-template-columns: 1fr; } .customer-solution-legacy .features .well { min-height: 0; } }
