/* GoJan v6632-v6670 Mega Update
   Public + merchant + admin precision polish, responsive system, empty state, forms, cards, checkout, marketplace, SEO-safe UI.
   Scope: additive CSS only, does not change business logic. */
:root{
  --gj-v6670-green:#06a335;
  --gj-v6670-green-2:#008c2a;
  --gj-v6670-ink:#0f1f33;
  --gj-v6670-muted:#64748b;
  --gj-v6670-line:#dcebe2;
  --gj-v6670-soft:#f5fbf7;
  --gj-v6670-card:#ffffff;
  --gj-v6670-radius:24px;
  --gj-v6670-shadow:0 18px 48px rgba(15,31,51,.08);
  --gj-v6670-shadow-soft:0 12px 32px rgba(15,31,51,.055);
  --gj-v6670-ring:0 0 0 4px rgba(6,163,53,.12);
}
html{scroll-padding-top:96px}
body{font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;}
a,button,input,select,textarea{touch-action:manipulation}
button,input,select,textarea{font-family:inherit}
img[loading="lazy"]{content-visibility:auto}
.gj-wrap,.public-wrap,.container{max-width:min(1180px,calc(100% - 32px));}
.gj-section,.homepage-section,.marketplace-section{position:relative}
.gj-section + .gj-section{padding-top:42px}

/* v6632-v6635: public hero/header/footer final conversion polish */
.site-header{box-shadow:0 10px 35px rgba(15,31,51,.025);}
.site-header .brand img,.brand img{object-fit:contain;object-position:left center;}
.nav a{line-height:1;}
.header-actions .btn,.header-actions .gj-btn{min-width:96px;}
.gj-hero{isolation:isolate;}
.gj-hero:after{content:"";position:absolute;right:8%;top:14%;width:260px;height:260px;border-radius:999px;background:radial-gradient(circle,rgba(6,163,53,.11),transparent 68%);filter:blur(2px);pointer-events:none;z-index:0;}
.gj-hero-grid{z-index:1;}
.gj-title{max-width:820px;}
.gj-lead{max-width:690px;}
.gj-actions .gj-btn,.gj-actions .btn{min-width:148px;}
.footer,.footer-minimal-v6356{background:linear-gradient(180deg,#fff,#f8fcfa);}
.footer a,.footer-minimal-v6356 a{text-decoration:none;color:inherit}
.footer a:hover,.footer-minimal-v6356 a:hover{color:var(--gj-v6670-green-2)}

/* v6631 carry-over precision badges */
.gj-eyebrow,.section-pill,.gj-section-pill,.marketplace-eyebrow,.hero-badge,
[class*="eyebrow"], [class*="section-badge"]{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:10px!important;min-height:44px!important;padding:0 18px!important;
  border-radius:999px!important;line-height:1!important;white-space:nowrap;
}
.gj-eyebrow:before,.section-pill:before,.gj-section-pill:before,.marketplace-eyebrow:before,.hero-badge:before{
  width:20px!important;height:20px!important;min-width:20px!important;border-radius:999px!important;display:inline-flex!important;
}

/* v6636-v6637 marketplace search/result/empty/loading */
.marketplace-search,.merchant-search,.gj-search-shell,.gj-marketplace-search,
form[action*="marketplace"], form[action*="nearby"]{
  align-items:center;
}
.marketplace-search input,.marketplace-search select,.merchant-search input,.merchant-search select,
.gj-marketplace-search input,.gj-marketplace-search select,
form[action*="marketplace"] input,form[action*="marketplace"] select,
form[action*="nearby"] input,form[action*="nearby"] select{
  min-height:58px!important;border-radius:20px!important;border:1px solid var(--gj-v6670-line)!important;
  background:#fff!important;padding:0 18px!important;font-weight:850!important;color:var(--gj-v6670-ink)!important;line-height:1.15!important;
}
.marketplace-search select,.merchant-search select,.gj-marketplace-search select,
form[action*="marketplace"] select,form[action*="nearby"] select{
  padding-right:42px!important;background-position:right 16px center!important;
}
.marketplace-search button,.merchant-search button,.gj-marketplace-search button,
form[action*="marketplace"] button[type="submit"],form[action*="nearby"] button[type="submit"]{
  min-height:58px!important;border-radius:20px!important;padding-inline:26px!important;white-space:nowrap;
}
.gj-loading-skeleton,.gj-skeleton{position:relative;overflow:hidden;background:#eef7f2;border-radius:18px;min-height:120px;}
.gj-loading-skeleton:after,.gj-skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.75) 45%,transparent 80%);transform:translateX(-100%);animation:gj6670Skeleton 1.35s infinite;}
@keyframes gj6670Skeleton{100%{transform:translateX(100%)}}
.gj-empty,.empty-state,.gj-empty-state{
  border:1px dashed #bfe8ca!important;background:linear-gradient(135deg,#f6fff9,#fff)!important;border-radius:26px!important;
  padding:34px!important;text-align:center!important;color:var(--gj-v6670-muted)!important;box-shadow:var(--gj-v6670-shadow-soft)!important;
}
.gj-empty h3,.empty-state h3,.gj-empty-state h3{color:var(--gj-v6670-ink)!important;margin-top:0!important;}

