.margin-bottom-45{
  margin-bottom: 45px;
}

.margin-bottom-35{
  margin-bottom: 35px;
}

/* 1) Kunci area image box seperti master */
.shop-box-items.style-inner .shop-image{
  position: relative;
  overflow: hidden;
  border-radius: 16px;      /* sesuaikan kalau template beda */
  height: 320px;            /* sesuaikan, ini kunci utama */
}

/* 2) Pastikan gambar nge-fit, bukan melebar liar */
.shop-box-items.style-inner .shop-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;        /* cover biar rapi */
  display: block;
}

/* 3) Badge di atas gambar */
.shop-box-items.style-inner .sale-icon,
.shop-box-items.style-inner .discount-icon{
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 30;
}
.shop-box-items.style-inner .discount-icon{
  left: auto;
  right: 18px;
}

/* 4) Icon bar tetap di atas gambar tapi bawah badge */
.shop-box-items.style-inner .shop-icon{
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 20;
  margin: 0;
  padding: 0;
}

/* pastikan parent jadi patokan absolute */
.shop-box-items.style-inner .shop-image{
  position: relative !important;
  overflow: hidden !important;
}

/* paksa SALE BADGE tampil */
.shop-box-items.style-inner .sale-icon{
  position: absolute !important;
  top: 18px !important;
  left: 18px !important;
  z-index: 99999 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 8px 14px !important;
  border-radius: 8px !important;

  background: #f2e36b !important;
  color: #0b2e13 !important;

  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;

  text-indent: 0 !important;
  letter-spacing: 0 !important;
}

/* kalau ada overlay yang niban, kecilin prioritasnya */
.shop-box-items.style-inner .shop-image::before,
.shop-box-items.style-inner .shop-image::after,
.shop-box-items.style-inner .shop-image a::before,
.shop-box-items.style-inner .shop-image a::after{
  z-index: 1 !important;
}

/* pastikan badge di atas overlay */
.shop-box-items.style-inner .sale-icon,
.shop-box-items.style-inner .discount-icon,
.shop-box-items.style-inner .shop-icon{
  z-index: 99999 !important;
}

/* === CARD IMAGE AREA: sama kayak master === */
.shop-box-items.style-inner .shop-image{
  position: relative;
  overflow: hidden;
  border-radius: 16px;

  /* ini yang bikin rapi */
  height: 260px;              /* sesuaikan 240–300 */
  background: #f6f6f6;        /* biar ga kosong kalau image kecil */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* anchor harus block biar ngunci ukuran */
.shop-box-items.style-inner .shop-image > a{
  display: block;
  width: 100%;
  height: 100%;
}

/* gambar full-cover */
.shop-box-items.style-inner .shop-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* === BADGE === */
.shop-box-items.style-inner .sale-icon,
.shop-box-items.style-inner .discount-icon{
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 50;

  padding: 6px 12px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;

  opacity: 1;
  visibility: visible;
  transform: none;
}

/* discount pojok kanan */
.shop-box-items.style-inner .discount-icon{
  left: auto;
  right: 16px;
}

/* === ICON BAR (bawah gambar, tengah) === */
.shop-box-items.style-inner .shop-icon{
  position: absolute;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  z-index: 40;

  margin: 0;
  padding: 0;
  gap: 10px;
}

/* pastikan li ga turun kebawah */
.shop-box-items.style-inner .shop-icon li{
  list-style: none;
}

/* FRAME murni, hilangkan style bawaan template */
.shop-box-items.style-inner .shop-image{
  position: relative !important;
  overflow: hidden !important;
  border-radius: 16px !important;

  height: 260px !important;          /* kamu bisa 240–320 */
  padding: 0 !important;             /* INI penting: buang padding bawaan */
  margin: 0 !important;
  background: #f3f3f3 !important;    /* optional */
  text-align: left !important;
}

/* anchor full-frame */
.shop-box-items.style-inner .shop-image > a{
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
}

/* image full-frame */
.shop-box-items.style-inner .shop-image img{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;      /* cover = foto rapi */
  display: block !important;
}

/* kalau template punya overlay pseudo element yang nutup, turunin */
.shop-box-items.style-inner .shop-image::before,
.shop-box-items.style-inner .shop-image::after{
  z-index: 1 !important;
}

/* badge selalu di atas gambar */
.shop-box-items.style-inner .sale-icon,
.shop-box-items.style-inner .discount-icon{
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  z-index: 5 !important;             /* di atas overlay */
}
.shop-box-items.style-inner .discount-icon{
  left: auto !important;
  right: 14px !important;
}

/* icon bar di atas gambar, bawah tengah */
.shop-box-items.style-inner .shop-icon{
  position: absolute !important;
  left: 50% !important;
  bottom: 14px !important;
  transform: translateX(-50%) !important;
  z-index: 5 !important;

  margin: 0 !important;
  padding: 0 !important;
  gap: 10px !important;
}
.shop-box-items.style-inner .shop-icon li{ list-style: none !important; }

/* 1) Card jadi container utama, gambar nempel atas */
.shop-box-items.style-inner{
  overflow: hidden;
  border-radius: 18px;
  padding: 0 !important;          /* ini kunci biar ga ngatung */
}

/* 2) Area gambar full-lebar, nempel ke tepi card */
.shop-box-items.style-inner .shop-image{
  position: relative;
  width: 100%;
  height: 340px;                  /* bebas: 320-380 */
  margin: 0 !important;
  border-radius: 0 !important;    /* radius ikut card */
  overflow: hidden;
}

/* 3) Link & img full 100% */
.shop-box-items.style-inner .shop-image > a{
  display: block;
  width: 100%;
  height: 100%;
}
.shop-box-items.style-inner .shop-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 4) Content kasih padding sendiri */
.shop-box-items.style-inner .content{
  padding: 22px 22px 26px;        /* sesuaikan */
}

