/* Shivoham Shastr LMS 1.0 — Course store + website carousel. Scoped additions. */
.sh-store-page,.sh-course-detail-page,.sh-website-admin,.sh-course-editor{--sh-ink:#231d29;--sh-muted:#77727e;--sh-border:#e9e4ea;--sh-wine:var(--wine,#4A003C);--sh-gold:var(--gold,#FFB102);min-width:0}
.sh-store-page *,.sh-course-detail-page *,.sh-website-admin *,.sh-course-editor *{box-sizing:border-box}
.sh-store-page{padding-top:4px}
.sh-store-carousel{width:100%;height:clamp(235px,33vw,450px);position:relative;border-radius:24px;margin:0 0 36px;overflow:hidden;background:linear-gradient(115deg,#420936,#754763);box-shadow:0 18px 40px rgba(52,9,45,.12);isolation:isolate}
.sh-carousel-track{position:relative;height:100%;width:100%}
.sh-carousel-slide{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .65s ease;text-decoration:none;color:#fff!important}
.sh-carousel-slide.is-active{opacity:1;pointer-events:auto;z-index:1}
.sh-carousel-slide>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.sh-carousel-gradient{position:absolute;inset:auto 0 0;display:flex;align-items:end;min-height:55%;background:linear-gradient(transparent,rgba(28,12,25,.76));padding:48px clamp(24px,5vw,65px) 40px;pointer-events:none}
.sh-carousel-text{display:grid;gap:8px;max-width:640px;min-width:0}
.sh-carousel-text strong{display:block;color:#fff;font-size:clamp(21px,3vw,42px);line-height:1.24;font-weight:600;letter-spacing:-.035em;overflow-wrap:anywhere}
.sh-carousel-text small{display:block;color:#f4e9ed;font-size:clamp(10px,1.2vw,13px);line-height:1.8;max-width:530px}
.sh-carousel-cta{display:inline-flex;width:max-content;max-width:100%;align-items:center;gap:10px;border-radius:10px;background:#fff;color:#4a003c;padding:9px 15px;margin-top:5px;font-size:11px;font-weight:600}
.sh-carousel-cta svg{height:15px;width:15px}
.sh-carousel-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);height:38px;width:38px;border:1px solid #ffffff82;border-radius:50%;background:#24152c70;color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(7px)}
.sh-carousel-arrow:hover{background:#4a003cdd}.sh-carousel-arrow svg{height:19px;width:19px}.sh-carousel-prev{left:15px}.sh-carousel-next{right:15px}
.sh-carousel-dots{position:absolute;z-index:3;bottom:14px;left:50%;transform:translateX(-50%);display:flex;justify-content:center;align-items:center;gap:7px;max-width:70%}
.sh-carousel-dots button{height:7px;width:7px;border:0;border-radius:20px;background:#ffffff92;cursor:pointer;padding:0;transition:width .2s}
.sh-carousel-dots button[aria-current=true]{width:25px;background:var(--sh-gold)}
.sh-store-default-hero{background:linear-gradient(108deg,var(--sh-wine),#6d2d5d);}
.sh-collection-heading{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:15px;margin-bottom:18px}
.sh-collection-heading h2{font-size:clamp(20px,2.5vw,30px);line-height:1.3;color:#231927;margin:5px 0 0;letter-spacing:-.037em;font-weight:600}
.sh-store-products-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}
.sh-premium-card{border-color:#eee7ee;box-shadow:0 10px 30px rgba(49,16,43,.065);border-radius:19px}
.sh-premium-card:hover{box-shadow:0 22px 42px rgba(49,16,43,.14)}
.sh-premium-card .store-product-art{aspect-ratio:1.53/1;background:linear-gradient(137deg,#f9e8f2,#f7eddc)}
.sh-premium-card .store-placeholder{background:radial-gradient(circle at 30% 0%,#fdf6d9,#e9d3e4);color:var(--sh-wine)}
.sh-premium-card .store-product-badge{color:var(--sh-wine);background:#fffdfb}
.sh-premium-card .store-product-info{padding:18px}
.sh-premium-card .store-product-info h3{color:#302034;font-size:15px;min-height:0;margin-bottom:7px}
.sh-premium-card .store-product-info p{color:#797681;margin:0 0 13px;min-height:37px}
.sh-course-quickfacts{display:flex;flex-wrap:wrap;gap:8px 12px;margin:12px 0 16px;color:#6c5c6e;font-size:10px}
.sh-course-quickfacts span{display:inline-flex;align-items:center;gap:5px;max-width:100%;overflow-wrap:anywhere}
.sh-course-quickfacts svg{width:14px;height:14px;flex:0 0 14px;color:#854c78}
.sh-premium-card .store-product-bottom strong{color:var(--sh-wine)}
.sh-card-action{display:inline-flex;align-items:center;gap:5px;color:var(--sh-wine);font-size:10px;font-weight:600;white-space:nowrap}
.sh-card-action svg{width:15px;height:15px}
.sh-owned-tag{position:absolute;right:12px;top:12px;background:#ddf9eb;color:#177048;font-size:9px;font-weight:600;border-radius:8px;padding:7px 9px}
.sh-course-detail-page{width:100%;min-width:0}
.sh-detail-hero{width:100%;height:clamp(230px,34vw,440px);overflow:hidden;border:1px solid var(--sh-border);border-radius:23px;background:linear-gradient(120deg,#451539,#eac2db);margin-bottom:24px}
.sh-detail-hero img{width:100%;height:100%;display:block;object-fit:cover}
.sh-detail-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(295px,.82fr);gap:24px;align-items:start}
.sh-detail-layout>*{min-width:0}
.sh-detail-intro{margin:0 0 20px}
.sh-detail-intro h1{font-size:clamp(25px,3vw,34px);color:#2d1e30;line-height:1.27;margin:6px 0 12px;letter-spacing:-.045em;overflow-wrap:anywhere}
.sh-detail-intro p{font-size:13px;line-height:1.8;color:#77707b;max-width:790px;margin:0}
.sh-detail-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.sh-detail-meta-grid>div{min-width:0;display:grid;grid-template-columns:27px minmax(0,1fr);gap:1px 9px;align-items:center;border:1px solid #eee7e8;border-radius:14px;padding:16px;background:#fff}
.sh-detail-meta-grid svg{grid-row:span 2;width:24px;height:24px;color:var(--sh-wine);padding:3px;border-radius:6px;background:#faeefa}
.sh-detail-meta-grid span{font-size:10px;color:#817d83}
.sh-detail-meta-grid strong{font-size:12px;font-weight:600;color:#372a37;overflow-wrap:anywhere}
.sh-detail-panel{border:1px solid #eae4eb;border-radius:18px;padding:25px 26px;margin-bottom:18px;background:#fff;box-shadow:0 7px 29px rgba(42,8,33,.035)}
.sh-detail-panel-heading{display:flex;align-items:center;gap:11px;margin:0 0 17px}
.sh-detail-panel-heading>svg{width:33px;height:33px;background:#f8eaf5;color:#5a144a;border-radius:10px;padding:7px;flex:0 0 33px}
.sh-detail-panel-heading h2{font-size:19px;line-height:1.4;letter-spacing:-.035em;color:#291e2d;margin:0;font-weight:600}
.sh-detail-description{font-size:12px;line-height:2.1;color:#726a77;white-space:normal;overflow-wrap:anywhere}
.sh-detail-panel h3{font-size:14px;color:#312338;margin:20px 0 12px}
.sh-detail-checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sh-detail-checks li{display:flex;gap:11px;color:#696473;line-height:1.7;font-size:12px;min-width:0}
.sh-detail-checks svg{color:#309967;flex:0 0 18px;width:18px;height:18px;margin-top:1px}
.sh-faq-list{display:grid;gap:9px}
.sh-faq-item{border:1px solid #ece5eb;border-radius:12px;overflow:hidden;background:#fcfbfd}
.sh-faq-item summary{list-style:none;cursor:pointer;display:flex;gap:12px;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:#37283a;padding:15px 16px}
.sh-faq-item summary::-webkit-details-marker{display:none}
.sh-faq-item summary svg{width:17px;height:17px;flex:0 0 17px;transition:transform .18s}
.sh-faq-item[open] summary svg{transform:rotate(180deg)}
.sh-faq-item>div{padding:0 16px 16px;line-height:1.95;font-size:12px;color:#706877;overflow-wrap:anywhere}
.sh-detail-purchase{overflow:hidden;position:sticky;top:82px;background:#fff;border:1px solid #ece5ea;border-radius:20px;box-shadow:0 14px 36px rgba(49,13,40,.08)}
.sh-detail-purchase-cover{aspect-ratio:16/9;overflow:hidden;background:#f5edf2}
.sh-detail-purchase-cover>img{height:100%;width:100%;object-fit:cover;display:block}
.sh-detail-purchase-inner{padding:23px}
.sh-detail-purchase-inner h3{font-size:17px;line-height:1.48;color:#362637;letter-spacing:-.027em;margin:8px 0}
.sh-detail-purchase-price{border-top:1px solid #f0eaf0;border-bottom:1px solid #f0eaf0;margin:17px 0;padding:15px 0;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}
.sh-detail-purchase-price del{font-size:12px;color:#a099a2}
.sh-detail-purchase-price strong{font-size:29px;line-height:1.2;color:var(--sh-wine);font-weight:600}
.sh-detail-purchase-price small{flex:1 0 100%;font-size:10px;color:#88818a}
.sh-enroll-button{width:100%;min-height:45px;display:flex!important;justify-content:center;gap:8px;font-size:13px!important}
.sh-enroll-button svg{width:17px;height:17px}
.sh-purchase-note{font-size:10px;color:#827c89;text-align:center;margin:12px 0}
.sh-purchase-assurance{display:grid;gap:12px;margin-top:22px;padding-top:17px;border-top:1px solid #eee7ef}
.sh-purchase-assurance span{display:flex;align-items:center;gap:9px;color:#766c79;font-size:11px}
.sh-purchase-assurance svg{width:16px;height:16px;color:#9d718d}
.sh-website-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:18px;align-items:start}
.sh-website-layout>*{min-width:0;margin:0!important;padding:23px!important;border:1px solid #eee7ed}
.sh-section-title{display:flex;align-items:flex-start;gap:12px;margin-bottom:23px}
.sh-section-title>svg{height:37px;width:37px;padding:9px;border-radius:10px;background:#f9eaf4;color:#682056;flex:0 0 37px}
.sh-section-title h3{font-size:17px;color:#332238;margin:3px 0}
.sh-section-title p{font-size:11px;color:#847987;line-height:1.7;margin:3px 0}
.sh-website-form{display:grid;gap:16px}
.sh-website-form .field input,.sh-website-form .field textarea{max-width:100%;width:100%}
.sh-website-form .field small{display:block;color:#837984;line-height:1.6;font-size:10px;margin-top:5px}
.sh-inline-fields{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(120px,.6fr);gap:12px}
.sh-form-actions{display:flex;flex-wrap:wrap;gap:9px}
.sh-banner-admin-preview{display:block;width:100%;max-height:210px;object-fit:cover;border:1px solid #eae0e8;border-radius:12px;margin-top:11px}
.sh-website-items{display:grid;gap:12px}
.sh-website-slide{border:1px solid #eee8ef;border-radius:14px;overflow:hidden;padding:10px;background:#fcfbfc;display:grid;grid-template-columns:118px minmax(0,1fr);gap:11px}
.sh-website-slide>img{width:118px;height:79px;border-radius:9px;object-fit:cover}
.sh-website-slide-copy{min-width:0;display:grid;align-content:start;gap:3px}
.sh-website-slide-copy strong{font-size:12px;color:#302034;overflow-wrap:anywhere}
.sh-website-slide-copy small{color:#88818b;font-size:10px;overflow-wrap:anywhere}
.sh-website-slide-copy .status{justify-self:start}
.sh-website-slide-actions{grid-column:1/-1;display:flex;gap:9px;justify-content:flex-end}
.sh-website-empty{color:#8b808e;text-align:center;padding:32px 16px;font-size:12px}
.sh-course-editor .form-section-title h3{font-size:16px}
.sh-course-flags{display:flex;flex-wrap:wrap;gap:20px;margin-top:17px}
.sh-course-flags .toggle-line{margin:0}
.sh-signup-card{max-width:485px!important;width:min(100%,485px);padding:32px!important}
.sh-signup-intro{text-align:center;color:#79747b;font-size:11px;line-height:1.8;margin:10px 0 23px}
.sh-signup-form{display:grid;gap:14px}
.sh-signup-form .field{min-width:0}
.sh-signup-form input{width:100%;max-width:100%}
.sh-signup-submit{width:100%;min-height:46px;display:flex!important;justify-content:center;gap:8px;margin-top:5px;font-size:12px!important}
.sh-signup-submit svg{width:17px;height:17px}
.sh-field-hint,.sh-auth-note,.sh-small-note{display:block;color:#89828e;font-size:10px;line-height:1.7;margin:5px 0 0}
.sh-phone-combo{width:100%;max-width:100%;display:flex;gap:9px;align-items:stretch;min-width:0}
.sh-phone-combo input{min-width:0;flex:1 1 55%;width:40%}
.sh-phone-country{width:100%;max-width:100%;min-width:0;background:#fff;border:1px solid #e2dbe4;border-radius:11px;padding:11px 10px;font-family:inherit;font-size:11px;color:#352838}
.sh-phone-combo .sh-phone-country{width:42%;flex:0 0 42%;max-width:42%}
.sh-contact-phone[hidden]{display:none!important}
.sh-hidden-field{position:absolute;left:-10000px;height:1px;width:1px;overflow:hidden}
.sh-auth-note{background:#fbf6fa;border:1px solid #f1e3ed;padding:11px 12px;border-radius:9px}
.sh-otp-graphic{display:grid;place-items:center;color:#632153;margin:0 auto 9px;background:#f9eff7;height:45px;width:45px;border-radius:14px}
.sh-otp-graphic svg{height:22px;width:22px}
.sh-signin-link{font-size:11px;text-align:center;color:#817884;margin:19px 0 0;line-height:1.8}
.sh-signin-link a,.sh-register-restart button{color:var(--wine,#4a003c);font-weight:600}
.sh-register-restart{text-align:center;margin-top:13px}
.sh-small-note{text-align:center;margin-top:9px}
/* Prevent global form/card rules from producing overlaps at narrow viewport widths. */
@media(max-width:1100px){.sh-store-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sh-detail-layout{grid-template-columns:minmax(0,1.2fr) minmax(265px,.8fr)}.sh-website-layout{grid-template-columns:1fr}}
@media(max-width:830px){.sh-detail-layout{grid-template-columns:1fr}.sh-detail-purchase{position:static}.sh-store-carousel{height:clamp(245px,43vw,360px)}}
@media(max-width:620px){
.sh-store-carousel{margin:0 0 23px;border-radius:17px;height:260px}
.sh-carousel-slide>img{object-position:center}
.sh-carousel-gradient{padding:35px 21px 30px;min-height:60%}
.sh-carousel-text strong{font-size:22px}
.sh-carousel-text small{font-size:10px;line-height:1.55}
.sh-carousel-cta{padding:8px 11px;font-size:10px}
.sh-carousel-arrow{height:30px;width:30px;top:47%}.sh-carousel-arrow svg{height:16px;width:16px}.sh-carousel-prev{left:7px}.sh-carousel-next{right:7px}
.sh-store-products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sh-premium-card .store-product-art{aspect-ratio:1.15/1}
.sh-premium-card .store-product-info{padding:12px 11px}
.sh-premium-card .store-product-info h3{font-size:12px;line-height:1.4;margin-bottom:6px;min-height:0}
.sh-premium-card .store-product-info p{font-size:10px;min-height:37px;line-height:1.5;margin-bottom:8px}
.sh-course-quickfacts{gap:6px;font-size:9px;margin:8px 0 11px}
.sh-card-action{font-size:0;gap:0}.sh-card-action svg{height:16px;width:16px}
.sh-collection-heading h2{font-size:20px}
.sh-detail-hero{height:245px;border-radius:17px}
.sh-detail-intro h1{font-size:24px}
.sh-detail-meta-grid{gap:8px}
.sh-detail-meta-grid>div{padding:12px 10px;grid-template-columns:21px 1fr;gap:1px 6px}
.sh-detail-meta-grid svg{width:21px;height:21px;padding:2px}
.sh-detail-meta-grid strong{font-size:11px}.sh-detail-meta-grid span{font-size:9px}
.sh-detail-panel{padding:17px;border-radius:15px}.sh-detail-panel-heading h2{font-size:17px}
.sh-detail-purchase-inner{padding:18px}.sh-website-layout>*{padding:16px!important}
.sh-website-slide{grid-template-columns:90px minmax(0,1fr)}.sh-website-slide>img{width:90px;height:68px}
.sh-signup-card{padding:23px!important}.sh-phone-country{font-size:10px}
}
@media(max-width:360px){.sh-store-products-grid{grid-template-columns:1fr}.sh-premium-card .store-product-art{aspect-ratio:16/9}.sh-card-action{font-size:10px;gap:6px}}
@media(prefers-reduced-motion:reduce){.sh-carousel-slide,.sh-carousel-dots button,.sh-premium-card{transition:none!important}}

/* Inline smart country picker, visible only for mobile sign-up. */
.sh-smart-contact-row{display:flex;gap:8px;align-items:stretch;min-width:0;width:100%}
.sh-smart-contact-row>input{min-width:0;flex:1 1 auto;width:100%}
.sh-smart-contact-row .sh-contact-phone{min-width:0;flex:0 0 43%;width:43%}
.sh-smart-contact-row .sh-contact-phone .sh-phone-country{height:100%;max-width:100%;width:100%}
.sh-smart-contact-row .sh-contact-phone[hidden]{display:none!important}
@media(max-width:420px){.sh-smart-contact-row .sh-contact-phone{flex-basis:39%;width:39%}.sh-smart-contact-row .sh-contact-phone .sh-phone-country{padding:9px 5px;font-size:10px}}
