/* B-GUESTCART-UI (09.10.2026) — guest basket UI on public pages, design: chatgpt-results/guestcart (ChatGPT), scoped .gcui-* */
:root{--gcui-navy:#012353;--gcui-orange:#fd6c01;--gcui-orange-d:#e55a00;--gcui-green:#176b45;--gcui-h:0px}
button.gcui-add{appearance:none;border:0;border-radius:11px;min-height:44px;width:100%;padding:11px 16px;margin-top:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--gcui-orange);color:#fff;font:800 15px/1.2 inherit;cursor:pointer;box-shadow:0 5px 14px rgba(253,108,1,.22);transition:background .15s,transform .15s}
.gcui-add:hover{background:var(--gcui-orange-d);transform:translateY(-1px)}
.gcui-add:focus-visible,.gcui-bar a:focus-visible{outline:3px solid #ffb27a;outline-offset:2px}
.gcui-add[aria-busy="true"]{opacity:.7;cursor:progress}
.gcui-add.gcui-in{background:var(--gcui-green);box-shadow:none}
.gcui-note{margin:8px 0 0;font-size:13px;line-height:1.35;color:#145f3d;min-height:0}
.gcui-note:empty{display:none}
.gcui-practical{display:block;font-size:13px;line-height:1.35;color:#145f3d;background:#e5f3ec;border-radius:7px;padding:6px 8px;margin:6px 0 4px}
.gcui-err{color:#a12a00}
/* basket strip: fixed, but the page reserves its height (body padding) so it never covers a course card */
.gcui-bar{position:fixed;left:0;right:0;bottom:0;z-index:900;background:var(--gcui-navy);color:#fff;box-shadow:0 -6px 24px rgba(1,35,83,.18);
  padding:10px 0 calc(10px + env(safe-area-inset-bottom));transform:translateY(110%);transition:transform .25s ease}
.gcui-bar.gcui-on{transform:none}
.gcui-bar-in{width:min(1120px,calc(100% - 32px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px}
.gcui-count{font-weight:800;font-size:15px;line-height:1.25}
.gcui-count small{display:block;font-weight:600;font-size:12px;opacity:.8}
.gcui-bar a{background:var(--gcui-orange);color:#fff;text-decoration:none;padding:11px 16px;border-radius:10px;font-weight:850;white-space:nowrap}
.gcui-bar a:hover{background:var(--gcui-orange-d)}
html.gcui-reserve-html{scroll-padding-bottom:var(--gcui-h)}
body.gcui-reserve{padding-bottom:var(--gcui-h)!important;--sca-gap:calc(var(--gcui-h) + 12px)} /* the site chat launcher (.sca-l) sits above the strip */
.ms-card-actions>.gcui-add,.ms-card-actions>.gcui-note,.ms-card-actions>.gcui-practical{grid-column:1/-1}
@media(max-width:480px){.gcui-bar-in{width:calc(100% - 24px);gap:8px}.gcui-count{font-size:13px;max-width:58%}.gcui-bar a{font-size:13px;padding:9px 12px}}
@media(prefers-reduced-motion:reduce){.gcui-bar,.gcui-add{transition:none}}
/* basket drawer (design 02-basket.html) */
.gcui-bk{position:fixed;inset:0;z-index:2147483100;display:none}
.gcui-bk.gcui-open{display:block}
.gcui-bk-bg{position:absolute;inset:0;background:rgba(1,20,45,.55)}
.gcui-bk-p{position:absolute;right:0;top:0;bottom:0;width:min(460px,100%);background:#fff;color:#17252b;display:flex;flex-direction:column;box-shadow:-12px 0 34px rgba(1,35,83,.25);font-size:15px}
.gcui-bk-h{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #dce3e6}
.gcui-bk-h h2{margin:0;font-size:20px;color:#012353}
.gcui-x{appearance:none;border:0;background:#f4f6f7;border-radius:50%;width:38px;height:38px;font-size:20px;cursor:pointer;color:#012353}
.gcui-bk-b{flex:1;overflow:auto;padding:8px 20px 16px}
.gcui-li{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:14px 0;border-bottom:1px solid #eef2f3}
.gcui-li-t{font-weight:800;color:#012353;line-height:1.3}
.gcui-li-s{font-size:13px;color:#5d6b70}
.gcui-li-m{font-weight:800;text-align:right;white-space:nowrap}
.gcui-qty{display:inline-flex;align-items:center;border:1px solid #c9d3d7;border-radius:10px;overflow:hidden;margin-top:6px}
.gcui-qty button{appearance:none;border:0;background:#fff;width:38px;height:36px;font-size:18px;cursor:pointer;color:#012353}
.gcui-qty output{min-width:34px;text-align:center;font-weight:800}
.gcui-rm{appearance:none;border:0;background:none;color:#a12a00;font-size:13px;cursor:pointer;padding:4px 0;margin-left:12px}
.gcui-band{grid-column:1/-1;font-size:13px;color:#145f3d;background:#e5f3ec;border-radius:7px;padding:6px 8px}
.gcui-bk-f{border-top:1px solid #dce3e6;padding:16px 20px calc(16px + env(safe-area-inset-bottom));background:#fbfcfc}
.gcui-tot{display:flex;justify-content:space-between;font-size:18px;font-weight:850;color:#012353;margin-bottom:12px}
.gcui-go{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;border-radius:11px;background:var(--gcui-orange);color:#fff!important;text-decoration:none;font-weight:850;box-sizing:border-box}
.gcui-go:hover{background:var(--gcui-orange-d)}
.gcui-sub{font-size:13px;color:#5d6b70;margin:10px 0 0;text-align:center}
.gcui-sub a{color:#012353;font-weight:700}
.gcui-empty{padding:30px 0;text-align:center;color:#5d6b70}
body.gcui-lock{overflow:hidden}

/* SC-GC-ONEBTN: the card primary button is the basket button - keep its own grid cell */
.ms-card-actions>a.gcui-add{grid-column:auto}

/* SC-GC-IMG: basket drawer rows with the course photo */
.gcui-li{grid-template-columns:76px 1fr auto;align-items:start;gap:8px 14px;padding:16px 0}
.gcui-li-img{width:76px;height:76px;border-radius:12px;object-fit:cover;display:block;background:#eef2f3}
.gcui-li-ph{background:linear-gradient(135deg,#fde3cf,#f3f5f7)}
.gcui-li-t{font-size:16px}
.gcui-li-p{display:block;font-size:12.5px;color:#145f3d;margin:3px 0 2px;font-weight:600}
.gcui-li-s{margin-top:2px}
.gcui-band{grid-column:2/-1;background:#f6f8f9;color:#3d4b50;font-size:12.5px}
.gcui-li-m{font-size:16px;color:#012353}

/* SC-GC-OWNSTYLE: renamed site buttons keep their own size and place */
a.gcui-add{width:auto}
/* v2: saved-basket banner on /main/register and /main/login — compact, never over the form (page reserves its height) */
html.gcui-reserve-html:has(.gcui-auth){scroll-padding-bottom:calc(var(--gcui-h) + var(--gcui-ex,0px) + 8px)}
.gcui-bar.gcui-auth .gcui-bar-in{padding:8px 0;gap:10px;flex-wrap:nowrap}
.gcui-bar.gcui-auth .gcui-count{font-size:14px;line-height:1.3;min-width:0;flex:1 1 auto}
.gcui-bar.gcui-auth .gcui-l1{display:block}
.gcui-bar.gcui-auth .gcui-count small{font-size:12px}
.gcui-bar.gcui-auth .gcui-ic{width:16px;height:16px;vertical-align:-3px;margin-right:6px;color:#ffb27a}
.gcui-bar.gcui-auth a{padding:9px 14px;flex:0 0 auto}
@media (max-width:480px){
 .gcui-bar.gcui-auth .gcui-bar-in{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:8px;row-gap:3px;padding:7px 0;width:calc(100% - 20px)}
 .gcui-bar.gcui-auth .gcui-count{display:contents}
 .gcui-bar.gcui-auth .gcui-l1{grid-column:1;grid-row:1;font-size:12.5px;line-height:1.25;font-weight:800}
 .gcui-bar.gcui-auth .gcui-count small{grid-column:1/-1;grid-row:2;font-size:11px;line-height:1.25;margin:0}
 .gcui-bar.gcui-auth .gcui-ic{width:14px;height:14px;margin-right:4px}
 .gcui-bar.gcui-auth a{grid-column:2;grid-row:1;padding:7px 10px;font-size:12.5px;border-radius:9px}
}

/* SC-GC-FIT (B 09.10, A 17:28): sign-up/log-in pages on 360-390 px phones. main.css sets html,body{min-width:400px} and its own
   max-width:400px reset comes earlier in the file, so it never wins -> page 400 px wide, card and basket panel cut off on the right. */
@media (max-width:400px){html,body{min-width:0!important}}
/* register: REGISTER button is width:100% (w-100) PLUS 22px side margins -> 44 px past the form edge */
@media (max-width:480px){.form_block form.panel .checkout-form-btn-checkout.w-100{width:calc(100% - 44px)!important}}
/* register body is display:table, which grows to the widest content (368 px on a 360 px phone); plain block flow fits */
@media (max-width:400px){body.authorize{display:block!important}}

/* SC-GC-FIT2 09.10: register grid column was a fixed 428px on phones */
@media (max-width:600px){.register-section{grid-template-columns:minmax(0,1fr)!important}.register-section>*{min-width:0;max-width:100%}}