/* 5) Badge & icon tetap di atas gambar */
.shop-box-items.style-inner .sale-icon,
.shop-box-items.style-inner .discount-icon{
  position: absolute;
  top: 16px;
  z-index: 10;
}
.shop-box-items.style-inner .sale-icon{ left: 16px; }
.shop-box-items.style-inner .discount-icon{ right: 16px; }

.shop-box-items.style-inner .shop-icon{
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 10;

  display: flex;
  gap: 12px;
  margin: 0;
  padding: 0;
}
.shop-box-items.style-inner .shop-icon li{ list-style: none; }

/* Naikin tombol (mata + cart) */
.shop-box-items.style-inner .shop-icon{
  bottom: auto;
  top: 20%;                /* coba 58%–65% sesuai selera */
  transform: translate(-50%, -50%);
}

/* BLOG DETAIL: kunci ukuran featured image */
.blog-wrapper .single-post-image{
  width: 100%;
  height: 420px;        /* ubah: 320–520 sesuai selera */
  object-fit: cover;
  border-radius: 16px;
  display: block;
}

/* responsive */
@media (max-width: 991.98px){
  .blog-wrapper .single-post-image{ height: 280px; }
}

/* ==== scoped khusus halaman login ==== */
.login-wrap{
  max-width: 520px;
  margin: 0 auto;
}
.login-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  padding:28px;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}
.login-card h3{
  margin:0 0 6px 0;
  font-weight:800;
}
.login-sub{
  margin:0 0 18px 0;
  opacity:.7;
  font-size:14px;
}

.login-card .input-single label{
  font-weight:700;
  font-size:14px;
  margin-bottom:8px;
  display:block;
}

.login-card .input-single input{
  width:100% !important;
  display:block !important;
  height:52px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  font-size:15px;
  outline:0;
  transition:.15s ease;
  box-shadow:none;
}
.login-card .input-single input:focus{
  border-color: rgba(34,197,94,.65);
  box-shadow: 0 0 0 4px rgba(34,197,94,.12);
}

.login-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-top:6px;
}

.login-card .forgot-link{
  font-weight:700;
  text-decoration:none;
}
.login-card .forgot-link:hover{
  text-decoration:underline;
}

.login-card .theme-btn{
  width:100%;
  border-radius:999px;
  padding:14px 18px;
  font-weight:800;
}

.login-footer{
  margin-top:14px;
  text-align:center;
  font-weight:600;
}
.login-footer a{ font-weight:800; }

@media (max-width: 576px){
  .login-card{ padding:20px; border-radius:14px; }
  .login-card .input-single input{ height:50px; }
}

