:root{--black:#080808;--gold:#c8a35d;--gold2:#ead39b;--cream:#f8f6f1;--paper:#fffdf9;--ink:#191919;--muted:#77716a;--line:#e8e0d2;--shadow:0 24px 70px rgba(20,15,8,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cream)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.container{width:min(1220px,92%);margin:auto}.ticker{height:38px;background:#050505;color:var(--gold2);overflow:hidden;display:flex;align-items:center;font-size:10px;letter-spacing:4px;font-weight:700;border-bottom:1px solid #29231a}.ticker-track{display:flex;width:max-content;animation:ticker 26s linear infinite}.ticker-track span{padding-right:110px;white-space:nowrap}@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5}.hero .nav{border-bottom:1px solid rgba(255,255,255,.13)}.inner-nav{border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand b{font:400 35px Georgia,serif;color:var(--gold)}.brand small{font-size:8px;letter-spacing:2.5px;max-width:120px;line-height:1.45}.nav-links{display:flex;gap:34px;font-size:12px}.nav-links a{padding:9px 0;border-bottom:1px solid transparent;transition:.25s}.nav-links a:hover,.nav-links .active{color:var(--gold);border-color:var(--gold)}.nav-button,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 21px;border:1px solid var(--gold);font-size:11px;letter-spacing:1.2px;transition:.25s}.nav-button{background:#111;color:#fff}.nav-button:hover,.btn.ghost:hover{background:var(--gold);color:#111}.hero{min-height:650px;background:radial-gradient(circle at 78% 45%,rgba(200,163,93,.15),transparent 27%),linear-gradient(120deg,#070707,#15130f 58%,#080808);color:#fff;position:relative;overflow:hidden}.hero-content{padding:112px 0 135px;position:relative;z-index:2}.eyebrow{font-size:9px;letter-spacing:4px;color:#b28b4b;font-weight:700}.hero h1,.catalog-page h1,.detail h1,.about h1{font-family:Georgia,serif;font-weight:400;line-height:1.04;margin:22px 0}.hero h1{font-size:clamp(48px,6.2vw,84px);max-width:850px}.hero h1 em{color:var(--gold2);font-style:normal}.hero-text{max-width:570px;color:#c9c7c2;line-height:1.9;font-size:14px}.hero-actions{display:flex;gap:12px;margin-top:34px}.btn.primary{background:var(--gold);border-color:var(--gold);color:#111}.btn.primary:hover{background:var(--gold2);border-color:var(--gold2);transform:translateY(-2px)}.btn.ghost{background:transparent;color:#fff}.hero-glow{position:absolute;width:720px;height:720px;border:1px solid rgba(200,163,93,.15);border-radius:50%;right:-280px;bottom:-330px;box-shadow:0 0 0 90px rgba(200,163,93,.025),0 0 0 180px rgba(200,163,93,.015)}.hero-glow:after{content:"";position:absolute;inset:80px;border:1px solid rgba(200,163,93,.12);border-radius:50%}.intro{display:flex;justify-content:space-between;align-items:end;padding:94px 0 38px}.intro h2{font:400 45px Georgia,serif;margin:8px 0}.text-link{font-size:11px;letter-spacing:1px;color:#977239}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding-bottom:95px}.product-card{background:var(--paper);border:1px solid var(--line);transition:.35s;overflow:hidden}.product-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:#d9c6a2}.product-image{height:355px;background:linear-gradient(145deg,#f4f1ea,#fffdf9);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.product-image:after{content:"AFA";position:absolute;bottom:14px;right:18px;font:italic 11px Georgia,serif;letter-spacing:2px;color:#c6ae7c;opacity:.55}.product-image img{width:100%;height:100%;object-fit:contain;transition:.55s}.product-card:hover .product-image img{transform:scale(1.055)}.no-image{font:italic 38px Georgia,serif;color:#c8a967}.product-info{padding:23px 24px 25px}.product-info>span{font-size:8px;letter-spacing:2.5px;color:#a17c3e}.product-info h3{font:400 23px Georgia,serif;margin:9px 0}.product-info p{font-size:10px;color:#999;min-height:17px}.product-info strong{display:block;font-size:17px;margin:15px 0}.product-info>a{font-size:10px;letter-spacing:1px;color:#96723a}.footer{background:#080808;color:#999;padding:32px 0;font-size:10px;letter-spacing:1.5px}.footer .container{display:flex;justify-content:space-between}.catalog-page{padding:70px 0 95px}.catalog-page h1{font-size:58px;margin:10px 0}.muted{color:var(--muted);line-height:1.8}.filters{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:10px;margin:38px 0 42px}.filters input,.filters select,.form-card input,.form-card textarea{width:100%;padding:14px 15px;border:1px solid var(--line);background:#fff;outline:none;color:var(--ink);border-radius:0}.filters input:focus,.filters select:focus{border-color:var(--gold)}.empty{padding:70px;text-align:center;color:#888;border:1px dashed #d8cfbf;background:#fff}.detail{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;padding:72px 0 115px}.detail-image{background:linear-gradient(145deg,#f2efe8,#fff);min-height:590px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);box-shadow:var(--shadow)}.detail-image img{width:100%;height:100%;max-height:650px;object-fit:contain}.detail-copy{padding-top:32px}.detail h1{font-size:61px}.sku{color:#999;font-size:11px}.price-box{margin:36px 0 17px;padding:24px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);box-shadow:0 12px 35px rgba(0,0,0,.035)}.price-box span{display:block;color:#999;font-size:9px;letter-spacing:2px;text-transform:uppercase}.price-box strong{display:block;font-size:28px;margin-top:8px}.price-switch{display:flex;gap:8px;margin-bottom:35px}.price-switch button{border:1px solid #ddd;background:#fff;padding:11px 17px;cursor:pointer;font-size:11px}.price-switch button:hover,.price-switch button.selected{background:#111;color:#fff;border-color:#111}.detail-copy h3{font:400 23px Georgia;margin-top:32px}.detail-copy p{line-height:1.9;color:#666}.about{max-width:850px;padding:105px 0 160px}.about h1{font-size:64px}.about>p:not(.eyebrow){font-size:17px;line-height:2;color:#666;margin-bottom:38px}.admin-wrap{padding:55px 0 90px}.admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.admin-head h1{font:400 48px Georgia;margin:8px 0}.form-card,.table-card{background:#fff;border:1px solid var(--line);padding:30px;margin-bottom:30px;box-shadow:0 12px 40px rgba(20,15,8,.035)}.form-card h2,.table-card h2{font:400 27px Georgia}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.form-card label{display:block;font-size:10px;color:#666;margin:12px 0}.form-card textarea{min-height:110px;resize:vertical}.notice{background:#f2ecdf;padding:14px;margin-bottom:20px;font-size:12px;border-left:3px solid var(--gold)}.error{background:#f9e3e3;padding:14px;margin-bottom:20px;color:#8b2222}.table-card{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px}th,td{padding:13px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#8b7758}.thumb{width:54px;height:54px;object-fit:contain;background:#f5f3ef}.delete{border:0;background:#f5e5e5;padding:8px;cursor:pointer}.upload-box{border:1px solid #d9d1c1;background:#faf9f5;padding:16px}.upload-box input[type=file]{display:none}.upload-button{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:52px;padding:14px!important;background:#111;color:#fff!important;border:1px solid #111!important;cursor:pointer;font-size:11px!important;font-weight:700!important;letter-spacing:1px!important;margin:0!important}.upload-status{font-size:10px;color:#777;background:#fff;padding:10px 12px;margin-top:10px;border-left:3px solid var(--gold);word-break:break-word}.image-preview{display:flex;position:relative;width:100%;height:380px;min-height:380px;margin-top:12px;align-items:center;justify-content:center;overflow:hidden;background:#efede7;border:2px dashed #c8bda7}.image-preview img{display:block;visibility:visible;opacity:1;width:100%;height:100%;object-fit:contain;background:#fff}.preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;color:#a3844d}.preview-placeholder span{font:italic 36px Georgia,serif;margin-bottom:10px}.preview-placeholder small{max-width:380px;color:#999;font:12px Arial,sans-serif;line-height:1.6}.remove-preview{display:block;width:100%;margin-top:10px;padding:12px;border:1px solid #ddd;background:#fff;color:#8b2222;cursor:pointer;font-size:10px;font-weight:700}@media(max-width:800px){.container{width:94%}.nav{min-height:74px;height:auto;padding:12px 0}.nav-links{display:none}.nav-button{min-height:40px;padding:10px 12px}.brand b{font-size:28px}.brand small{font-size:7px;max-width:90px}.hero{min-height:580px}.hero-content{padding:75px 0 95px}.hero h1{font-size:clamp(43px,11vw,65px)}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{text-align:center}.intro{display:block;padding:65px 0 30px}.intro h2{font-size:37px}.intro .text-link{display:inline-block;margin-top:18px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.product-image{height:260px}.product-info{padding:17px}.product-info h3{font-size:19px}.catalog-page{padding:48px 0 65px}.catalog-page h1{font-size:46px}.filters{grid-template-columns:1fr;gap:9px;margin:25px 0 32px}.filters input,.filters select{min-height:47px}.detail{grid-template-columns:1fr;gap:30px;padding:42px 0 75px}.detail-image{min-height:370px}.detail-copy{padding-top:0}.detail h1{font-size:48px}.price-switch{flex-wrap:wrap}.price-switch button{flex:1;min-width:90px}.about{padding:70px 0 110px}.about h1{font-size:49px}.about>p:not(.eyebrow){font-size:15px}.form-grid{grid-template-columns:1fr}.admin-head{display:block}.admin-head .btn{margin-top:15px}.form-card,.table-card{padding:19px}.image-preview{height:310px;min-height:310px}.footer .container{display:block}}@media(max-width:480px){.product-grid{grid-template-columns:1fr}.product-image{height:315px}.hero h1{font-size:43px}.detail-image{min-height:300px}.image-preview{height:280px;min-height:280px}}.lux-features{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#e5ddce;border:1px solid #e5ddce}.lux-features>div{background:#fffdf9;padding:28px}.lux-features b{font:400 12px Georgia,serif;color:#a17c3e;letter-spacing:2px}.lux-features h3{font:400 23px Georgia,serif;margin:10px 0}.lux-features p{font-size:12px;color:#777;line-height:1.8;margin:0}@media(max-width:800px){.lux-features{grid-template-columns:1fr}}
/* AFA LOGO */
.brand-logo{display:block;width:76px;height:38px;object-fit:contain;object-position:center;flex:none}
.brand{gap:14px}.brand small{display:block}
@media(max-width:800px){.brand-logo{width:60px;height:32px}.brand{gap:9px}}
.no-image-logo{width:180px!important;height:auto!important;object-fit:contain!important;opacity:.72}

.print-filter-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px;align-items:end;margin-top:20px}.print-filter-grid label{margin:0}.print-filter-grid select{width:100%;padding:14px 15px;border:1px solid var(--line);background:#fff;color:var(--ink)}.print-action-label{display:flex!important;flex-direction:column;gap:7px}.print-btn{text-align:center;white-space:nowrap}
@media(max-width:800px){.print-filter-grid{grid-template-columns:1fr}.print-action-label .print-btn{width:100%}}
@media print{.no-print{display:none!important}}

/* =========================================================
   MOBILE COMPATIBILITY PACK — Android / iPhone / iPad
   ========================================================= */
html{width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;min-width:0;overflow-x:hidden}
img{max-width:100%;height:auto}
button,a,input,select,textarea{touch-action:manipulation}
input,select,textarea{font-size:16px} /* prevents iOS Safari zoom on form fields */
.nav{width:100%}
.hero-content,.intro,.catalog-page,.detail,.about,.admin-wrap{min-width:0}
.product-card,.product-image,.product-info{min-width:0}
.product-info h3,.detail h1,.catalog-page h1,.about h1{overflow-wrap:anywhere}
.table-card{-webkit-overflow-scrolling:touch}
.table-card table{min-width:780px}
.image-preview img{max-width:100%;max-height:100%}

/* phones */
@media (max-width: 768px){
  .container{width:calc(100% - 28px);max-width:none}
  .ticker{height:34px;font-size:8px;letter-spacing:2.2px}
  .ticker-track span{padding-right:70px}

  .nav{padding:13px 0;gap:10px}
  .brand{min-width:0;flex:1;gap:8px}
  .brand-logo{width:58px;height:32px}
  .brand small{font-size:7px;letter-spacing:1.4px;max-width:120px}
  .nav-button{font-size:9px;min-height:38px;padding:9px 11px;white-space:nowrap}

  .hero{min-height:590px}
  .hero-content{padding:70px 0 88px}
  .hero h1{font-size:clamp(39px,11vw,58px);line-height:1.02}
  .hero-text{font-size:13px;line-height:1.75}
  .hero-actions{gap:9px}
  .hero-actions .btn{width:100%;min-height:48px}
  .hero-glow{width:430px;height:430px;right:-235px;bottom:-205px}

  .intro{padding:58px 0 28px}
  .intro h2{font-size:34px;line-height:1.08}
  .text-link{font-size:10px}

  .lux-features{grid-template-columns:1fr!important}
  .lux-features>div{padding:22px}
  .lux-features h3{font-size:21px}

  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-bottom:60px}
  .product-image{height:230px}
  .product-info{padding:14px}
  .product-info>span{font-size:7px;letter-spacing:1.6px}
  .product-info h3{font-size:17px;line-height:1.15}
  .product-info p{font-size:9px}
  .product-info strong{font-size:14px;margin:11px 0}
  .product-info>a{font-size:9px}

  .catalog-page{padding:45px 0 65px}
  .catalog-page h1{font-size:43px}
  .filters{grid-template-columns:1fr;gap:8px;margin:22px 0 28px}
  .filters input,.filters select{min-height:48px;padding:12px 13px}
  .empty{padding:45px 20px}

  .detail{grid-template-columns:1fr;gap:24px;padding:38px 0 70px}
  .detail-image{min-height:320px;width:100%}
  .detail-copy{padding:0}
  .detail h1{font-size:45px}
  .price-box{margin:25px 0 13px;padding:20px}
  .price-box strong{font-size:25px}
  .price-switch{gap:6px;margin-bottom:25px}
  .price-switch button{flex:1;min-height:44px;padding:10px 8px}

  .about{padding:65px 0 95px}
  .about h1{font-size:47px}
  .about>p:not(.eyebrow){font-size:15px;line-height:1.85}

  .footer{padding:25px 0}
  .footer .container{display:block;line-height:1.8}

  /* Admin */
  .admin-wrap{padding:40px 0 65px}
  .admin-head{display:block}
  .admin-head h1{font-size:42px;line-height:1.05}
  .admin-head>div:last-child{display:grid!important;grid-template-columns:1fr 1fr;margin-top:18px}
  .admin-head .btn{width:100%;margin-top:0;text-align:center}
  .form-card,.table-card{padding:18px}
  .form-card h2,.table-card h2{font-size:25px}
  .form-grid{grid-template-columns:1fr}
  .form-card label{margin:10px 0}
  .form-card input,.form-card textarea{width:100%;min-height:48px;padding:12px}
  .form-card textarea{min-height:120px}
  .upload-button{min-height:52px!important}
  .image-preview{height:300px!important;min-height:300px!important}
  .preview-placeholder span{font-size:29px}
  .preview-placeholder small{font-size:11px}
  .print-filter-grid{grid-template-columns:1fr!important}
  .print-filter-grid label{display:block!important}
  .print-btn{width:100%;min-height:48px}
  .table-card{overflow-x:auto}
  .table-card table{font-size:10px}

  /* Print page viewed on phone */
  .actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:9px}
  .actions button,.actions a{min-height:44px;padding:11px 14px}
}

