/* M13 storefront: the marketplace flow (product page, search results, homepage bands) in the Teach This Way! colours.
   Pink is the buying colour, navy the secondary, aqua the soft accent. Loaded after site.css and content.css. */
:root{--sf-pink:var(--pink);--sf-pink-dark:#8d1554;--sf-soft:#eaf5f4;--sf-star:#f2a20c;--sf-card:#ffffff}

.bl-stars{color:var(--sf-star);letter-spacing:1px}

/* ---------- Product page ---------- */
.pp{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:36px;align-items:start;margin-top:12px}
.pp-gallery{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px}
.pp-thumbs{display:grid;gap:8px;align-content:start;max-height:560px;overflow:auto}
button.pp-thumb{padding:0;width:78px;height:78px;border:2px solid var(--line);border-radius:8px;background:white;overflow:hidden;min-height:0}
button.pp-thumb img{width:100%;height:100%;object-fit:cover;display:block}
button.pp-thumb[aria-pressed=true]{border-color:var(--sf-pink)}
.pp-main{background:white;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;min-height:360px;overflow:hidden}
.pp-main img{width:100%;height:auto;max-height:640px;object-fit:contain;display:block}
.pp-art{display:grid;gap:10px;padding:40px;text-align:center;background:var(--sf-soft);width:100%;min-height:360px;place-content:center}
.pp-art span{font-size:12px;letter-spacing:2px;font-weight:800;color:var(--sf-pink)}
.pp-art strong{font:600 28px/1.2 Georgia,serif}
.pp-media-bar{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:12px}
.pp-share{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}
.pp-buy{position:sticky;top:14px;display:grid;gap:10px}
.pp-views{margin:0;font-size:12px;color:var(--muted)}
.pp-buy h1{font:600 26px/1.25 Georgia,serif;margin:0;letter-spacing:-.3px}
.pp-rating{margin:0;font-size:14px}
.pp-rating a{text-decoration:none}
.pp-store{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:14px}
.pp-store img{border-radius:50%;object-fit:cover}
.pp-store a{font-weight:700}
.pp-avatar{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--aqua);color:var(--navy);font-weight:800;flex-shrink:0}
.pp-avatar-lg{width:72px;height:72px;font-size:28px}
button.pp-follow{min-height:32px;padding:4px 12px;border-radius:999px;background:white;color:var(--navy);border:1px solid var(--navy);font-size:13px}
button.pp-follow.is-following{background:var(--navy);color:white}
.pp-price{font-size:30px;font-weight:800;margin:4px 0 0}
.pp-price del{font-size:18px;color:var(--muted);font-weight:400}
.pp-cart{display:grid;gap:8px}
button.pp-cta,a.pp-cta,.pp-cart button.pp-cta{width:100%;background:var(--sf-pink);border-color:var(--sf-pink);border-radius:999px;font-size:16px;text-align:center}
button.pp-cta:hover{background:var(--sf-pink-dark)}
button.pp-buynow{width:100%;border-radius:999px;background:var(--navy);border-color:var(--navy)}
button.pp-wish{background:none;border:0;color:var(--navy);font-weight:700;justify-self:center;min-height:36px}
button.pp-wish.is-saved{color:var(--sf-pink)}
.pp-subhead{font-size:16px;margin:12px 0 2px;font-family:inherit}
.pp-highlights{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:14px}
.pp-highlights li{display:grid;grid-template-columns:22px 1fr;gap:6px}
.pp-highlights strong{margin-right:4px}
.pp-bundle{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:white;text-decoration:none;font-size:13px}
.pp-bundle:hover{border-color:var(--sf-pink)}
.pp-bundle img,.pp-bundle-art{width:64px;height:64px;border-radius:6px;object-fit:cover}
.pp-bundle-art{display:grid;place-items:center;background:var(--sf-soft);font-size:9px;font-weight:800;letter-spacing:1px}
.pp-bundle>span{display:grid;gap:2px}
.pp-bundle del{color:var(--muted)}
.pp-save{color:var(--sf-pink);font-weight:800}
.pp-body{max-width:860px}
.pp-section{margin:36px 0;padding-top:4px}
.pp-section>h2{font:600 24px Georgia,serif;margin:0 0 14px}
.pp-quote{margin:0 0 14px;padding:0 0 0 16px;border-left:4px solid var(--aqua)}
.pp-quote p{margin:0 0 4px;font-style:italic}
.pp-quote footer{font-size:13px;color:var(--muted)}
.pp-description p{margin:0 0 14px;line-height:1.75}
.pp-description h3,.pp-description h4{margin:18px 0 8px;font-size:17px;line-height:1.35;color:var(--navy,#092C50)}
.pp-description h4{font-size:15.5px}
.pp-description ul,.pp-description ol{margin:0 0 14px;padding-left:22px;line-height:1.7}
.pp-report{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
.pp-preview{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.pp-preview img{width:100%;height:auto;border:1px solid var(--line);border-radius:8px}
.pp-review-summary{display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(180px,1fr) minmax(160px,auto);gap:24px;align-items:end;padding:18px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:18px}
.pp-average{display:grid;gap:2px;justify-items:start}
.pp-average strong{font-size:44px;line-height:1}
.pp-bars{display:grid;gap:4px;font-size:12px}
.pp-bar{display:grid;grid-template-columns:30px 1fr 30px;gap:6px;align-items:center}
.pp-bar meter{width:100%;height:10px}
.pp-histogram{display:flex;align-items:flex-end;gap:6px;height:110px}
.pp-col{display:grid;grid-template-rows:auto 1fr auto;justify-items:center;height:100%;font-size:11px;flex:1;min-width:18px}
.pp-col-bar{align-self:end;width:100%;background:var(--navy);border-radius:4px 4px 0 0;min-height:4px}
.pp-col-label{color:var(--muted)}
.pp-saying{font-size:13px}
.pp-saying p{margin:0 0 6px}
.pp-chip{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--sf-soft)}
.pp-review{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.pp-review h3{margin:0 0 4px;font-size:16px}
.pp-review aside{display:grid;align-content:start;gap:2px;font-size:13px}
.pp-review-meta{font-size:12px;color:var(--muted);margin:0 0 8px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pp-tick{color:var(--success)}
.pp-reply{margin:10px 0;padding:10px 14px;background:var(--sf-soft);border-radius:8px}
.pp-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pp-qa{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.pp-answer{margin:10px 0 0;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:white}
.pp-author{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:20px;background:white;border:1px solid var(--line);border-radius:12px}
.pp-author img{border-radius:50%;object-fit:cover}
.pp-author h2{margin:4px 0;font:600 22px Georgia,serif}
@media(max-width:900px){.pp{grid-template-columns:1fr}.pp-buy{position:static}.pp-review-summary{grid-template-columns:1fr 1fr}.pp-quick{grid-template-columns:1fr}}
@media(max-width:600px){.pp-gallery{grid-template-columns:1fr}.pp-thumbs{grid-auto-flow:column;grid-auto-columns:64px;overflow-x:auto;order:2}button.pp-thumb{width:64px;height:64px}.pp-review{grid-template-columns:1fr}.pp-review-summary{grid-template-columns:1fr}.pp-author{grid-template-columns:1fr}}

/* ---------- Search results ---------- */
.sf-head{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:space-between;margin:6px 0 12px}
.sf-head h1{font:600 28px/1.2 Georgia,serif;margin:0;flex:1 1 320px}
.sf-head h1 .bl-muted{font:400 14px/1 var(--chalk-sans,Arial,sans-serif);letter-spacing:0;margin-left:8px}
.sf-sort label{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13px}
.sf-sort select{min-height:38px;padding:6px 10px}
.sf-view{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:white}
.sf-view a{padding:6px 12px;text-decoration:none;font-size:16px;color:var(--muted)}
.sf-view a[aria-current=true]{background:var(--navy);color:white}
.sf-filterbar{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start;padding:10px 0 12px;border-bottom:1px solid var(--line);margin-bottom:12px}
.sf-drop{position:relative}
.sf-drop summary{list-style:none;cursor:pointer;padding:8px 14px;border:1px solid #aebbc9;border-radius:999px;background:white;font-size:14px;font-weight:600;min-height:38px;display:flex;align-items:center;gap:6px}
.sf-drop summary::-webkit-details-marker{display:none}
.sf-drop summary::after{content:"▾";font-size:11px}
.sf-drop summary.is-on{background:var(--navy);color:white;border-color:var(--navy)}
.sf-drop-menu{position:absolute;z-index:20;top:calc(100% + 6px);left:0;min-width:220px;max-height:340px;overflow:auto;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px #0b255926;padding:6px;display:grid}
.sf-drop-menu a{padding:8px 10px;border-radius:6px;text-decoration:none;font-size:14px}
.sf-drop-menu a:hover,.sf-drop-menu a[aria-current=true]{background:var(--sf-soft)}
.sf-all summary{background:var(--sf-soft);border-color:var(--sf-soft)}
.sf-all[open]{flex-basis:100%}
.sf-all-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:10px;padding:16px;background:white;border:1px solid var(--line);border-radius:12px}
.sf-all-form .bl-actions,.sf-all-form .bl-price-range{grid-column:span 2}
.sf-active{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 14px}
.sf-active a{padding:4px 10px;border-radius:999px;background:var(--sf-soft);text-decoration:none;font-size:13px}
.sf-rows{display:grid}
.sf-row{display:grid;grid-template-columns:150px minmax(0,1fr) 170px;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}
.sf-row-cover{display:block;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:white;aspect-ratio:1;align-self:start}
.sf-row-cover img{width:100%;height:100%;object-fit:cover;display:block}
.sf-row-art{display:grid;place-content:center;gap:4px;height:100%;padding:10px;text-align:center;background:var(--sf-soft);font:600 14px/1.25 Georgia,serif}
.sf-row-art small{font:800 9px Arial,sans-serif;letter-spacing:1.5px;color:var(--sf-pink)}
.sf-row-body h3{margin:0 0 4px;font-size:18px;line-height:1.3}
.sf-row-body h3 a{text-decoration:none}
.sf-row-body h3 a:hover{text-decoration:underline}
.sf-row-by{margin:0 0 4px;font-size:13px;color:var(--muted)}
.sf-row-rating{margin:0 0 6px;font-size:13px}
.sf-row-desc{margin:0 0 8px;font-size:14px;color:#40556a}
.sf-row-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 6px;font-size:13px}
.sf-row-included{margin:0;font-size:13px}
.sf-row-buy{display:grid;gap:8px;align-content:start;justify-items:stretch;text-align:right}
.sf-row-price{margin:0;font-size:20px;font-weight:800}
.sf-row-price del{font-size:14px;font-weight:400;color:var(--muted)}
button.sf-add{border-radius:999px;background:var(--sf-pink);border-color:var(--sf-pink)}
button.sf-add:hover{background:var(--sf-pink-dark)}
button.sf-wish{background:none;border:0;color:var(--navy);font-weight:700;min-height:32px}
.sf-row-message{margin:0;font-size:12px}
@media(max-width:900px){.sf-all-form{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.sf-row{grid-template-columns:96px minmax(0,1fr)}.sf-row-buy{grid-column:1/-1;grid-template-columns:auto 1fr auto;align-items:center;text-align:left}.sf-all-form{grid-template-columns:1fr}.sf-all-form .bl-actions,.sf-all-form .bl-price-range{grid-column:auto}}

/* ---------- Header ---------- */
.bl-header .bl-search{max-width:640px}
.bl-header .bl-search input{border-radius:999px 0 0 999px;border-right:0;padding-left:18px}
.bl-header .bl-search button{border-radius:0 999px 999px 0;background:var(--sf-pink);border-color:var(--sf-pink)}
.bl-account{align-items:center}
.sf-auth{font-size:14px;color:var(--muted);white-space:nowrap}
.sf-auth a{font-weight:700}
.sf-bag{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;text-decoration:none}
.sf-bag:hover{background:var(--sf-soft)}
.sf-bag-count{position:absolute;top:-2px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--sf-pink);color:white;font-size:11px;font-weight:800;display:grid;place-items:center}

/* ---------- Homepage ---------- */
.hp-hero{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;border-radius:18px;overflow:hidden;background:var(--navy);color:white;margin:8px 0 28px;min-height:340px}
.hp-hero-copy{padding:40px;display:grid;align-content:center;gap:14px}
.hp-hero-copy .bl-eyebrow{color:var(--aqua)}
.hp-hero-copy h1{font:600 clamp(30px,3.6vw,46px)/1.12 Georgia,serif;margin:0;letter-spacing:-1px}
.hp-hero-copy h1 em{color:var(--aqua)}
.hp-hero-copy .bl-search-filters a{color:white}
.hp-hero-copy .bl-search input{border:0}
.hp-explore{justify-self:start;background:var(--sf-pink);border-color:var(--sf-pink);border-radius:999px}
.hp-hero-image img{width:100%;height:100%;object-fit:cover;display:block}
.hp-browse{margin:0 0 10px}
.hp-shelf{margin:36px 0}
.hp-shelf>h2{font:600 24px Georgia,serif;margin:0 0 16px}
.hp-more{display:block;width:max-content;margin:16px auto 0;font-weight:700;text-decoration:none;color:var(--sf-pink)}
.hp-more::after{content:" ›"}
.hp-promo{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:center;background:var(--aqua);border-radius:18px;padding:34px;margin:36px 0}
.hp-promo h2{font:600 clamp(24px,3vw,34px)/1.2 Georgia,serif;margin:8px 0 18px}
.hp-promo img{width:100%;border-radius:14px;max-height:280px;object-fit:cover}
.hp-stats{background:var(--navy);color:white;border-radius:18px;padding:36px;text-align:center;margin:36px 0}
.hp-stats h2{font:600 28px Georgia,serif;margin:0 0 22px}
.hp-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.hp-stat-grid div{display:grid;gap:4px;text-align:left;padding:18px;border:1px solid #ffffff33;border-radius:12px}
.hp-stat-grid strong{font:600 34px Georgia,serif;color:var(--aqua)}
.hp-stats .bl-button{background:var(--sf-pink);border-color:var(--sf-pink);border-radius:999px}
.hp-schools{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;margin:36px 0}
.hp-schools h2{margin:6px 0}
.hp-join{text-align:center;background:var(--sf-soft);border-radius:18px;padding:44px 20px;margin:36px 0}
.hp-join h2{font:600 clamp(26px,3.4vw,40px)/1.15 Georgia,serif;margin:0 0 18px}
.hp-join .bl-button{background:var(--navy);border-radius:999px}

/* ---------- Footer ---------- */
footer.bl-footer{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.4fr;gap:28px;align-items:start;padding-top:44px;padding-bottom:20px}
footer.bl-footer h2{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 10px;color:var(--aqua)}
.sf-foot-logo img{border-radius:10px;background:white;padding:4px}
.sf-foot-brand p{max-width:260px;color:#dfe7f1}
.sf-foot-col{display:grid;gap:6px;align-content:start}
.sf-foot-col a{text-decoration:none;color:#dfe7f1}
.sf-foot-col a:hover{color:white;text-decoration:underline}
.sf-copy{grid-column:1/-1;margin:16px 0 0;padding-top:16px;border-top:1px solid #ffffff2a;color:#b8c7d8;font-size:12px;text-align:center}
@media(max-width:900px){.hp-hero,.hp-promo{grid-template-columns:1fr}.hp-hero-image{max-height:220px;overflow:hidden}.hp-stat-grid{grid-template-columns:1fr 1fr}footer.bl-footer{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hp-hero-copy{padding:24px}.hp-stat-grid{grid-template-columns:1fr}footer.bl-footer{grid-template-columns:1fr}}

/* ---------- Hover states ----------
   site.css turns every button navy on hover. Filled buttons need white text then; light and outline buttons keep a light
   hover so their navy text stays readable (it was disappearing, e.g. on the bag and checkout buttons). */
button:hover:not(:disabled),.bl-button:hover{color:#fff}
.bl-secondary:hover,button.bl-secondary:hover,a.bl-button.bl-secondary:hover,button.secondary:hover,
button.sf-wish:hover,button.pp-wish:hover,button.pp-follow:not(.is-following):hover,.bl-fav:hover,.bl-fav-inline:hover,button.pp-thumb:hover{background:var(--aqua-soft)!important;color:var(--navy)!important;filter:none}
button.pp-wish.is-saved:hover{color:var(--sf-pink)!important}
button.pp-follow.is-following:hover{background:var(--navy-deep);color:#fff}
button.pp-cta:hover,button.sf-add:hover,.hp-explore:hover,.bl-header .bl-search button:hover{background:var(--sf-pink-dark)!important;border-color:var(--sf-pink-dark)!important;color:#fff!important}
button:disabled:hover{filter:none}

/* Homepage photos */
.hp-store{padding-top:0;overflow:hidden}
.hp-store-banner{display:block;margin:0 -26px 0;height:96px;overflow:hidden}
.hp-store-banner img{width:100%;height:100%;object-fit:cover;display:block}
.hp-store .bl-store-logo{margin-top:-32px;border:3px solid white;position:relative}
.hp-schools{display:grid;grid-template-columns:220px 1fr auto;gap:22px;align-items:center}
.hp-section-photo{width:220px;height:150px;object-fit:cover;border-radius:12px}
.hp-join{position:relative;overflow:hidden}
.hp-join-photo{width:min(420px,90%);height:150px;object-fit:cover;border-radius:14px;margin:0 auto 18px;display:block}
@media(max-width:760px){.hp-schools{grid-template-columns:1fr}.hp-section-photo{width:100%;height:180px}}
.sf-row-share{justify-self:end}

.bl-store-specialty{margin:2px 0 6px;color:var(--sf-pink,#b8085c);font-weight:800;letter-spacing:.3px}

.pp-video{width:100%;max-height:520px;border-radius:14px;background:#0b1a2b}
.pp-licenses{display:flex;gap:8px;align-items:center;font-weight:700;margin:6px 0}.pp-licenses select{width:auto}.pp-license-note{margin:0 0 8px;font-size:13px}
.cart-licenses{display:flex;gap:6px;align-items:center;font-size:14px;margin-top:6px}.cart-licenses select{width:auto}

/* Creator email invitation (M17) */
.sf-lead{position:relative;display:grid;grid-template-columns:160px 1fr;gap:20px;align-items:center;margin:24px 0;padding:20px 48px 20px 20px;border-radius:16px;background:var(--sf-soft,#fdf0f6);border:1px solid #f3c6dc}
.sf-lead img{width:160px;height:110px;object-fit:cover;border-radius:10px;background:#fff}
.sf-lead h2{font:600 22px Georgia,serif;margin:0 0 6px}.sf-lead p{margin:0 0 12px}
.sf-lead .bl-button{background:var(--sf-pink,#b8085c);border-color:var(--sf-pink,#b8085c);border-radius:999px;margin-right:10px}
button.sf-lead-close{position:absolute;top:10px;right:10px;background:transparent;color:var(--navy);border:0;font-size:24px;line-height:1;padding:4px 8px}
button.sf-lead-close:hover{background:#fff;color:var(--navy)}
@media(max-width:600px){.sf-lead{grid-template-columns:1fr}.sf-lead img{width:100%;height:120px}}

/* What's included: downloadable files (M18) */
.pp-file-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:10px}
.pp-file{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--line,#e2e8f0);border-radius:12px;background:#fff}
.pp-file-icon{font-size:28px;text-align:center}
.pp-file-info{display:grid;gap:2px;min-width:0}.pp-file-info strong{overflow-wrap:anywhere}.pp-file-info small{color:var(--muted)}
.pp-file-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.pp-file-actions .bl-button,.pp-file-actions button{padding:8px 14px;border-radius:999px}
.pp-file-dialog{width:min(860px,94vw);max-height:90vh;border:0;border-radius:16px;padding:20px 22px;box-shadow:0 20px 60px #0b1a2b55}
.pp-file-dialog::backdrop{background:#0b1a2b99}
.pp-file-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.pp-file-dialog-head h3{margin:0}
.pp-file-dialog .sf-lead-close{position:static}
.pp-file-pages{display:grid;gap:14px;margin:12px 0}.pp-file-pages img{width:100%;height:auto;border:1px solid var(--line,#e2e8f0);border-radius:8px;background:#fff}
.pp-outline{columns:2;column-gap:28px;padding-left:22px}.pp-outline li{break-inside:avoid;margin-bottom:4px}
.pp-zip{width:100%;border-collapse:collapse;margin:10px 0}.pp-zip td,.pp-zip th{padding:6px 8px;border-bottom:1px solid var(--line,#e2e8f0);text-align:left;overflow-wrap:anywhere}
@media(max-width:640px){.pp-file{grid-template-columns:36px 1fr}.pp-file-actions{grid-column:1/-1;justify-content:flex-start}.pp-outline{columns:1}}

/* Header fixes: one pill-shaped search field (no inner frames or uneven heights), plain cart icon, clear Log in / Sign up. */
.bl-header .bl-search{height:46px;padding:0;border:1px solid #a9bfd2;border-radius:999px;background:#fff;overflow:hidden;align-items:stretch;gap:0}
.bl-header .bl-search:focus-within{border-color:var(--sf-pink);box-shadow:0 0 0 3px #b8085c22}
.bl-header .bl-search input{height:100%;min-height:0;margin:0;padding:0 18px;border:0;border-radius:0;background:transparent;outline:none}
.bl-header .bl-search button{height:100%;min-height:0;margin:0;padding:0 24px;border:0;border-radius:0 999px 999px 0}
.bl-header .bl-account a:last-child{background:none;color:var(--navy);border-radius:0}
.bl-header .bl-account a.sf-bag,.bl-header .bl-account a.sf-bag:last-child{background:none;color:var(--navy);padding:0;width:42px;height:42px;border-radius:50%}
.bl-header .bl-account a.sf-bag:hover{background:var(--sf-soft)}
.bl-header .sf-auth{display:inline-flex;align-items:center;gap:6px}
.bl-header .sf-auth a{padding:8px 6px}
.bl-header .sf-auth a:last-child{padding:8px 16px;border-radius:999px;background:var(--sf-pink);color:#fff}
.bl-header .sf-auth a:last-child:hover{background:var(--sf-pink-dark,#8e1554);color:#fff}

/* Page 8: gallery arrows and lightbox, lesson plan panel, benefits */
.pp-main{position:relative}
.pp-zoom{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.pp-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;min-height:0;border-radius:50%;padding:0;background:#fff!important;color:var(--navy)!important;border:1px solid var(--line)!important;font-size:26px;line-height:1;box-shadow:0 4px 12px #0b255922}
.pp-prev{left:8px}.pp-next{right:8px}
.pp-lightbox{max-width:min(96vw,1100px);width:auto;padding:12px;background:#fff}
.pp-lightbox img{max-width:100%;max-height:84vh;display:block;margin:auto;object-fit:contain}
.pp-lightbox-close{position:absolute;top:8px;right:8px;min-height:0;width:36px;height:36px;padding:0;border-radius:50%;font-size:22px}
.pp-lesson{display:flex;gap:12px;align-items:flex-start;background:#f7f8fb;border:1px solid #f7b6d6;border-radius:10px;padding:12px;margin:14px 0}
.pp-lesson strong{color:var(--fuchsia,#e6066f);font-size:16px}.pp-lesson p{margin:2px 0 0;font-size:13px}
.pp-lesson-icon{background:var(--fuchsia,#e6066f);color:#fff;font-weight:800;font-size:11px;border-radius:6px;padding:10px 6px;flex:none}
.pp-benefits{list-style:none;padding:0;margin:14px 0;display:grid;gap:10px}
.pp-benefits li{padding-left:28px;position:relative}
.pp-benefits li::before{content:"\2713";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--aqua-soft,#eef4f8);color:var(--navy);display:grid;place-items:center;font-size:12px;font-weight:800}
.pp-benefits strong{display:block;color:var(--navy)}.pp-benefits span{font-size:13px;color:var(--muted)}
/* Public storefront (My Storefront): header extras, section tabs, category cards, memberships */
.sf-default-banner{display:grid;place-items:center;aspect-ratio:1200/320;background:linear-gradient(90deg,var(--navy),var(--fuchsia,#e6066f))}
.sf-default-banner span{color:#fff;font:700 clamp(22px,4vw,40px) var(--chalk-serif,Georgia,serif)}
.sf-initials{display:grid!important;place-items:center;background:var(--aqua-soft,#eef4f8);color:var(--navy);font:700 40px var(--chalk-serif,Georgia,serif)}
.sf-public .bl-title-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.sf-bio{max-width:760px;white-space:pre-line;margin:6px 0}
.sf-social{display:flex;gap:10px}.sf-social a{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--aqua-soft,#eef4f8)}
.sf-social .ico{width:18px;height:18px;color:var(--navy)}
.sf-tabs{display:flex;gap:22px;align-items:center;border-bottom:1px solid var(--line);margin:18px 0;flex-wrap:wrap}
.sf-tabs>a{padding:10px 2px;text-decoration:none;font-weight:600;color:var(--navy);border-bottom:3px solid transparent}
.sf-tabs>a[aria-current=page]{color:var(--fuchsia,#e6066f);border-bottom-color:var(--fuchsia,#e6066f)}
.sf-tab-search{margin-left:auto;display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;padding:0 4px 0 10px;min-width:220px}
.sf-tab-search input{border:0;min-height:38px;flex:1;min-width:0;outline:none}
.sf-tab-search button{min-height:34px;padding:4px 8px;background:none!important;border:0!important;color:var(--navy)!important}
.sf-tab-search .ico{width:16px;height:16px}
.sf-plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.sf-plan-price{display:flex;gap:12px;font-weight:700}
@media (max-width:620px){.sf-tab-search{margin-left:0;width:100%}}
/* Store theme (Design & Settings): colours come from /store-theme/{id}.css */
.sf-page.sf-theme{background:var(--sf-bg,#fff);color:var(--sf-text,inherit);border-radius:14px;padding:4px 14px 20px}
.sf-theme h1,.sf-theme h2,.sf-theme h3,.sf-theme .sf-tabs>a{color:var(--sf-primary,var(--navy))}
.sf-theme .sf-tabs>a[aria-current=page]{color:var(--sf-accent,#e6066f);border-bottom-color:var(--sf-accent,#e6066f)}
.sf-theme [data-follow],.sf-theme .bl-button{background:var(--sf-accent,var(--navy))!important;border-color:var(--sf-accent,var(--navy))!important;color:var(--sf-accent-text,#fff)!important}
.sf-theme [data-follow].bl-secondary{background:transparent!important;color:var(--sf-accent,var(--navy))!important}
.sf-theme .bl-chips a[aria-current=true]{background:var(--sf-accent,var(--navy));color:var(--sf-accent-text,#fff)}
.sf-theme .sf-social .ico,.sf-theme .bl-eyebrow{color:var(--sf-accent,#e6066f)}
/* Explore by Category (Nov 2026 design): soft aqua panel, centred navy heading with fuchsia accent marks, fuchsia "View All Categories"
   pill, and equal white cards (folder-and-heart icon, aqua divider, bold navy name, count). TTW colours on every storefront. */
.sf-explore{margin:24px 0;padding:18px 20px 22px;border-radius:26px;background:#e4f9fa}
.sf-explore-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-bottom:16px}
.sf-theme .sf-explore h2,.sf-explore h2{grid-column:2;display:flex;align-items:center;gap:12px;margin:0;font:700 clamp(22px,2.3vw,30px)/1.15 "DM Sans",system-ui,sans-serif;letter-spacing:-.5px;color:#092c50;text-align:center}
.sf-explore-accent{flex:none;width:24px;height:30px;fill:none;stroke:#ff1493;stroke-width:4;stroke-linecap:round}
.sf-explore-accent.is-right{transform:scaleX(-1)}
.sf-explore-all{grid-column:3;justify-self:end;display:inline-flex;align-items:center;gap:6px;padding:9px 20px;border-radius:999px;background:#ff1493;color:#fff;font-weight:700;font-size:15px;text-decoration:none;white-space:nowrap;transition:background .15s,box-shadow .15s}
.sf-explore-all:hover{background:#d9107c;color:#fff;box-shadow:0 6px 16px rgba(255,20,147,.3)}
.sf-explore-all:focus-visible,.sf-cat-card:focus-visible{outline:3px solid #092c50;outline-offset:3px}
.sf-cat-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:16px}
.sf-cat-card{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;min-height:92px;padding:14px 14px 14px 16px;border-radius:18px;background:#fff;border:1px solid transparent;box-shadow:0 4px 14px rgba(9,44,80,.10);text-decoration:none;color:#092c50;transition:transform .15s,box-shadow .15s,border-color .15s}
.sf-cat-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(9,44,80,.16);border-color:#9ceff1}
.sf-cat-icon{display:flex;align-items:center;justify-content:center;box-sizing:content-box;width:42px;padding-right:12px;border-right:2px solid #8be7ea;align-self:stretch}
.sf-cat-card .sf-cat-icon svg{flex:none;width:42px;height:34px;max-width:none}
.sf-cat-icon .folder{fill:none;stroke:#1fc8d0;stroke-width:4;stroke-linejoin:round;stroke-linecap:round}
.sf-cat-icon .heart{fill:#ff1493}
.sf-cat-icon img{width:42px;height:42px;border-radius:12px;object-fit:cover}
.sf-cat-text{min-width:0}
.sf-cat-text strong{display:block;font-size:16px;line-height:1.2;font-weight:700;color:#092c50;overflow-wrap:break-word}
.sf-cat-text small{display:block;margin-top:3px;font-size:14px;color:#3b4b63}
@media (prefers-reduced-motion:reduce){.sf-cat-card,.sf-cat-card:hover{transition:none;transform:none}}
@media (max-width:1100px){.sf-cat-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .sf-explore{padding:22px 16px;border-radius:24px}
  .sf-explore-head{grid-template-columns:1fr;justify-items:center}
  .sf-theme .sf-explore h2,.sf-explore h2{grid-column:1;gap:10px}
  .sf-explore-accent{width:18px;height:24px}
  .sf-explore-all{grid-column:1;justify-self:center}
}
@media (max-width:540px){.sf-cat-cards{grid-template-columns:1fr}.sf-cat-card{min-height:80px;padding:12px 14px}}

/* Homepage Featured Resources carousel (paid placements, Superadmin's order) */
.hp-featured .hp-carousel{position:relative;display:flex;align-items:center;gap:8px}
.hp-featured .hp-carousel-viewport{flex:1;min-width:0}
.hp-featured .hp-carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--hp-visible) - 1) * 18px) / var(--hp-visible));gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.hp-featured .hp-carousel-track::-webkit-scrollbar{display:none}
.hp-featured .hp-carousel-item{scroll-snap-align:start;min-width:0}
.hp-featured .hp-carousel-arrow{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid #d6dbe6;background:#fff;font-size:24px;line-height:1;cursor:pointer;color:#071a40}
.hp-featured .hp-carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
.hp-featured .hp-carousel-dots button{width:10px;height:10px;border-radius:50%;border:0;background:#cdd5e3;padding:0;cursor:pointer}
.hp-featured .hp-carousel-dots button[aria-current=true]{background:#e6066f;width:24px;border-radius:6px}
@media (max-width:1100px){.hp-featured .hp-carousel-track{--hp-visible:3!important}}
@media (max-width:700px){.hp-featured .hp-carousel-track{--hp-visible:2!important}.hp-featured .hp-carousel-arrow{display:none}}
@media (max-width:420px){.hp-featured .hp-carousel-track{--hp-visible:1!important}}

/* Site announcement bar and homepage banners (Website Content & Design) */
.bl-announcement{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 12px;padding:8px 16px;background:#071a40;color:#fff;font-size:14px;font-weight:600;text-align:center}
.bl-announcement a{color:#ffd1e5;text-decoration:underline}
.hp-banners{position:relative;margin:24px auto;max-width:1240px;padding:0 16px}
.hp-banner{display:block;border-radius:18px;overflow:hidden}.hp-banner img{width:100%;height:auto;display:block;aspect-ratio:4/1;object-fit:cover}
.hp-banner-nav{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:8px}
.hp-banner-nav button{border:0;background:none;font-size:22px;cursor:pointer;color:#071a40}
.hp-banner-nav [data-banner-dots]{display:flex;gap:6px}.hp-banner-nav [data-banner-dots] button{width:9px;height:9px;border-radius:50%;background:#cdd5e3;padding:0}
.hp-banner-nav [data-banner-dots] button[aria-current=true]{background:#e6066f}
.hp-preview-note{position:sticky;top:0;z-index:50;margin:0;padding:8px 16px;background:#fff4dc;color:#6a5200;text-align:center;font-weight:700}
@media (max-width:700px){.hp-banner img{aspect-ratio:2/1}}

/* Cart promo code (Site-Wide Sales) */
.cart-promo{display:grid;gap:4px;margin:10px 0}.cart-promo label{font-weight:700;font-size:14px}
.cart-promo span{display:flex;gap:6px}.cart-promo input{flex:1;min-width:0;text-transform:uppercase;min-height:40px;border:1px solid #c9d3e3;border-radius:10px;padding:0 10px}
.cart-promo .promo-ok{color:#126b3a;font-weight:600}
/* Store page: the category being browsed (image or icon, description, count) and membership cards with cover and member count */
.sf-cat-current{display:flex;gap:14px;align-items:center;padding:12px 14px;border-radius:12px;background:#f7f8fb;margin:0 0 12px}
.sf-cat-current.tone-1{background:#f3f6f9}.sf-cat-current.tone-2{background:#f2ecfd}.sf-cat-current.tone-3{background:#fff8e1}
.sf-cat-current img,.sf-cat-current .cat-icon{width:64px;height:64px;flex:none;border-radius:12px;object-fit:cover}
.sf-cat-current p{margin:0 0 4px}.sf-cat-current small{color:var(--muted)}
.sf-theme .sf-cat-current{box-shadow:inset 0 -3px 0 color-mix(in srgb,var(--sf-accent,#e6066f) 40%,transparent)}
.sf-plan-cover{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin:0 0 8px}
.sf-plan-members{color:var(--muted);font-size:14px;margin:4px 0}

.sf-bag-count[hidden]{display:none}

/* Public storefront header and tabs (design): logo circle, name + tagline, Follow Store (fuchsia) + Share (outlined), social icons
   on the right, stats line; tabs Home/Resources/Membership/About/Reviews/Q&A with the active tab in fuchsia and underlined. */
.sf-public .sf-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:start}
.sf-public .sf-head .bl-store-logo{margin-top:-46px;position:relative}
.sf-public .sf-head-main{display:grid;gap:6px}
.sf-public .sf-head h1{margin:0}
.sf-tagline{margin:0;color:var(--muted);font-size:15px}
.sf-public .bl-store-specialty{margin:0}
.sf-head-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:4px 0}
.sf-public .sf-follow{background:var(--fuchsia,#e6066f)!important;border-color:var(--fuchsia,#e6066f)!important;color:#fff!important;border-radius:8px;padding:9px 20px}
.sf-public .sf-follow:hover{background:#c2055e!important;border-color:#c2055e!important}
.sf-public .sf-follow.bl-secondary{background:#fff!important;color:var(--fuchsia,#e6066f)!important;border:2px solid var(--fuchsia,#e6066f)!important}
.sf-head-actions .bl-share-btn{min-height:44px;border:2px solid var(--navy)!important;border-radius:8px;font-weight:700}
.sf-public .bl-store-stats{margin:2px 0;gap:6px 16px}
.sf-public .bl-store-stats>span+span::before{content:"·";margin-right:16px;color:var(--line)}
.sf-public .sf-head .sf-social{align-self:center}
.sf-tabs>a{font-size:15px}
.sf-theme .bl-card .bl-eyebrow{text-transform:uppercase;letter-spacing:.06em;font-weight:700}
@media (max-width:760px){.sf-public .sf-head{grid-template-columns:auto minmax(0,1fr)}.sf-public .sf-head .sf-social{grid-column:1/-1}.sf-public .sf-head .bl-store-logo{width:84px;height:84px;margin-top:-34px}}

/* ---------- Storefront layout (Nov 2026 design, every store) ----------
   Full-width Storefront Banner; a sidebar (round logo, name, Follow / Share Store, counts, About This Store, social links, store pages);
   a main column (Store Categories, Promotional Banner, Featured Resources, the rest). Creator colours come from the store theme. */
.sf-store{padding-top:10px}
.sf-top-banner{border-radius:22px;overflow:hidden;background:#eef4fa}
.sf-top-banner img{display:block;width:100%;height:auto}
.sf-top-banner .sf-default-banner{aspect-ratio:8/1}
.sf-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:28px;align-items:start}
.sf-side{display:grid;gap:14px;position:relative;z-index:1}
.sf-side-card{position:relative;margin-top:62px;padding:86px 20px 22px;text-align:center;background:#fff;border:1px solid #e3e9f2;border-radius:20px;box-shadow:0 6px 20px rgba(9,44,80,.08)}
.sf-side-logo{position:absolute;top:-96px;left:50%;transform:translateX(-50%);width:150px;height:150px;border-radius:50%;object-fit:cover;background:#fff;border:5px solid #fff;box-shadow:0 6px 18px rgba(9,44,80,.18)}
.sf-side-logo.sf-initials{font-size:46px}
.sf-theme .sf-side-card h1,.sf-side-card h1{margin:0 0 6px;font:700 25px/1.2 "DM Sans",system-ui,sans-serif;color:var(--sf-primary,#092c50);overflow-wrap:break-word}
.sf-side-card .sf-tagline,.sf-side-card .bl-store-specialty{margin:0 0 4px;font-size:14px}
.sf-side-actions{display:grid;gap:10px;margin:14px 0 16px}
.sf-side-actions .sf-follow{width:100%;min-height:44px;border-radius:10px;font-weight:700;font-size:16px}
.sf-side-actions .bl-share{position:relative;display:block}
.sf-side-actions .bl-share .bl-share-btn.bl-share-labelled{display:inline-flex;align-items:center;width:100%;min-height:44px;justify-content:center;gap:8px;border:2px solid var(--sf-primary,#092c50)!important;border-radius:10px;background:#fff;color:var(--sf-primary,#092c50)!important;font-weight:700;font-size:16px}
.sf-side-actions .bl-share-menu{left:0;right:0;text-align:left}
.sf-side-stats{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:9px;text-align:left}
.sf-side-stats li{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--sf-primary,#092c50);font-size:15px}
.sf-side-stats .ico{width:20px;height:20px;flex:none;color:var(--sf-primary,#092c50)}
.sf-about{padding:14px 16px;border-radius:14px;background:#f2f6fb;text-align:left}
.sf-theme .sf-about h2,.sf-about h2{margin:0 0 6px;font:700 18px/1.2 "DM Sans",system-ui,sans-serif;color:var(--sf-primary,#092c50)}
.sf-about .sf-bio{margin:0;font-size:15px;line-height:1.5;color:#22324b}
.sf-side-card .sf-social{justify-content:center;flex-wrap:wrap;margin-top:16px}
.sf-side-card .sf-social a{width:40px;height:40px;background:#fdeef6}
.sf-tabs.sf-side-nav{display:grid;gap:2px;margin:0;padding:8px;background:#fff;border:1px solid #e3e9f2;border-radius:16px}
.sf-tabs.sf-side-nav>a{padding:9px 14px;border:0;border-radius:10px}
.sf-tabs.sf-side-nav>a:hover{background:#f2f6fb}
.sf-theme .sf-tabs.sf-side-nav>a[aria-current=page]{background:color-mix(in srgb,var(--sf-accent,#ff1493) 10%,#fff);color:var(--sf-accent,#ff1493)}
.sf-main{display:grid;gap:24px;min-width:0;margin-top:20px}
.sf-main>.bl-section{margin:0}
.sf-cats-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 16px;border-radius:14px;background:#edf2f9;border-left:5px solid var(--sf-accent,#ff1493)}
.sf-theme .sf-cats-head h2,.sf-cats-head h2{margin:0;font:700 22px/1.2 "DM Sans",system-ui,sans-serif;color:var(--sf-primary,#092c50)}
.sf-cats-head .sf-tab-search{margin:0;min-width:240px;background:#fff;border-radius:10px}
.sf-cat-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.sf-cat-pills a{display:inline-flex;align-items:center;justify-content:center;min-width:130px;min-height:46px;padding:8px 18px;border:1.5px solid #cfd8e6;border-radius:12px;background:#fff;color:var(--sf-primary,#092c50);font-weight:700;text-align:center;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.sf-cat-pills a:hover{border-color:var(--sf-accent,#ff1493);box-shadow:0 4px 12px rgba(9,44,80,.08)}
.sf-theme .sf-cat-pills a[aria-current=true]{background:var(--sf-accent,#ff1493);border-color:var(--sf-accent,#ff1493);color:var(--sf-accent-text,#fff)}
.sf-cat-pills a:focus-visible,.sf-promo a:focus-visible,.sf-feature-card a:focus-visible,.sf-featured-all:focus-visible{outline:3px solid var(--sf-primary,#092c50);outline-offset:3px}
.sf-promo img{display:block;width:100%;height:auto;border-radius:20px}
.sf-promo a{display:block;border-radius:20px}
.sf-featured-head{display:flex;align-items:center;gap:14px}
.sf-theme .sf-featured-head h2,.sf-featured-head h2{display:flex;align-items:center;gap:8px;margin:0;font:700 26px/1.2 "DM Sans",system-ui,sans-serif;color:var(--sf-primary,#092c50);white-space:nowrap}
.sf-featured-head h2 .ico{width:26px;height:26px;color:var(--sf-accent,#ff1493)}
.sf-featured-rule{flex:1;height:3px;border-radius:3px;background:#2ee6e6}
.sf-featured-all{flex:none;padding:8px 16px;border:2px solid #c9d3e3;border-radius:999px;color:var(--sf-primary,#092c50);font-weight:700;text-decoration:none;white-space:nowrap}
.sf-featured-all:hover{border-color:var(--sf-primary,#092c50)}
.sf-feature-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}
.sf-feature-card{display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-rows:1fr auto;gap:12px;align-items:start;padding:12px;border-radius:18px;background:#fff;border:1px solid #e3e9f2;box-shadow:0 4px 14px rgba(9,44,80,.08)}
.sf-feature-cover{display:block;border-radius:12px;overflow:hidden;border:1px solid #e3e9f2;background:#fff}
.sf-feature-cover img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.sf-feature-cover span{display:grid;place-items:center;aspect-ratio:1;padding:10px;font-weight:700;text-align:center;color:var(--sf-primary,#092c50)}
.sf-feature-body{min-width:0}.sf-feature-body h3{margin:0 0 6px;overflow-wrap:break-word;font:700 15.5px/1.3 "DM Sans",system-ui,sans-serif}
.sf-feature-body h3 a{color:var(--sf-primary,#092c50);text-decoration:none}
.sf-feature-body h3 a:hover{text-decoration:underline}
.sf-feature-rating{margin:0 0 4px;font-size:15px}.sf-feature-rating>span:first-child{color:#f2a20c}
.sf-feature-price{margin:0;font-size:16px;color:var(--sf-primary,#092c50)}.sf-feature-price del{color:#6b7a90;margin-right:4px}
.sf-feature-view{grid-column:1/-1;justify-self:center;align-self:end;display:inline-block;padding:7px 22px;border:2px solid var(--sf-primary,#092c50);border-radius:10px;color:var(--sf-primary,#092c50);font-weight:700;text-decoration:none}
.sf-feature-view:hover{background:var(--sf-primary,#092c50);color:#fff}
.sf-main .sf-explore{margin:0}
.sf-main .sf-cat-cards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
@media (max-width:1300px){.sf-feature-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1150px){.sf-layout{grid-template-columns:250px minmax(0,1fr);gap:20px}}
@media (max-width:820px){
  .sf-layout{grid-template-columns:1fr;gap:16px}
  .sf-side-card{margin-top:56px;padding-top:76px}
  .sf-side-logo{width:120px;height:120px;top:-80px}
  .sf-tabs.sf-side-nav{display:flex;flex-wrap:wrap}
  .sf-main{margin-top:0}
  .sf-featured-rule{display:none}
  .sf-featured-head{flex-wrap:wrap;justify-content:space-between}
}
@media (max-width:540px){
  .sf-top-banner{border-radius:14px}
  .sf-cats-head .sf-tab-search{min-width:0;width:100%}
  .sf-cat-pills a{min-width:0;flex:1 1 calc(50% - 10px)}
  .sf-feature-cards{grid-template-columns:1fr}
  .sf-theme .sf-featured-head h2,.sf-featured-head h2{font-size:22px}
}