/* ==== scoped khusus halaman login ==== */
.login-wrap{ max-width: 520px; margin: 0 auto; }

.login-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  padding:28px;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}

.login-card h3{ margin:0 0 6px 0; font-weight:800; }
.login-sub{ margin:0 0 18px 0; opacity:.7; font-size:14px; }

.login-card .input-single label{
  font-weight:700;
  font-size:14px;
  margin-bottom:8px;
  display:block;
}

/* ✅ hanya untuk text-like input, JANGAN untuk checkbox */
.login-card .input-single input[type="text"],
.login-card .input-single input[type="email"],
.login-card .input-single input[type="password"],
.login-card .input-single input[type="tel"],
.login-card .input-single input[type="number"]{
  width:100% !important;
  display:block !important;
  height:52px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  font-size:15px;
  outline:0;
  transition:.15s ease;
  box-shadow:none;
}

.login-card .input-single input[type="text"]:focus,
.login-card .input-single input[type="email"]:focus,
.login-card .input-single input[type="password"]:focus,
.login-card .input-single input[type="tel"]:focus,
.login-card .input-single input[type="number"]:focus{
  border-color: rgba(34,197,94,.65);
  box-shadow: 0 0 0 4px rgba(34,197,94,.12);
}

/* ✅ checkbox biar normal & rapi */
.login-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-top:6px;
}

.login-remember{
  display:flex;
  align-items:center;
  gap:10px;
  line-height:1;
}

.login-remember input[type="checkbox"]{
  width:18px !important;
  height:18px !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:6px;
  border:1px solid rgba(0,0,0,.25);
  appearance:auto; /* biar nggak jadi kotak input */
}

.login-remember label{
  margin:0 !important;
  font-weight:600;
  font-size:14px;
  cursor:pointer;
  display:inline-block;
}

.login-card .forgot-link{
  font-weight:700;
  text-decoration:none;
}
.login-card .forgot-link:hover{ text-decoration:underline; }