/* very small phones */
@media (max-width: 390px){
  .container{width:calc(100% - 22px)}
  .brand small{display:none}
  .brand-logo{width:55px;height:30px}
  .nav-button{padding:9px 10px}
  .hero-content{padding-top:60px}
  .hero h1{font-size:39px}
  .product-grid{grid-template-columns:1fr}
  .product-image{height:300px}
  .catalog-page h1{font-size:39px}
  .detail h1{font-size:40px}
  .admin-head>div:last-child{grid-template-columns:1fr}
}

/* tablet portrait */
@media (min-width:769px) and (max-width:1024px){
  .container{width:92%}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail{gap:40px}
  .detail h1{font-size:50px}
  .form-grid{grid-template-columns:repeat(2,1fr)}
}

/* iOS Safari safe-area */
@supports (padding:max(0px)){
  body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}
  .ticker{padding-top:max(0px,env(safe-area-inset-top))}
}

/* FINAL LOGO SIZE — LANDING DASHBOARD */
.brand-logo{
  width:54px !important;
  height:28px !important;
  max-width:54px !important;
  max-height:28px !important;
  object-fit:contain !important;
}
@media (max-width:768px){
  .brand-logo{
    width:44px !important;
    height:24px !important;
    max-width:44px !important;
    max-height:24px !important;
  }
}
@media (max-width:390px){
  .brand-logo{
    width:40px !important;
    height:22px !important;
    max-width:40px !important;
    max-height:22px !important;
  }
}

