/*
 * ezyportal store (order form): plan cards, comparison tables, lists, hero, tabs and pills.
 * Assembled from the approved concepts in concepts\store-01 (19 October 2026); class names carry the ezy- prefix.
 * Relies on the ezyportal client theme for the --ezy-* colour tokens, .ezy-btn and the icon sprite.
 */
/* content sits in a centred 1180px column; sections marked st-bleed run the full width of the page, as on the main site */
.ezy-st{max-width:none}
.ezy-st > :not(.ezy-st-bleed){max-width:1180px;margin-left:auto !important;margin-right:auto !important}
.ezy-st > .ezy-st-bleed{max-width:none;margin-left:-28px;margin-right:-28px;border-radius:0;border-left:0;border-right:0}
.ezy-st > .ezy-st-bleed:first-child{margin-top:-24px;border-top:0}
.ezy-st-tabs{display:flex;gap:4px;border-bottom:2px solid var(--ezy-green);margin:28px 0 30px;overflow-x:auto}
.ezy-st-tabs a{padding:14px 18px 12px;font-size:14px;color:var(--ezy-muted);white-space:nowrap;border-radius:8px 8px 0 0}
.ezy-st-tabs a b{font-weight:700;color:var(--ezy-head)}
.ezy-st-tabs a:hover{background:#fff}
.ezy-st-tabs a.on{background:var(--ezy-green);color:#fff}
.ezy-st-tabs a.on b{color:#fff}
/* service tabs as on www.ezycloud.com.au (measured: Open Sans 14px/300, "ezy" at 600, #696969, current #90C404, 30px beneath) */
.ezy-st-hometabs{margin:44px 0 30px;border-bottom:1px solid #90C404}
.ezy-main .ezy-st-hometabs .nav-tabs{display:table;table-layout:auto;width:100%;margin:0;padding:0;border:0;gap:0;list-style:none}
.ezy-st-hometabs .nav-tabs > li{display:table-cell;float:none;width:1%;margin:0}
.ezy-main .ezy-st-hometabs .nav-tabs > li > a{display:block;padding:0 15px 30px;border:0;background:none;text-align:center;white-space:nowrap;font-family:"Open Sans",sans-serif;font-size:14px;font-weight:400;line-height:20px;letter-spacing:.2px;color:var(--ezy-body)}
.ezy-st-hometabs .nav-tabs > li > a strong{font-weight:700;color:var(--ezy-head)}
/* 8 Nov 2026 (Kerry: too pale): regular weight in the body colour, not the main site's light grey; the selected tab in dark green with a brand-green bar on the line */
.ezy-main .ezy-st-hometabs .nav-tabs > li > a:hover{color:var(--ezy-head)}
.ezy-main .ezy-st-hometabs .nav-tabs > li.active > a{color:var(--ezy-green-text);box-shadow:inset 0 -3px 0 var(--ezy-green)}
.ezy-main .ezy-st-hometabs .nav-tabs > li.active > a strong{color:var(--ezy-green-text)}
.ezy-st-hero{position:relative;margin:0 0 18px;border-radius:var(--ezy-r);overflow:hidden;background:#eef0f2 center right/cover no-repeat;min-height:340px;display:flex;flex-direction:column;justify-content:center;padding:48px max(28px, calc((100% - 1180px) / 2 + 28px));min-height:400px;border:1px solid var(--ezy-line);margin-bottom:0}
.ezy-st-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.94) 0,rgba(255,255,255,.86) 38%,rgba(255,255,255,0) 62%)}
/* hero type lifted from the main site's home slider (www.ezycloud.com.au, measured 19 Oct 2026): logo at its own
   size, 20px, the heading 65/73 bold #424242 Open Sans (40/44 at 992px and under), 10px under each heading, 20px,
   the line under it 18/25 light #868686; ezydomains' big ".au" 110/110 semibold */
.ezy-st-hero > *{position:relative;max-width:none}
.ezy-st-hero img{height:auto;width:auto;max-width:100%;align-self:flex-start;margin:0 0 20px}
.ezy-main .ezy-st-hero h1,.ezy-main .ezy-st-hero h2{font-family:"Open Sans",sans-serif;font-size:65px !important;line-height:73px;font-weight:700;color:#424242;letter-spacing:0;margin:0 0 10px !important}
.ezy-st-hero__big{font-family:"Open Sans",sans-serif;font-size:110px;line-height:110px;font-weight:600;color:#424242;margin:0 0 10px}
.ezy-st-hero p{font-family:"Open Sans",sans-serif;font-size:18px;line-height:25px;font-weight:300;color:#868686;margin:20px 0 0 !important}
.ezy-st-hero p strong{font-weight:700}
/* the typing words' caret, as the main site's custom.css (#typist-element:after, blink, .selectedText) */
#typist-element:after{content:" ";display:inline-block;height:47px;position:relative;top:10px;margin-left:3px;margin-right:7px;width:4px;background:#06a44d;animation:ezy-typist-blink 1s step-start 0s infinite}
#typist-element .selectedText{display:none}
@keyframes ezy-typist-blink{0%{opacity:1}50%{opacity:0}100%{opacity:1}}
.ezy-st-hero__line{display:block}
.ezy-st-hero__big ~ * .ezy-st-hero__line + .ezy-st-hero__line{margin-top:10px}
/* every hero as tall as the ezydomains one (Kerry, 19 Oct 2026), its content centred: 548px, 440px at 992px and under,
   476px on phones (measured at 375px, where ezydomains' heading wraps) */
.ezy-st > .ezy-st-hero{box-sizing:border-box;min-height:548px}
@media (max-width:992px){.ezy-main .ezy-st-hero h1,.ezy-main .ezy-st-hero h2{font-size:40px !important;line-height:44px}.ezy-st-hero img{margin-bottom:10px}.ezy-st > .ezy-st-hero{min-height:440px}}
@media (max-width:767px){.ezy-st > .ezy-st-hero{min-height:476px}}
.ezy-st-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0 0 36px}
.ezy-st-pic{height:120px;display:flex;align-items:center;justify-content:center;margin:-22px -22px 18px;padding:18px 22px;background:#f8fafc;border-bottom:1px solid var(--ezy-line);border-radius:var(--ezy-r) var(--ezy-r) 0 0}
.ezy-st-pic img{max-height:84px;max-width:100%;width:auto;height:auto}
.ezy-st-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 0 44px;text-align:center}
.ezy-st-steps img{width:112px;height:112px}
.ezy-st-steps b{display:block;margin-top:12px;font-size:15px;color:var(--ezy-head)}
.ezy-st-steps span{display:block;color:var(--ezy-muted);font-size:13.5px}
.ezy-st-steps em{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ezy-green);color:#fff;font-style:normal;font-weight:700;font-size:12.5px;margin-right:8px}
.ezy-st-trust div{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);padding:14px 16px}
.ezy-st-trust i{width:38px;height:38px;border-radius:10px;background:var(--ezy-green-tint);color:var(--ezy-green-text);display:grid;place-items:center;flex:0 0 auto}
.ezy-st-trust b{display:block;color:var(--ezy-head);font-size:13.5px}
.ezy-st-trust span{display:block;color:var(--ezy-muted);font-size:12.5px}
.ezy-st-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 0 14px}
.ezy-st-plan{background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);padding:34px 28px 28px;text-align:center;display:flex;flex-direction:column}
.ezy-st-price{color:var(--ezy-blue);font-weight:700;line-height:1;display:flex;justify-content:center;align-items:flex-start;gap:3px}
.ezy-st-price small{font-size:20px !important;margin-top:6px}
.ezy-st-price strong{font-size:58px;letter-spacing:-.03em}
.ezy-st-price span{font-size:20px;margin-top:6px;text-align:left}
.ezy-st-price span em{display:block;font-style:normal;font-size:12px;font-weight:500;color:var(--ezy-muted);margin-top:4px}
.ezy-st-svc{margin-top:18px;font-size:14px;color:var(--ezy-muted)}
.ezy-st-svc b{color:var(--ezy-head)}
.ezy-st-name{font-size:24px;font-weight:700;letter-spacing:.04em;color:var(--ezy-head);margin-top:2px}
.ezy-st-key{margin:18px auto 0;display:inline-flex;align-items:baseline;gap:8px;background:var(--ezy-blue-tint);border:1px solid var(--ezy-blue-line);border-radius:999px;padding:6px 16px;color:var(--ezy-blue);font-weight:700;font-size:14px;align-self:center}
.ezy-st-key i{font-style:normal;font-size:20px;line-height:1}
.ezy-st-list{list-style:none;margin:20px 0 0;padding:18px 0 0;border-top:1px solid var(--ezy-line);text-align:left;flex:1}
.ezy-st-list li{display:flex;gap:10px;align-items:flex-start;padding:6px 0;font-size:13.5px;color:var(--ezy-body)}
.ezy-st-list svg{width:16px;height:16px;color:var(--ezy-green);stroke-width:2.6;margin-top:2px}
.ezy-st-list b{color:var(--ezy-head)}
.ezy-st-offer{margin-top:18px;font-size:12.5px;font-weight:700;letter-spacing:.08em;color:var(--ezy-head)}
.ezy-st-order{display:flex;align-items:center;justify-content:center;height:46px;margin-top:14px;border-radius:10px;background:var(--ezy-green);color:#fff !important;font-weight:700;font-size:13px;letter-spacing:.08em}
.ezy-st-order:hover{background:#7fae03}
.ezy-st-band{background:var(--ezy-blue);border-radius:var(--ezy-r);padding:48px 28px 52px;margin:0;text-align:center}
.ezy-main .ezy-st-band h2{display:block;float:none;width:auto;text-align:center !important;color:#fff !important;font-size:30px !important;font-weight:800;letter-spacing:.02em;text-transform:uppercase;margin:0 auto 30px !important}
.ezy-st-band > *{max-width:1180px;margin-left:auto !important;margin-right:auto !important}
.ezy-st-band__row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:left}
.ezy-st-band__row div{display:flex;align-items:center;gap:16px}
.ezy-st-band__row i{flex:0 0 auto;width:64px;height:64px;border-radius:50%;background:#fff;display:grid;place-items:center;overflow:hidden}
.ezy-st-band__row i img{max-width:42px;max-height:42px;width:auto;height:auto}
.ezy-st-band__row i.ezy-st-band__bare{background:none}
.ezy-st-band__row i.ezy-st-band__bare img{max-width:64px;max-height:64px}
.ezy-st-band__row span{color:#fff;font-size:13px;font-weight:700;line-height:1.45;text-transform:uppercase;letter-spacing:.02em}
/* the main site's "3 simple steps" section: values measured on www.ezycloud.com.au at desktop width */
.ezy-st-site101{background:#fff 50% 190px no-repeat; /* the path sits 190px down, where the main site's 40% put it when the section still had its button */ border:1px solid var(--ezy-line);border-radius:var(--ezy-r);padding:69px 0;margin:0 0 44px;font-family:"Open Sans",sans-serif}
.ezy-main .ezy-st-site101 .container{max-width:1170px;margin:0 auto;padding:0 15px}
.ezy-st-site101 .title-base{text-align:center}
.ezy-main .ezy-st-site101 .title-base h3{font-family:"Open Sans",sans-serif;font-size:35px !important;font-weight:700;line-height:40px;letter-spacing:.2px;color:#424242;margin:0 !important}
.ezy-st-site101 hr.space{border:0;margin:0;height:65px;background:none}
.ezy-st-site101 hr.space.l{height:70px;width:100%}
.ezy-st-site101 .row{display:flex;flex-wrap:wrap;margin:0 -15px}
.ezy-st-site101 .col-md-4{flex:0 0 33.3333%;max-width:33.3333%;padding:0 15px}
.ezy-st-site101 .advs-box{text-align:center}
.ezy-st-site101 .advs-box img{width:152px;height:152px;display:inline-block}
.ezy-main .ezy-st-site101 .advs-box h3{font-family:"Open Sans",sans-serif;font-size:17px !important;font-weight:700;line-height:24px;letter-spacing:.2px;text-transform:uppercase;color:#424242;margin:20px 0 0 !important}
.ezy-st-site101 p.text-center{width:100%;text-align:center;margin:0 !important}
.ezy-body .ezy-st-site101 .circle-button{display:inline-block;min-height:0;height:61px;padding:0 44px;border:0;border-radius:40px;background:#90C404;color:#fff;font-family:"Open Sans",sans-serif;font-size:18px;font-weight:700;line-height:61px}
.ezy-body .ezy-st-site101 .circle-button:hover{background:#7fae03;color:#fff}
.ezy-st-foot{font-size:12px;color:var(--ezy-muted);text-align:center;margin:0 0 44px !important}
.ezy-st-h{font-size:20px !important;text-align:center;margin:0 0 6px !important}
.ezy-st-sub{text-align:center;color:var(--ezy-muted);margin:0 0 22px !important}
.ezy-st-info{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 0 44px}
.ezy-st-info div{background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);padding:22px}
.ezy-st-info i{width:40px;height:40px;border-radius:10px;background:var(--ezy-green-tint);color:var(--ezy-green-text);display:grid;place-items:center}
.ezy-st-info h3{font-size:16px !important;margin:0 0 6px !important}
.ezy-st-info p{font-size:13.5px;color:var(--ezy-body);margin:0 !important}
.ezy-st-cmp{background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);overflow:hidden;margin:0 0 12px}
.ezy-st-cmp table{width:100%;border-collapse:collapse;font-size:13.5px}
.ezy-st-cmp th,.ezy-st-cmp td{padding:11px 16px;border-bottom:1px solid var(--ezy-line);text-align:center}
.ezy-st-cmp th:first-child,.ezy-st-cmp td:first-child{text-align:left;color:var(--ezy-body);font-weight:500}
.ezy-st-cmp thead th{background:#f8fafc;font-size:12px;letter-spacing:.08em;color:var(--ezy-head)}
.ezy-st-cmp td{color:var(--ezy-head);font-weight:600}
.ezy-st-cmp td svg{width:16px;height:16px;color:var(--ezy-green);stroke-width:2.6}
.ezy-st-cmp tr.grp td{background:#f8fafc;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-muted);text-align:left}
.ezy-st-cmp tr.price td{font-size:18px;color:var(--ezy-blue);border-bottom:0}
.ezy-st-cmp tr.price td:first-child{font-size:13.5px;color:var(--ezy-body)}
.ezy-st-cmp tr.act td{border-bottom:0;padding-top:0;padding-bottom:18px}
.ezy-st-cmp .ezy-btn{height:34px}
.ezy-st-cmp .ezy-st-order{height:36px;margin:0 auto;max-width:130px}
.ezy-st-help{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);padding:22px 24px;margin:32px 0 0}
.ezy-st-help b{display:block;font-size:16px;color:var(--ezy-head)}
.ezy-st-help span{color:var(--ezy-muted);font-size:13.5px}
.ezy-st-help .ezy-btn{margin-left:auto}
@media (max-width:991px){.ezy-st-hometabs{overflow-x:auto}.ezy-main .ezy-st-hometabs .nav-tabs > li > a{padding:0 14px 18px}.ezy-st > .ezy-st-bleed{margin-left:-16px;margin-right:-16px}.ezy-st-site101{background-image:none !important}.ezy-st-site101 .col-md-4{flex:0 0 100%;max-width:100%;margin-bottom:28px}.ezy-main .ezy-st-site101 .title-base h3{font-size:27px !important;line-height:31px}.ezy-body .ezy-st-site101 .circle-button{height:auto;line-height:1.3;padding:16px 28px}.ezy-st-band__row{grid-template-columns:1fr 1fr}/* service tabs as on www.ezycloud.com.au (measured: Open Sans 14px/300, "ezy" at 600, #696969, current #90C404, 30px beneath) */
.ezy-st-hero{padding:28px 24px;min-height:0}.ezy-st-hero::before{background:rgba(255,255,255,.88)}.ezy-st-steps{grid-template-columns:1fr}.ezy-st-trust{grid-template-columns:repeat(2,1fr)}.ezy-st-plans,.ezy-st-info{grid-template-columns:1fr}.ezy-st-cmp{overflow-x:auto}.ezy-st-help{flex-wrap:wrap}.ezy-st-help .ezy-btn{margin-left:0}}
.ezy-st-sub2{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 30px !important}
.ezy-st-sub2 a{padding:7px 14px;border:1px solid var(--ezy-line);border-radius:999px;background:#fff;color:var(--ezy-body);font-size:13px;font-weight:600}
.ezy-st-sub2 a:hover{border-color:#cbd5e1;color:var(--ezy-head)}
.ezy-st-sub2 a.on{background:var(--ezy-green-tint);border-color:#d5e8a3;color:var(--ezy-green-text)}
.ezy-st-ladder td.ezy-st-lname{text-align:left;color:var(--ezy-head);font-weight:700}
.ezy-st-ladder th:first-child{width:230px}
.ezy-st-ladder .ezy-st-order{height:32px;max-width:96px;font-size:12px}
.ezy-st-ladder td{white-space:nowrap}
.ezy-st-ladder td.ezy-st-lprice{color:var(--ezy-blue);font-size:16px}
.ezy-st-ladder td small{display:block;font-size:11.5px !important;font-weight:500;color:var(--ezy-muted)}
.ezy-st-cmp td.ezy-st-l{text-align:left;color:var(--ezy-head);font-weight:700;white-space:normal}
.ezy-st-cmp td.ezy-st-l small{display:block;font-size:12.5px !important;font-weight:400;color:var(--ezy-muted);margin-top:2px}
.ezy-st-cmp td.ezy-st-cov{text-align:left;font-weight:500;color:var(--ezy-body)}
.ezy-st-val{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}
.ezy-st-val--dv{background:var(--ezy-blue-tint);color:var(--ezy-blue)}
.ezy-st-val--ov{background:var(--ezy-green-tint);color:var(--ezy-green-text)}
.ezy-st-val--ev{background:#0f172a;color:#fff}
.ezy-st-list2 td.ezy-st-lprice small, .ezy-st-ladder td small{display:block}
.ezy-st-fam{display:flex;align-items:center;gap:12px;margin:0 0 12px !important}
.ezy-st-fam h2{font-size:18px !important;margin:0 !important}
.ezy-st-fam span{color:var(--ezy-muted);font-size:13px}
.ezy-st-gap{height:30px}
.ezy-st-list2 table{table-layout:fixed}
.ezy-st-list2 th:nth-child(1){width:38%}
.ezy-st-list2 th:nth-child(3){width:200px}
.ezy-st-list2 th:nth-child(4){width:130px}
/* CONCEPT: the terms from each product's description, as a footer of its own plan card */
.ezy-st-plan{overflow:hidden}
/* every card in a row shares four rows: top, features, button, terms; each row is as tall as the tallest card needs,
   so buttons and terms panels line up across the row and the shorter terms panels extend to match */
.ezy-st-plan{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0}
.ezy-st-plan__top,.ezy-st-plan__mid{display:flex;flex-direction:column;align-items:center}
.ezy-st-plan__top > *,.ezy-st-plan__mid > *{max-width:100%}
.ezy-st-terms--none{background:none;border-top:0;padding:0 !important;margin-top:0 !important}
.ezy-st-plans{margin-bottom:44px}
.ezy-st-terms{margin:22px -28px -28px;padding:16px 28px 18px;background:#f4f7fb;border-top:1px solid var(--ezy-line);text-align:left;font-size:12px;line-height:1.65;color:var(--ezy-muted)}
.ezy-st-terms strong,.ezy-st-terms b{font-weight:600;color:var(--ezy-body)}
.ezy-st-list li.ezy-st-head{display:block;padding:14px 0 4px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-muted)}
.ezy-st-list li.ezy-st-head:first-child{padding-top:0}
.ezy-st-list li.ezy-st-gap{padding:0;height:4px}
.ezy-st-list li .ezy-msicon{flex:0 0 auto;width:18px;height:18px;background-size:144px 90px;margin-top:0}
.ezy-st-list li strong{color:var(--ezy-head)}
.ezy-st-key strong,.ezy-st-key b{font-weight:700}
.ezy-st-name--plan{font-size:22px;letter-spacing:.02em;margin-top:16px}
.ezy-st-name--plan .ezy-st-brand{font-weight:400;letter-spacing:0}
.ezy-st-name--plan .ezy-st-brand b{font-weight:700}
/* CONCEPT: ezytel sub-category layouts */
.ezy-st-plans--1{grid-template-columns:minmax(0,380px);justify-content:center}
.ezy-st-plans--2{grid-template-columns:repeat(2,minmax(0,380px));justify-content:center}
.ezy-st-name--plan.ezy-st-name--long{font-size:18px}
.ezy-st-plans--5{grid-template-columns:repeat(5,1fr)}
.ezy-st-plans--5 .ezy-st-plan{padding:26px 18px 22px}.ezy-st-plans--5 .ezy-st-terms{margin:18px -18px -22px;padding:14px 18px 16px}
.ezy-st-plans--5 .ezy-st-price strong{font-size:44px}
.ezy-st-price--sm strong{font-size:40px}.ezy-st-price--sm{margin-top:14px}
.ezy-st-price--quote{font-size:34px}
.ezy-st-from{margin-bottom:4px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ezy-muted)}
.ezy-st-spacer{flex:1;min-height:8px}
.ezy-st-cat__inc--one{display:flex;align-items:center;gap:14px;padding:18px 28px}
.ezy-st-cat__inc--one .ezy-st-cat__label{margin:0}
.ezy-st-cat__inc--one .ezy-st-key{margin:0}
.ezy-st-cat__name small strong,.ezy-st-cat__name small b{color:var(--ezy-body)}
.ezy-st-cat__act .ezy-btn{white-space:nowrap}
.ezy-st-setup{margin-top:8px;font-size:12.5px;color:var(--ezy-muted)}
.ezy-st-name--long{font-size:17px;letter-spacing:.01em;line-height:1.35;margin-top:6px}
.ezy-st-plan--photo .ezy-st-photo{height:190px;display:flex;align-items:center;justify-content:center;margin:-6px 0 14px}
.ezy-st-plan--photo .ezy-st-photo img{max-height:190px;max-width:100%;object-fit:contain}
.ezy-st-plan--photo .ezy-st-name--long{margin-top:0}
.ezy-st-single{display:grid;grid-template-columns:320px 1fr;background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);overflow:hidden;margin:0 0 44px}
.ezy-st-single__buy{padding:34px 28px;text-align:center;border-right:1px solid var(--ezy-line);display:flex;flex-direction:column;justify-content:center}
.ezy-st-single__what{padding:30px 34px}
.ezy-st-single__what .ezy-st-list{margin:0;padding:0;border:0}
.ezy-st-single .ezy-st-terms{grid-column:1 / -1;margin:0}
.ezy-st-cat{background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);overflow:hidden;margin:0 0 44px}
.ezy-st-cat__inc{padding:24px 28px 18px;border-bottom:1px solid var(--ezy-line)}
.ezy-st-cat__label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-muted);margin-bottom:6px}
.ezy-st-list--2col{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;margin:0;padding:0;border:0}
.ezy-st-cat__rows{width:100%;border-collapse:collapse}
.ezy-st-cat__rows td{padding:16px 28px;border-bottom:1px solid var(--ezy-line);vertical-align:middle}
.ezy-st-cat__rows tr:last-child td{border-bottom:0}
.ezy-st-cat__name b{display:block;color:var(--ezy-head);font-size:14.5px}
.ezy-st-cat__name small{display:block;margin-top:3px;color:var(--ezy-muted);font-size:12.5px !important;line-height:1.55}
.ezy-st-cat__terms{margin-top:8px;font-size:12px;color:var(--ezy-muted)}
.ezy-st-cat__price{text-align:right;white-space:nowrap;color:var(--ezy-blue);font-weight:700;font-size:18px;width:180px}
.ezy-st-cat__price small{display:block;font-size:11.5px !important;font-weight:500;color:var(--ezy-muted)}
.ezy-st-cat__q{font-size:13px;color:var(--ezy-muted);font-weight:600}
.ezy-st-cat__act{width:150px;text-align:right}
.ezy-st-cat__act .ezy-st-order{height:36px;margin:0 0 0 auto;max-width:110px;font-size:12px}
.ezy-st-cat__act .ezy-btn{height:36px}
.ezy-st-cat .ezy-st-terms{margin:0}
@media (max-width:991px){.ezy-st-plans--5,.ezy-st-plans--2,.ezy-st-plans--1{grid-template-columns:1fr}.ezy-st-single{grid-template-columns:1fr}.ezy-st-single__buy{border-right:0;border-bottom:1px solid var(--ezy-line)}.ezy-st-list--2col{grid-template-columns:1fr}}

/* ---- build additions (not in the concepts) ---- */
.ezy-st-name--upper{text-transform:uppercase}
.ezy-st-order{text-transform:uppercase}
.ezy-st-help .ezy-tile__ico{position:static;flex:0 0 auto}
.ezy-st-foot--left{text-align:left;margin-bottom:0 !important}
.ezy-st-order--sm{height:36px;margin:0 0 0 auto;max-width:110px;font-size:12px}
.ezy-st-ladder .ezy-st-order--sm{height:32px;max-width:96px}
.ezy-st-cmp .ezy-st-order--sm{margin:0 auto}
.ezy-st-order--out{background:#e5e7eb;color:var(--ezy-muted) !important;cursor:default}
.ezy-st-order--out:hover{background:#e5e7eb}
.ezy-st-cat__from{display:block;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ezy-muted)}
/* Microsoft app icons (only shown when the store settings turn them on) */
.ezy-msicon{display:inline-block;flex:0 0 auto;width:18px;height:18px;vertical-align:middle;background:url(../img/ms-icons.png) no-repeat;background-size:144px 90px}
.ezy-msicon--access{background-position:-0px -0px}
.ezy-msicon--bookings{background-position:-18px -0px}
.ezy-msicon--clipchamp{background-position:-36px -0px}
.ezy-msicon--copilot{background-position:-54px -0px}
.ezy-msicon--defender{background-position:-72px -0px}
.ezy-msicon--delve{background-position:-90px -0px}
.ezy-msicon--editor{background-position:-108px -0px}
.ezy-msicon--entra{background-position:-126px -0px}
.ezy-msicon--excel{background-position:-0px -18px}
.ezy-msicon--exchange{background-position:-18px -18px}
.ezy-msicon--forms{background-position:-36px -18px}
.ezy-msicon--groupme{background-position:-54px -18px}
.ezy-msicon--kaizala{background-position:-72px -18px}
.ezy-msicon--lists{background-position:-90px -18px}
.ezy-msicon--loop{background-position:-108px -18px}
.ezy-msicon--m365{background-position:-126px -18px}
.ezy-msicon--onedrive{background-position:-0px -36px}
.ezy-msicon--onenote{background-position:-18px -36px}
.ezy-msicon--outlook{background-position:-36px -36px}
.ezy-msicon--places{background-position:-54px -36px}
.ezy-msicon--planner{background-position:-72px -36px}
.ezy-msicon--powerapps{background-position:-90px -36px}
.ezy-msicon--powerautomate{background-position:-108px -36px}
.ezy-msicon--powerbi{background-position:-126px -36px}
.ezy-msicon--powerpages{background-position:-0px -54px}
.ezy-msicon--powerpoint{background-position:-18px -54px}
.ezy-msicon--project{background-position:-36px -54px}
.ezy-msicon--publisher{background-position:-54px -54px}
.ezy-msicon--purview{background-position:-72px -54px}
.ezy-msicon--sharepoint{background-position:-90px -54px}
.ezy-msicon--skype{background-position:-108px -54px}
.ezy-msicon--stream{background-position:-126px -54px}
.ezy-msicon--sway{background-position:-0px -72px}
.ezy-msicon--teams{background-position:-18px -72px}
.ezy-msicon--todo{background-position:-36px -72px}
.ezy-msicon--visio{background-position:-54px -72px}
.ezy-msicon--vivaengage{background-position:-72px -72px}
.ezy-msicon--whiteboard{background-position:-90px -72px}
.ezy-msicon--word{background-position:-108px -72px}
.ezy-st-plan .ezy-st-terms--none{background:none;border:0;margin:0;padding:0}
/* phones: list rows stack (name and details, then price and button on one line) */
@media (max-width:767px){
.ezy-st-cat__rows,.ezy-st-cat__rows tbody{display:block;width:100%}
.ezy-st-cat__rows tr{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:16px 20px;border-bottom:1px solid var(--ezy-line)}
.ezy-st-cat__rows tr:last-child{border-bottom:0}
.ezy-st-cat__rows td{display:block;padding:0;border:0;width:auto}
.ezy-st-cat__name{flex:1 1 100%}
.ezy-st-cat__price{flex:1 1 auto;text-align:left}
.ezy-st-cat__inc,.ezy-st-cat .ezy-st-terms{padding-left:20px;padding-right:20px}
}
/* small order buttons size to their label */
.ezy-st-order.ezy-st-order--sm{display:inline-flex;width:auto;max-width:none;padding:0 16px;white-space:nowrap}
/* plan names stay on one line at every width (Kerry, 19 Oct 2026): with the portal sidebar the cards are narrower
   between 992px and about 1300px, so the name scales to its card instead of wrapping */
.ezy-st-plan__top{container-type:inline-size;align-self:stretch} /* not on .ezy-st-plan: containment there breaks the shared subgrid rows */
.ezy-st-plan .ezy-st-name--plan,.ezy-st-plan .ezy-st-name:not(.ezy-st-name--long){white-space:nowrap}
@supports (font-size:1cqi){
    .ezy-st-plan .ezy-st-name:not(.ezy-st-name--long){font-size:min(24px,9.5cqi)}
    .ezy-st-plan .ezy-st-name.ezy-st-name--plan{font-size:min(22px,8.4cqi)}
    .ezy-st-plan .ezy-st-name.ezy-st-name--plan.ezy-st-name--long{font-size:min(18px,7cqi)}
}

/* product recommendations (WHMCS's "Recommendations", set per product in WHMCS): standard_cart's
   includes/product-recommendations.tpl, on the order confirmation and in the pop-up after a plan is added (whose
   contents WHMCS fetches by AJAX, so the markup stays standard_cart's and is styled here). A row per product: name
   and tagline, the price, and the store's green add button; the description opens under it (standard_cart's script).
   The script colours each row from the colour set on the recommendation in WHMCS (inline styles); the theme's own
   colours win (!important), so every recommendation looks the same. Loaded on the store and every cart page. */
.product-recommendations-container{max-height:none;overflow:visible;margin:0}
.product-recommendations{max-width:none;margin:0}
.product-recommendations > p{margin:0 0 12px;font-size:13.5px;color:var(--ezy-muted)}
.product-recommendations > div:first-child h4{margin:0 0 12px;font-size:16px;font-weight:700;color:var(--ezy-head)}
.product-recommendations h4 small{font-size:12.5px;font-weight:500;color:var(--ezy-muted)}
.product-recommendations .product-recommendation{margin:0 0 10px;border:1px solid var(--ezy-line) !important;border-radius:12px;background:#fff;overflow:hidden}
.product-recommendations .product-recommendation .header{display:flex;align-items:center;gap:14px;padding:14px 16px;overflow:visible}
.product-recommendations .product-recommendation .expander{order:0;flex:0 0 auto;float:none;width:28px;height:28px;margin:0;border-radius:8px;background:var(--ezy-blue-tint);color:var(--ezy-blue) !important;font-size:12px;line-height:28px;text-align:center;transition:none}
.product-recommendations .product-recommendation .header-static .expander{visibility:hidden}
.product-recommendations .product-recommendation .content{order:1;flex:1;min-width:0}
.product-recommendations .product-recommendation .headline{padding:0;font-size:14.5px;font-weight:650;color:var(--ezy-head)}
.product-recommendations .product-recommendation .tagline{margin-top:2px;font-size:13px;font-weight:400;color:var(--ezy-muted)}
.product-recommendations .product-recommendation .cta{order:2;flex:0 0 auto;float:none;display:flex;flex-direction:row;align-items:center;gap:16px;padding:0}
.product-recommendations .product-recommendation .price{padding:0;font-size:15px;font-weight:700;color:var(--ezy-blue) !important;align-items:flex-end;white-space:nowrap}
.product-recommendations .product-recommendation .setup-fee small{font-size:11.5px;font-weight:400;color:var(--ezy-muted)}
.product-recommendations .product-recommendation .btn-add{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border:0;border-radius:9px;background:var(--ezy-green) !important;color:#fff !important;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.product-recommendations .product-recommendation .btn-add .text{padding:0;font-size:inherit;color:#fff !important}
.product-recommendations .product-recommendation .btn-add .arrow{padding:0;background:none !important;color:#fff !important;font-size:11px}
.product-recommendations .product-recommendation .body{padding:0 16px 14px 58px;border:0;background:none;font-size:13.5px;line-height:1.55;color:var(--ezy-body)}
.product-recommendations .product-recommendation .body p{margin:0}
/* on the order confirmation: under the confirmation card, as wide as it */
.ezy-cart .product-recommendations-container{max-width:720px;margin:28px auto 0}
/* the pop-up */
#recommendationsModal .modal-content{border:0;border-radius:14px;box-shadow:0 20px 50px rgba(15,23,42,.25)}
#recommendationsModal .modal-header{padding:22px 24px 0}
#recommendationsModal .modal-header h4{margin:0;font-size:18px;font-weight:700;color:var(--ezy-head)}
#recommendationsModal .modal-body{padding:18px 24px 6px}
#recommendationsModal .modal-footer{padding:8px 24px 24px}
#recommendationsModal .modal-footer .btn{min-width:200px;height:44px;border-radius:10px;font-weight:600}
#recommendationsModal .product-added-panel{margin:0 0 20px;border:1px solid #d5e8a3;border-radius:12px;background:var(--ezy-green-tint);box-shadow:none}
#recommendationsModal .product-added-panel .panel-body{padding:14px 18px;font-size:13.5px;color:var(--ezy-body)}
#recommendationsModal .product-added-panel .panel-body > span:first-child{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-green-text) !important}
#recommendationsModal .product-added-panel .product-name{font-weight:700;color:var(--ezy-head)}
#recommendationsModal .product-added-panel .product-group,#recommendationsModal .product-added-panel .product-cycle{color:var(--ezy-muted)}
#recommendationsModal .product-added-panel .product-price{font-weight:700;color:var(--ezy-head)}
@media (max-width:575px){
    .product-recommendations .product-recommendation .header{flex-wrap:wrap}
    .product-recommendations .product-recommendation .content{flex-basis:calc(100% - 42px)}
    .product-recommendations .product-recommendation .cta{flex-basis:100%;justify-content:space-between;padding-left:42px}
    .product-recommendations .product-recommendation .body{padding-left:16px}
}

/* a product priced on request (REQUEST A QUOTE in its WHMCS name): "Quote / on request" and a wider button */
.ezy-st-cat__act .ezy-st-order--quote{max-width:none;padding:0 16px;white-space:nowrap}

/* comparison table (8 Nov 2026, Kerry): the price and the order button sit together at the right-hand edge;
   the plan name, and any feature columns, take the rest of the width */
.ezy-st-ladder th:last-child, .ezy-st-ladder td:last-child{width:1%;padding-left:12px;padding-right:20px;text-align:right}
.ezy-st-ladder th:nth-last-child(2), .ezy-st-ladder td.ezy-st-lprice{width:1%;padding-left:24px;padding-right:12px;text-align:right}
.ezy-st-ladder td:last-child .ezy-st-order, .ezy-st-ladder td:last-child .ezy-st-order--sm{margin:0 0 0 auto}