/* ✅ button beneran ngikut template */
.login-card .theme-btn{
  width:100%;
  border-radius:999px;
  padding:16px 18px;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

/* footer link */
.login-footer{
  margin-top:14px;
  text-align:center;
  font-weight:600;
}
.login-footer a{ font-weight:800; }

@media (max-width: 576px){
  .login-card{ padding:20px; border-radius:14px; }
  .login-card .input-single input[type="text"],
  .login-card .input-single input[type="email"],
  .login-card .input-single input[type="password"],
  .login-card .input-single input[type="tel"],
  .login-card .input-single input[type="number"]{
    height:50px;
  }
}

input, textarea {
  color: #1f2937 !important;
  -webkit-text-fill-color: #1f2937 !important;
}

.myaccount-nav-box li.accordion.block {
  padding: 0 !important;
  overflow: hidden;
}

.myaccount-nav-box li.accordion.block > a.acc-btn {
  display: flex !important;
  align-items: center;
  width: 100% !important;
  min-height: 64px;
  padding: 18px 22px !important;
  box-sizing: border-box;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer;
}

.myaccount-nav-box li.accordion.block > a.acc-btn.active {
  color: inherit !important;
}

.myaccount-nav-box li.accordion.block > a.acc-btn{
  display:flex !important;
  align-items:center;
  width:100% !important;
  min-height:64px;
  padding:18px 22px !important;
  text-decoration:none !important;
  color:inherit !important;
  box-sizing:border-box;
}

/* state aktif dari LI */
.myaccount-nav-box li.accordion.block.active-block > a.acc-btn,
.myaccount-nav-box li.accordion.block > a.acc-btn.active{
  background-color: var(--theme-color, #6ca04a);
  color: #fff !important;
}

/* icon ikut putih saat aktif */
.myaccount-nav-box li.accordion.block.active-block > a.acc-btn i,
.myaccount-nav-box li.accordion.block > a.acc-btn.active i{
  color: #fff !important;
}

.account-pretty-wrap{
  max-width: 860px;
}

.account-pretty-card{
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 24px;
  padding: 36px 40px;
  box-shadow: 0 8px 24px rgba(0,0,0,.03);
}

.account-pretty-head{
  margin-bottom: 22px;
}

.account-pretty-head h3{
  font-size: 22px;
  line-height: 1.2;
  margin-bottom: 8px;
}

.account-pretty-head p{
  margin: 0;
  font-size: 15px;
  color: #8b95a1;
}

.account-pretty-card .input-single label{
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #5d6674;
  margin-bottom: 10px;
}

.account-pretty-card .input-single input{
  width: 100%;
  height: 60px;
  border-radius: 16px;
  border: 1.5px solid #d9d9d9;
  background: #fff;
  padding: 0 20px;
  font-size: 16px;
  color: #1f2937 !important;
  -webkit-text-fill-color: #1f2937 !important;
  outline: none;
  transition: .2s ease;
  box-shadow: none;
}

.account-pretty-card .input-single input::placeholder{
  color: #9ca3af;
  opacity: 1;
}

.account-pretty-card .input-single input:focus{
  border-color: #7bd88f;
  box-shadow: 0 0 0 6px rgba(123,216,143,.14);
}

.account-pretty-card .input-single input[readonly]{
  background: #fafafa;
  color: #374151 !important;
  cursor: not-allowed;
}

.account-pretty-help{
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.7;
  color: #6b7280;
}

.account-pretty-help a{
  color: #0b2f0b;
  font-weight: 700;
  text-decoration: none;
}

.account-pretty-help a:hover{
  text-decoration: underline;
}

.account-pretty-btn{
  width: 100%;
  min-height: 60px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  justify-content: center;
}

@media (max-width: 991.98px){
  .account-pretty-wrap{
    max-width: 100%;
  }

  .account-pretty-card{
    padding: 26px 20px;
    border-radius: 18px;
  }

  .account-pretty-head h3{
    font-size: 20px;
  }

  .account-pretty-card .input-single input{
    height: 54px;
    border-radius: 14px;
    font-size: 15px;
    padding: 0 16px;
  }

  .account-pretty-btn{
    min-height: 54px;
  }
}

.orders-filter-wrap{
  min-width: 240px;
}

.orders-filter-label{
  display:block;
  font-size:14px;
  font-weight:600;
  color:#5d6674;
  margin-bottom:8px;
}

.order-filter-select{
  width:100%;
  height:52px;
  border:1.5px solid #d9d9d9;
  border-radius:14px;
  padding:0 16px;
  background:#fff;
  color:#1f2937;
  outline:none;
}

.order-filter-select:focus{
  border-color:#7bd88f;
  box-shadow:0 0 0 6px rgba(123,216,143,.14);
}

.pretty-orders-table-wrap{
  border:1px solid #ececec;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}

.pretty-orders-table{
  margin-bottom:0;
}

.pretty-orders-table thead th{
  background:#f8faf8;
  border-bottom:1px solid #ececec;
  color:#374151;
  font-size:14px;
  font-weight:700;
  padding:16px 14px;
  vertical-align:middle;
}

.pretty-orders-table tbody td{
  padding:16px 14px;
  vertical-align:middle;
  border-color:#f0f0f0;
  color:#374151;
}

.pretty-order-code{
  font-weight:700;
  color:#111827;
  text-decoration:none;
}

.pretty-order-code:hover{
  color:#6a9b58;
}

.pretty-table-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:84px;
  height:38px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid #d9e8d1;
  background:#f7fbf5;
  color:#0b2f0b;
  font-weight:700;
  text-decoration:none;
}

.pretty-table-btn:hover{
  background:#6a9b58;
  border-color:#6a9b58;
  color:#fff;
}

.pretty-empty-state{
  padding:32px 20px;
  text-align:center;
  color:#6b7280;
}

.pretty-order-cards{
  display:grid;
  gap:16px;
}

.pretty-order-card{
  border:1px solid #e8ece8;
  border-radius:18px;
  padding:18px;
  background:#fff;
}

.pretty-order-card-empty{
  text-align:center;
  color:#6b7280;
  border:1px dashed #d7d7d7;
  border-radius:18px;
  padding:24px 18px;
  background:#fff;
}

.pretty-order-meta-label{
  font-size:12px;
  color:#6b7280;
}

.pretty-order-total{
  font-size:16px;
  font-weight:800;
  color:#111827;
}

.badge-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.3px;
  border:1px solid transparent;
}

.st-pending,
.st-unpaid{
  background:#fff7ed;
  color:#b45309;
  border-color:#fed7aa;
}

.st-paid{
  background:#ecfeff;
  color:#0f766e;
  border-color:#a5f3fc;
}

.st-packing{
  background:#eff6ff;
  color:#1d4ed8;
  border-color:#bfdbfe;
}

.st-shipped{
  background:#eef2ff;
  color:#4338ca;
  border-color:#c7d2fe;
}

.st-delivered,
.st-done{
  background:#f0fdf4;
  color:#15803d;
  border-color:#bbf7d0;
}

.st-cancelled{
  background:#fef2f2;
  color:#b91c1c;
  border-color:#fecaca;
}

.page-nav-wrap ul li.disabled .page-numbers{
  pointer-events:none;
  opacity:.45;
}

@media (max-width: 991.98px){
  .orders-filter-wrap{
    min-width:100%;
  }
}

.order-detail-card .account-pretty-head{
  margin-bottom: 28px;
}

.back-order-btn{
  min-width: 190px;
  justify-content: center;
}

.pretty-info-card{
  background:#fff;
  border:1px solid #ececec;
  border-radius:20px;
  padding:22px;
  height:100%;
}

.pretty-info-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}