/* =========================================================
   AFA LOGO — UKURAN MUDAH DIUBAH DARI cPanel
   Cukup ubah angka pada --afa-logo-width / --afa-logo-height.
   Logo lama DIGANTI pada file logo-afa.png, bukan ditumpuk.
   ========================================================= */
:root{
  --afa-logo-width:42px;
  --afa-logo-height:24px;
}
.brand-logo{
  width:var(--afa-logo-width)!important;
  height:var(--afa-logo-height)!important;
  max-width:var(--afa-logo-width)!important;
  max-height:var(--afa-logo-height)!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  flex:0 0 auto!important;
}
@media(max-width:768px){
  :root{
    --afa-logo-width:36px;
    --afa-logo-height:20px;
  }
}
@media(max-width:390px){
  :root{
    --afa-logo-width:32px;
    --afa-logo-height:18px;
  }
}

/* Product image fallback: never show the company logo as if it were product photography. */
.image-unavailable{padding:24px;text-align:center;color:#8b795c;font:italic 15px Georgia,serif;line-height:1.7}
.no-image{padding:18px;text-align:center;color:#9b845f;font:italic 14px Georgia,serif;letter-spacing:.3px}

/* MOBILE / TABLET FINISHING: touch-friendly controls and prevent horizontal overflow */
html{ -webkit-text-size-adjust:100%; }
body{ overflow-wrap:anywhere; }
img,video,iframe{ max-width:100%; }
button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent; }
@media(max-width:800px){
  .container{width:min(100% - 28px,680px)}
  .nav{flex-wrap:wrap;row-gap:12px}
  .brand{min-width:0;max-width:70%}
  .brand b{line-height:1.1}
  .nav-button,.btn{min-height:44px}
  .product-card:hover{transform:none;box-shadow:none}
  .product-image{touch-action:pan-y;cursor:zoom-in}
  .product-info h3{line-height:1.25}
  .product-info p{line-height:1.6}
  .detail-image{width:100%;overflow:hidden}
  .detail-image img{max-width:100%;height:auto}
  .form-card input,.form-card textarea,.form-card select,.filters input,.filters select{font-size:16px;min-height:46px}
  .table-card{-webkit-overflow-scrolling:touch}
  .table-card table{min-width:680px}
  .upload-button{min-height:48px}
}
@media(max-width:480px){
  .container{width:calc(100% - 24px)}
  .ticker{font-size:9px;letter-spacing:2.2px}
  .nav{gap:9px}
  .brand{gap:8px;max-width:calc(100% - 8px)}
  .brand b{font-size:25px}
  .brand small{letter-spacing:1.5px}
  .hero{min-height:0}
  .hero-content{padding:55px 0 72px}
  .hero h1{font-size:clamp(36px,10.5vw,46px)}
  .hero-text{font-size:13px;line-height:1.75}
  .intro h2{font-size:32px}
  .product-grid{gap:14px}
  .product-image{height:280px}
  .product-info{padding:16px}
  .product-info h3{font-size:20px}
  .catalog-page h1{font-size:clamp(34px,9vw,42px)}
  .detail{gap:20px}
  .detail-image{min-height:260px}
  .detail h1{font-size:clamp(35px,9vw,46px)}
  .price-box{padding:18px}
  .price-box strong{font-size:24px}
  .admin-head h1{font-size:36px}
  .form-card,.table-card{padding:15px}
  .image-preview{height:245px;min-height:245px}
  .footer{line-height:1.8}
}
@media(hover:none){
  .product-card:hover{transform:none}
  .product-card:hover .product-image img{transform:none}
}