/* v6638-v6641 storefront/product/CTA pixel polish */
.store-actions,.merchant-actions,.product-actions,.gj-actions-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.store-actions .btn,.merchant-actions .btn,.product-actions .btn,.store-actions button,.merchant-actions button,.product-actions button,
.mf-btn,.ap-btn,.gj-btn,.btn{
  line-height:1.05!important;align-items:center!important;justify-content:center!important;
}
.store-actions svg,.merchant-actions svg,.product-actions svg,.mf-btn svg,.ap-btn svg,.gj-btn svg,.btn svg{
  width:18px;height:18px;flex:0 0 auto;display:block;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
}
.product-card,.gj-product-card,.merchant-product-card,.market-card,.gj-card{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.product-card:hover,.gj-product-card:hover,.merchant-product-card:hover,.market-card:hover,.gj-card:hover{
  transform:translateY(-2px);box-shadow:var(--gj-v6670-shadow);border-color:#c9ead4;
}
.product-card img,.gj-product-card img,.merchant-product-card img,.market-card img,.product-image,img.product-thumb{
  object-fit:contain!important;object-position:center!important;background:#fff;border-radius:18px;
}
.product-grid,.gj-product-grid,.merchant-products-grid,.market-grid{
  align-items:stretch;
}
.product-price,.gj-price,.price-final{font-weight:950;color:var(--gj-v6670-green-2);letter-spacing:-.02em;}
.price-strike,.old-price,del{color:#94a3b8!important;text-decoration-thickness:1.5px;}

/* v6642-v6644 checkout validation/voucher/WhatsApp template */
.gojan-checkout-page input:invalid,.gojan-checkout-page textarea:invalid,.checkout-form input:invalid,.checkout-form textarea:invalid{box-shadow:none;}
.gojan-checkout-page input:focus,.gojan-checkout-page textarea:focus,.gojan-checkout-page select:focus,
.checkout-form input:focus,.checkout-form textarea:focus,.checkout-form select:focus,
.ap-form input:focus,.ap-form textarea:focus,.ap-form select:focus,
.mf-form input:focus,.mf-form textarea:focus,.mf-form select:focus{
  border-color:var(--gj-v6670-green)!important;box-shadow:var(--gj-v6670-ring)!important;outline:0!important;
}
.checkout-summary,.gojan-checkout-summary,.order-summary{
  background:linear-gradient(135deg,#f4fff8,#fff)!important;border:1px solid #cfead8!important;border-radius:24px!important;box-shadow:var(--gj-v6670-shadow-soft)!important;
}
.checkout-whatsapp,.gojan-checkout-whatsapp,.btn-whatsapp,[data-whatsapp-checkout]{
  min-height:50px!important;border-radius:18px!important;background:linear-gradient(135deg,#06a335,#008c2a)!important;color:#fff!important;box-shadow:0 18px 38px rgba(6,163,53,.22)!important;
}
.gj-form-error,.form-error,.voucher-error{color:#be123c;background:#fff1f2;border:1px solid #fecdd3;border-radius:14px;padding:10px 12px;font-weight:850;}
.gj-form-success,.form-success,.voucher-success{color:#087f36;background:#ecfdf3;border:1px solid #bbf7d0;border-radius:14px;padding:10px 12px;font-weight:850;}

/* v6645-v6654 merchant theme/products/order/customer/analytics */
.mf-shell{background:radial-gradient(circle at 12% 4%,rgba(6,163,53,.07),transparent 28%),#f6faf7!important;}
.mf-content{max-width:1320px;margin-inline:auto;}
.mf-card,.dashboard-card,.merchant-card,.dash-panel{
  border-radius:24px!important;border:1px solid var(--gj-v6670-line)!important;box-shadow:var(--gj-v6670-shadow-soft)!important;background:#fff;
}
.mf-btn.primary,.merchant-primary,.dashboard-primary{background:linear-gradient(135deg,var(--gj-v6670-green),var(--gj-v6670-green-2))!important;color:#fff!important;border-color:transparent!important;}
.mf-btn,.merchant-btn,.dashboard-btn{min-height:46px;border-radius:16px!important;font-weight:950!important;}
.mf-sidebar,.dashboard-sidebar{scrollbar-width:thin;scrollbar-color:#b8d8c5 transparent;}
.theme-swatch,.color-swatch{width:38px;height:38px;border-radius:14px;border:2px solid #fff;box-shadow:0 0 0 1px #dcebe2,0 10px 18px rgba(15,31,51,.08);}
.status-flow,.order-status-flow{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.status-flow span,.order-status-flow span{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;background:#f1fbf5;color:#087f36;border:1px solid #cfebd8;font-weight:900;font-size:12px;}
.analytics-card,.crm-card,.customer-card{background:#fff;border:1px solid var(--gj-v6670-line);border-radius:24px;box-shadow:var(--gj-v6670-shadow-soft);padding:20px;}

/* v6655-v6659 admin 360, storage/backup/update safety */
.ap-main{max-width:calc(100vw - 292px);}
.ap-card,.ap-stat,.ap-list-item,.ap-package-card{will-change:transform;}
.ap-table-wrap,.table-responsive{overflow-x:auto;border-radius:24px;}
.ap-table{min-width:760px;}
.ap-link span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;}
.ap-release-chip{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:#eefaf3;color:#087f36;border:1px solid #caebd5;padding:7px 11px;font-weight:950;font-size:12px;}
.ap-critical-note{border:1px solid #fde68a;background:#fffbeb;color:#92400e;border-radius:18px;padding:14px 16px;font-weight:850;}
.storage-provider-card,.backup-provider-card,.update-safety-card{border-radius:22px!important;border:1px solid #dcebe2!important;background:#fff!important;box-shadow:var(--gj-v6670-shadow-soft)!important;}

/* v6660-v6664 global states/design system/mobile tables */
.gj-state-icon,.empty-icon,.state-icon{width:58px;height:58px;border-radius:20px;background:#eefaf3;color:#06a335;display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px;}
.gj-form-grid,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.gj-field label,.field label{font-weight:900;color:#193327;}
.gj-field input,.gj-field select,.gj-field textarea,.field input,.field select,.field textarea{
  width:100%;min-height:48px;border:1px solid #d6e9df;border-radius:16px;background:#fbfefc;padding:0 14px;font:inherit;color:var(--gj-v6670-ink);
}
.gj-field textarea,.field textarea{min-height:118px;padding-top:12px;resize:vertical;}
@media(max-width:760px){
  .gj-mobile-cards table,.ap-mobile-cards table,.mobile-card-table table{border:0!important;min-width:0!important;}
  .gj-mobile-cards thead,.ap-mobile-cards thead,.mobile-card-table thead{display:none!important;}
  .gj-mobile-cards tr,.ap-mobile-cards tr,.mobile-card-table tr{display:block!important;background:#fff!important;border:1px solid var(--gj-v6670-line)!important;border-radius:20px!important;padding:12px!important;margin-bottom:12px!important;box-shadow:var(--gj-v6670-shadow-soft)!important;}
  .gj-mobile-cards td,.ap-mobile-cards td,.mobile-card-table td{display:flex!important;justify-content:space-between!important;gap:14px!important;border:0!important;border-radius:0!important;padding:8px 0!important;background:transparent!important;}
  .gj-mobile-cards td:before,.ap-mobile-cards td:before,.mobile-card-table td:before{content:attr(data-label);font-weight:950;color:#64748b;}
}

/* v6665-v6668 media/speed/SEO/error pages */
img{height:auto;}
.gj-media-frame,.image-frame,.product-image-frame{background:linear-gradient(135deg,#f8fcfa,#fff);border:1px solid #edf5ef;border-radius:22px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.gj-media-frame img,.image-frame img,.product-image-frame img{object-fit:contain;width:100%;height:100%;}
.error-page,.gj-error-page{min-height:70vh;display:grid;place-items:center;text-align:center;padding:50px 18px;}
.error-card,.gj-error-card{background:#fff;border:1px solid var(--gj-v6670-line);border-radius:30px;box-shadow:var(--gj-v6670-shadow);padding:38px;max-width:650px;}
.error-card h1,.gj-error-card h1{font-size:clamp(38px,6vw,72px);line-height:1;margin:0 0 12px;letter-spacing:-.06em;}

/* v6669 security UX / upload protection */
input[type="file"]{padding:14px!important;border:1px dashed #b9dfc7!important;border-radius:18px!important;background:#fbfffc!important;}
.upload-hint,.security-hint{font-size:12px;color:#64748b;font-weight:800;line-height:1.55;}

/* v6670 final regression responsive rules */
@media(max-width:1180px){
  .ap-main{max-width:100%;}
  .gj-section{padding-block:34px;}
}
@media(max-width:860px){
  .site-header{min-height:72px!important;}
  .gj-title{font-size:clamp(34px,10vw,44px)!important;line-height:1.03!important;}
  .gj-lead{font-size:15.5px!important;line-height:1.75!important;}
  .gj-actions .gj-btn,.gj-actions .btn{width:100%;}
  .marketplace-search,.merchant-search,.gj-marketplace-search,form[action*="marketplace"],form[action*="nearby"]{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:14px!important;}
  .marketplace-search input,.marketplace-search select,.merchant-search input,.merchant-search select,.gj-marketplace-search input,.gj-marketplace-search select,form[action*="marketplace"] input,form[action*="marketplace"] select,form[action*="nearby"] input,form[action*="nearby"] select{min-height:52px!important;}
  .marketplace-search button,.merchant-search button,.gj-marketplace-search button,form[action*="marketplace"] button[type="submit"],form[action*="nearby"] button[type="submit"]{width:100%;min-height:52px!important;}
  .gj-form-grid,.form-grid{grid-template-columns:1fr;}
  .ap-topbar{position:relative;z-index:3;}
  .ap-user{min-width:auto;}
}
@media(max-width:520px){
  .gj-wrap{width:min(100% - 24px,1320px)!important;}
  .gj-eyebrow,.section-pill,.gj-section-pill,.marketplace-eyebrow,.hero-badge,[class*="eyebrow"],[class*="section-badge"]{min-height:40px!important;padding:0 14px!important;font-size:12px!important;}
  .gj-card,.mf-card,.ap-card{border-radius:20px!important;padding:16px!important;}
  .btn,.gj-btn,.mf-btn,.ap-btn{width:100%;min-height:46px!important;}
  .store-actions,.merchant-actions,.product-actions,.gj-actions-row{display:grid;grid-template-columns:1fr;}
}

/* JS-enhanced states */
.gj-is-loading{pointer-events:none;opacity:.75;position:relative;}
.gj-is-loading:after{content:"";width:16px;height:16px;border-radius:999px;border:2px solid currentColor;border-right-color:transparent;display:inline-block;margin-left:8px;animation:gj6670Spin .75s linear infinite;}
@keyframes gj6670Spin{to{transform:rotate(360deg)}}
.gj-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(20px);background:#102033;color:#fff;border-radius:999px;padding:12px 16px;font-weight:900;box-shadow:0 20px 44px rgba(15,31,51,.22);z-index:99999;opacity:0;transition:.22s ease;max-width:calc(100% - 24px);text-align:center;}
.gj-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