.pretty-info-head h5{
  margin:0;
  font-size:18px;
  font-weight:800;
  color:#0b2f0b;
}

.pretty-info-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.pretty-info-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding-bottom:10px;
  border-bottom:1px solid #f1f1f1;
}

.pretty-info-row:last-child{
  border-bottom:none;
  padding-bottom:0;
}

.pretty-info-row span{
  color:#6b7280;
  font-size:14px;
}

.pretty-info-row strong{
  color:#111827;
  text-align:right;
}

.pretty-note{
  margin-top:14px;
  font-size:13px;
  color:#6b7280;
  line-height:1.7;
}

.mono-text{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.pretty-resi-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px;
  border:1.5px dashed #cfd8cf;
  border-radius:20px;
  background:#fbfdfb;
}

.pretty-resi-label{
  font-size:13px;
  color:#6b7280;
  margin-bottom:4px;
}

.pretty-resi-code{
  font-size:24px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.4px;
  color:#111827;
  margin-bottom:6px;
}

.pretty-resi-courier{
  display:inline-block;
  padding:7px 12px;
  border-radius:999px;
  background:#f0fdf4;
  color:#15803d;
  font-size:12px;
  font-weight:700;
  border:1px solid #bbf7d0;
}

.pretty-resi-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.theme-btn-outline{
  background:#fff !important;
  color:#0b2f0b !important;
  border:1px solid #d9e8d1 !important;
}

.theme-btn-outline:hover{
  background:#6a9b58 !important;
  color:#fff !important;
  border-color:#6a9b58 !important;
}

.pretty-summary-card{
  background:#fff;
  border:1px solid #ececec;
  border-radius:20px;
  padding:22px;
}

.pretty-summary-card h5{
  margin:0 0 16px;
  font-size:18px;
  font-weight:800;
  color:#0b2f0b;
}

.pretty-summary-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
  border-bottom:1px solid #f1f1f1;
  color:#4b5563;
}

.pretty-summary-row strong{
  color:#111827;
}

.pretty-summary-total{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding-top:16px;
  margin-top:10px;
}

.pretty-summary-total span{
  color:#6b7280;
  font-size:14px;
}

.pretty-summary-total strong{
  font-size:24px;
  line-height:1.2;
  font-weight:800;
  color:#0b2f0b;
}

.badge-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.3px;
  border:1px solid transparent;
  white-space:nowrap;
}

.st-pending,
.st-unpaid{
  background:#fff7ed;
  color:#b45309;
  border-color:#fed7aa;
}

.st-paid{
  background:#ecfeff;
  color:#0f766e;
  border-color:#a5f3fc;
}

.st-packing{
  background:#eff6ff;
  color:#1d4ed8;
  border-color:#bfdbfe;
}

.st-shipped{
  background:#eef2ff;
  color:#4338ca;
  border-color:#c7d2fe;
}

.st-delivered,
.st-done{
  background:#f0fdf4;
  color:#15803d;
  border-color:#bbf7d0;
}

