/* GHome / projects and commerce. Shared theme tokens keep light/dark consistent. */
.admin-page { min-width:0; }
.home-search-heading { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.home-page .promotion-empty { min-height:86px; padding:18px; }
.home-page .promotion-section>.cards:empty { display:none; }
.commerce-promotion,.commerce-project,.commerce-project-extras { min-width:0; padding:22px; border:1px solid var(--line); border-radius:15px; background:var(--surface); color:var(--ink); }
.commerce-promotion h3,.commerce-project h3,.commerce-project-extras h3 { font-size:17px; margin:8px 0 12px; line-height:1.8; overflow-wrap:anywhere; }
.commerce-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:18px 0; }
.commerce-option { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:19px 15px; text-align:left; border:1px solid var(--line); border-radius:13px; background:var(--surface-soft); color:var(--ink); font:inherit; font-size:12px; line-height:1.7; overflow-wrap:anywhere; cursor:pointer; }
.commerce-option.selected { background:var(--brand-soft); border-color:var(--brand-bright); outline:1px solid var(--brand-bright); }
.commerce-option strong { font-size:19px; }.commerce-option small,.commerce-option span { color:var(--muted); font-size:11px; }.commerce-option strong small { font-size:11px; }
.commerce-segment { display:flex; gap:5px; padding:5px; border:1px solid var(--line); border-radius:11px; background:var(--surface-soft); margin-bottom:15px; }
.commerce-segment button { flex:1; min-width:0; padding:12px 8px; border:0; border-radius:8px; font:inherit; font-size:12px; line-height:1.7; background:transparent; color:var(--ink); overflow-wrap:anywhere; }
.commerce-segment button.selected { background:#174c37; color:#fff; }
html[data-theme=dark] .commerce-segment button.selected { background:#2b6147; color:#fff; }
.commerce-total { display:flex; gap:15px; justify-content:space-between; align-items:center; border:1px solid var(--line); border-radius:11px; padding:18px; margin:15px 0; }.commerce-total span { font-size:12px; color:var(--muted); }.commerce-total strong { font-size:24px; }
#upload-days-range { width:100%; padding:0; accent-color:var(--brand); margin:15px 0; min-height:35px; }
.commerce-project label,.commerce-project-extras label { display:grid; gap:8px; margin-top:12px; font-size:12px; color:var(--ink); min-width:0; }
.project-verification { padding-bottom:18px; border-bottom:1px solid var(--line); }.project-verification p { font-size:12px; line-height:1.9; overflow-wrap:anywhere; }#developer-request { margin-top:15px; }
.project-layout-row { display:grid; grid-template-columns:1.2fr 1fr .8fr 1.1fr auto; gap:8px; align-items:end; padding:12px 0; border-bottom:1px solid var(--line); }.project-layout-row input { width:100%; min-width:0; }.project-layout-row button { width:38px; height:48px; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--ink); font-size:22px; }#project-add-layout { margin:15px 0; }
.project-public-details { border:1px solid var(--line); background:var(--surface-soft); border-radius:15px; padding:20px; margin:24px 0; }.project-public-details p { color:var(--muted); line-height:1.9; font-size:13px; }.project-layouts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:16px; }.project-layouts article { display:grid; gap:8px; padding:15px; border-radius:10px; border:1px solid var(--line); background:var(--surface); min-width:0; overflow-wrap:anywhere; }.project-layouts span { font-size:12px; color:var(--muted); }
.home-page .card-photo { touch-action:pan-y; }.card-gallery-arrow { position:absolute; z-index:3; top:50%; transform:translateY(-50%); width:32px; height:36px; border:1px solid #fff5; border-radius:10px; background:#13251fd9; color:#fff; font:25px/1 system-ui; cursor:pointer; }.card-gallery-arrow[data-card-photo="-1"] { left:8px; }.card-gallery-arrow[data-card-photo="1"] { right:8px; }.card-gallery-arrow:focus-visible { outline:3px solid var(--brand-bright); outline-offset:2px; }.card-photo .photo-count { pointer-events:none; }.tier-project .badge { background:#214d69; color:#fff; }
body[data-catalog=promoted] .ad-slot:not(.has-ad),.ad-slot[data-ad-empty] { display:none!important; }
body[data-catalog]:not([data-catalog=promoted]) .promotion-section { display:none!important; }
.home-page .promotion-section>.cards { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 64px)/5); grid-template-columns:none; gap:16px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; padding:4px 1px 14px; scrollbar-width:thin; }.home-page .promotion-section>.cards>.card { scroll-snap-align:start; min-width:0; }
.home-page .promotion-section { scroll-margin-top:100px; margin-top:36px; margin-bottom:40px; }
.ad-block { max-width:100%; width:var(--ad-width,1200px); margin:25px auto; border:1px solid var(--line); border-radius:15px; background:var(--surface); overflow:hidden; color:var(--ink); }.ad-block .ad-content { display:flex; align-items:center; gap:18px; min-height:110px; padding:16px; color:inherit; text-decoration:none; }.ad-block img { display:block; max-width:55%; max-height:210px; object-fit:contain; }.ad-block .ad-copy { min-width:0; display:grid; gap:8px; }.ad-block small,.ad-block p { color:var(--muted); font-size:11px; line-height:1.9; margin:0; }.ad-block strong { font-size:17px; line-height:1.8; overflow-wrap:anywhere; }.ad-block.ad-shape-wide img { max-height:300px; }.ad-block.ad-shape-square { width:var(--ad-width,480px); }.ad-block.ad-shape-vertical { width:var(--ad-width,360px); }.ad-shape-square .ad-content,.ad-shape-vertical .ad-content { flex-direction:column; align-items:stretch; justify-content:center; }.ad-shape-square .ad-content { aspect-ratio:1; }.ad-shape-vertical .ad-content { aspect-ratio:3/4; }.ad-shape-square img,.ad-shape-vertical img { width:100%; max-width:100%; max-height:450px; }
.bank-card.bank-bog { background:var(--surface-soft); border:1px solid #f58220; color:var(--ink); border-top:5px solid #f58220; }.bank-card.bank-tbc { background:var(--surface-soft); border:1px solid #00a8e8; color:var(--ink); border-top:5px solid #00a8e8; }.bank-card.bank-bog>span { color:var(--ink); font-weight:700; }.bank-card.bank-tbc>span { color:var(--ink); font-weight:700; }.bank-card.bank-bog button,.bank-card.bank-tbc button { background:var(--surface); color:var(--ink); border:1px solid var(--line); }.bank-card .bank-recipient { font-size:13px; margin-bottom:12px; }.bank-card strong { font-size:clamp(14px,3.8vw,23px); }
.developer-admin { padding:20px; border:1px solid var(--line); border-radius:15px; margin:24px 0; background:var(--surface); }.developer-admin h3 { font-size:18px; }.developer-admin article { display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; align-items:center; padding:15px 0; border-bottom:1px solid var(--line); }.developer-admin article>div { display:grid; gap:7px; min-width:0; overflow-wrap:anywhere; }.developer-admin small { color:var(--muted); }.developer-admin button { font:inherit; font-size:12px; padding:10px; background:var(--surface-soft); color:var(--ink); border:1px solid var(--line); border-radius:8px; }
.admin-ad-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:14px 0; padding:15px; border:1px solid var(--line); border-radius:12px; }.admin-ad-layout label { min-width:0; font-size:11px; }.admin-ad-layout input,.admin-ad-layout select { width:100%; min-width:0; }.dashboard-projects { margin-top:25px; }.dashboard-projects>h3 { font-size:17px; }
@media(min-width:1750px) { .home-page .promotion-section>.cards { grid-auto-columns:calc((100% - 80px)/6); } }
@media(max-width:1200px) { .home-page .promotion-section>.cards { grid-auto-columns:calc((100% - 48px)/4); } }
@media(max-width:1000px) { .commerce-options { gap:7px; }.commerce-option { padding:14px 10px; }.commerce-option strong { font-size:16px; }.home-page .promotion-section>.cards { grid-auto-columns:calc((100% - 32px)/3); } }
@media(max-width:820px) {
 .commerce-promotion,.commerce-project,.commerce-project-extras { padding:16px 12px; }.commerce-options { grid-template-columns:minmax(0,1fr); }.commerce-option { gap:6px; }.commerce-segment button { font-size:11px; }.project-layout-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }.project-layout-row button { grid-column:2; justify-self:end; }.commerce-project input,.commerce-project-extras input { font-size:16px; }
 .home-page .promotion-section>.cards { grid-auto-columns:calc((100% - 14px)/2); gap:14px; }.home-page .promotion-section { margin:26px 0; }.home-page .section-heading h2 { font-size:21px; }.home-page .section-heading p { max-width:100%; overflow-wrap:anywhere; }.card-gallery-arrow { width:30px; height:34px; }
 .ad-block { margin:18px auto; }.ad-block .ad-content { flex-direction:column; align-items:stretch; padding:13px; }.ad-block img { max-width:100%; width:100%; max-height:190px; }.ad-block strong { font-size:14px; }.ad-block.ad-shape-wide img { max-height:230px; }.admin-ad-layout { grid-template-columns:minmax(0,1fr); }.project-layouts { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:500px) { .home-page .promotion-section>.cards { grid-auto-columns:86%; }.home-page .section-heading { align-items:flex-start; }.home-page .carousel-heading-actions { gap:7px; }.home-page .catalog-see-all { font-size:10px; }.home-page .section-index { display:none; } }