.st-cancelled{
  background:#fef2f2;
  color:#b91c1c;
  border-color:#fecaca;
}

@media (max-width: 991.98px){
  .pretty-resi-box{
    flex-direction:column;
    align-items:flex-start;
  }

  .pretty-resi-code{
    font-size:20px;
  }

  .pretty-info-row,
  .pretty-summary-row,
  .pretty-summary-total{
    flex-direction:column;
    align-items:flex-start;
  }

  .pretty-info-row strong,
  .pretty-summary-row strong{
    text-align:left;
  }

  .back-order-btn{
    min-width:100%;
  }
}

.pretty-address-list{
  display:grid;
  gap:18px;
}

.pretty-address-card{
  background:#fff;
  border:1px solid #ececec;
  border-radius:20px;
  padding:22px;
}

.pretty-address-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:10px;
}

.pretty-address-name{
  font-size:18px;
  font-weight:800;
  color:#111827;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.pretty-default-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  background:#f0fdf4;
  color:#15803d;
  border:1px solid #bbf7d0;
  font-size:12px;
  font-weight:700;
}

.pretty-address-phone{
  margin-top:6px;
  color:#4b5563;
  font-weight:600;
}

.pretty-address-line{
  color:#374151;
  line-height:1.8;
  margin-bottom:10px;
}

.pretty-address-notes{
  color:#6b7280;
  font-size:14px;
  line-height:1.7;
  margin-bottom:14px;
}

.pretty-address-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}

.pretty-table-btn-danger{
  background:#fff5f5;
  border-color:#fecaca;
  color:#b91c1c;
}

.pretty-table-btn-danger:hover{
  background:#b91c1c;
  border-color:#b91c1c;
  color:#fff;
}

.pretty-select{
  width:100%;
  height:60px;
  border-radius:16px;
  border:1.5px solid #d9d9d9;
  background:#fff;
  padding:0 18px;
  font-size:16px;
  color:#1f2937;
  outline:none;
  box-shadow:none;
  transition:.2s ease;
}

.pretty-select:focus{
  border-color:#7bd88f;
  box-shadow:0 0 0 6px rgba(123,216,143,.14);
}

.pretty-select:disabled{
  background:#fafafa;
  color:#9ca3af;
  cursor:not-allowed;
}

.account-pretty-card .input-single textarea{
  width:100%;
  min-height:140px;
  border-radius:16px;
  border:1.5px solid #d9d9d9;
  background:#fff;
  padding:16px 20px;
  font-size:16px;
  color:#1f2937 !important;
  outline:none;
  box-shadow:none;
  resize:vertical;
  transition:.2s ease;
}

.account-pretty-card .input-single textarea:focus{
  border-color:#7bd88f;
  box-shadow:0 0 0 6px rgba(123,216,143,.14);
}

.account-pretty-card .input-single textarea::placeholder{
  color:#9ca3af;
  opacity:1;
}

.pretty-check-wrap{
  padding:16px 18px;
  border:1px solid #ececec;
  border-radius:16px;
  background:#fafafa;
}

.pretty-check{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0;
  cursor:pointer;
  font-weight:600;
  color:#111827;
}

.pretty-check input{
  width:18px;
  height:18px;
  accent-color:#6a9b58;
}

.pretty-check small{
  color:#6b7280;
  font-weight:500;
}

.pretty-cancel-btn{
  min-width:140px;
  justify-content:center;
  height:60px;
  border-radius:999px;
}

@media (max-width: 991.98px){
  .pretty-select{
    height:54px;
    border-radius:14px;
    font-size:15px;
    padding:0 16px;
  }

  .account-pretty-card .input-single textarea{
    border-radius:14px;
    font-size:15px;
    padding:14px 16px;
  }

  .pretty-cancel-btn{
    width:100%;
    min-width:100%;
    height:54px;
  }
}

.account-pretty-card .input-single input {
  width: 100%;
  height: 60px;
  border-radius: 16px;
  border: 1.5px solid #d9d9d9;
  background: #fff;
  padding: 0 20px;
  font-size: 16px;
  color: #1f2937;
  outline: none;
  transition: .2s ease;
  box-shadow: none;
}

.account-pretty-card .input-single input::placeholder,
.account-pretty-card .input-single textarea::placeholder {
  color: #b6beca;
  -webkit-text-fill-color: #b6beca;
  opacity: 1;
}

.news-box-items .news-image.news-image-fixed {
  position: relative;
  height: 260px;
  overflow: hidden;
  border-radius: 12px 12px 0 0;
}

.news-box-items .news-image.news-image-fixed .news-image-link {
  display: block;
  width: 100%;
  height: 100%;
}

.news-box-items .news-image.news-image-fixed img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* jaga biar card tinggi kontennya lebih konsisten juga */
.news-box-items {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.news-box-items .news-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.news-box-items .news-content p {
  min-height: 56px;
}

.news-box-items .link-btn {
  margin-top: auto;
}

.news-box-items {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.news-box-items .news-image.news-image-fixed {
  position: relative;
  height: 260px;
  overflow: visible; /* penting: badge jangan kepotong */
  border-radius: 20px;
}

.news-box-items .news-image.news-image-fixed .news-image-link {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
}

.news-box-items .news-image.news-image-fixed img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.news-box-items .news-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding-top: 56px; /* ruang untuk badge date */
}

.news-box-items .news-content p {
  min-height: 56px;
}

.news-box-items .link-btn {
  margin-top: auto;
}

/* badge tanggal */
.news-box-items .news-image .post-date {
  position: absolute;
  left: 28px;
  bottom: -46px;
  width: 86px;
  height: 86px;
  border-radius: 50%;
  background: #e8d94a;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 3;
  text-align: center;
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
}

.news-box-items .news-image .post-date h4 {
  margin: 0;
  line-height: 1;
  font-size: 34px;
  font-weight: 700;
}

.news-box-items .news-image .post-date p {
  margin: 4px 0 0;
  line-height: 1;
  font-size: 16px;
  font-weight: 500;
  min-height: auto;
}

.cart-wrapper{
  display:flex;
  align-items:center;
  gap:18px;
}

.cart-wrapper .cart-quantity{
  flex: 0 0 160px;
}

.cart-wrapper .cart-button{
  flex: 1 1 auto;
}

.cart-wrapper .cart-button .theme-btn{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  height:68px;
  border-radius:12px;
}

.cart-wrapper > .icon{
  flex: 0 0 72px;
  width:72px;
  height:68px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d9d9d9;
  border-radius:12px;
}

.product-details-content .cart-quantity{
  display: flex;
  align-items: center;
  gap: 18px;
}

.product-details-content .cart-quantity .qty{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 160px;
  min-width: 160px;
  height: 68px;
  border: 1px solid #d9d9d9;
  border-radius: 10px !important;
  overflow: hidden;
  margin: 0;
  padding: 0 18px;
  background: #fff;
}

.product-details-content .cart-quantity .qty input{
  width: 48px;
  border: 0 !important;
  text-align: center;
  background: transparent;
  box-shadow: none !important;
}

.product-details-content .cart-quantity .qty button{
  border: 0;
  background: transparent;
  font-size: 28px;
  line-height: 1;
  padding: 0;
}

.product-details-content .cart-quantity .cart-button{
  flex: 1 1 auto;
}

.product-details-content .cart-quantity .cart-button .theme-btn{
  width: 100%;
  height: 68px;
  border-radius: 10px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
}

.product-details-content .cart-quantity .icon-item .icon{
  width: 72px;
  min-width: 72px;
  height: 68px;
  border: 1px solid #d9d9d9;
  border-radius: 10px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}

.cart-thumb-link{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 70px;
  min-width: 70px;
  height: 70px;
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
}

.cart-thumb-img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  opacity: 1 !important;
  visibility: visible !important;
}

.cart-item-thumb{
  display: flex;
  align-items: center;
  gap: 16px;
}

.cart-thumb-link{
  display: inline-block;
  width: 70px;
  min-width: 70px;
  height: 70px;
  overflow: hidden;
  border-radius: 8px;
  flex: 0 0 70px;
  background: #fff;
}

.cart-thumb-img{
  display: block;
  width: 70px !important;
  height: 70px !important;
  max-width: 70px !important;
  max-height: 70px !important;
  object-fit: cover;
}