/* 
Theme Name: Merah Putih
Theme URI: -
Author: Lumonta
Author URI: -
Description: Custom template for Merah Putih Bali website
Version: 1.0
*/

.woocommerce .content>h1, 
.woocommerce-page h1, 
.page-template-page-thankyou-order h1, 
.page-template-page-check-voucher h1 {
    font-family: 'lato';
    text-align: center;
    margin: 0 auto 25px;
    line-height: 1.25;
    font-weight: 800;
}

.woocommerce .content>h1 {
    max-width: 860px;
}


.woocommerce .content>p {
    max-width: 500px;
    margin: 0 auto 60px;
    text-align: center;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link.product__link-custom {
    display: flex;
    gap: 20px;
}

.product__link-custom .product-image {
    width: 35%;
    position: relative;
}

.product__link-custom .product-content {
    width: 65%;
}

.woocommerce ul.products li.product {
    padding: 20px;
    border: 1px solid #ddd;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-end;
    align-content: space-between;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
    width: 100%;
}

.woocommerce .products ul, .woocommerce ul.products {
    display: flex;
    flex-flow: row wrap;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link:hover {
    color: inherit;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link .woocommerce-loop-product__title {
    font-weight: 800;
    line-height: 1.25;
    border-bottom: 1px solid #D9D9D9;
    padding-top: 0;
    padding-bottom: 20px;
    min-height: 55px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    color: #000;
}

.woocommerce ul.products li.product .product-image .onsale {
    left: 0;
    top: 0;
    border-radius: 0;
    margin: 0;
    background-color: #FFD031;
    color: #000;
    font-size: 18px;
    line-height: 1.25;
    min-height: auto;
    padding: 10px;
}

.woocommerce ul.products li.product .product-image img {
    margin-bottom: 0;
    min-height: 175px;
    height: 100%;
}

.woocommerce .main-container,
.woocommerce-page .main-container, 
.page-template-page-thankyou-order .main-container,
.page-template-page-check-voucher .main-container {
    max-width: 1400px;
}

.product__link-custom .product-content p {
    font-size: 14px;
    color: #808080;
}

.woocommerce ul.products li.product .product__link-custom .product-content span.price {
    display: flex;
    flex-flow: row-reverse;
    justify-content: start;
    font-size: 20px;
    color: #FF9831;
    font-weight: bold;
    align-items: baseline;
    gap: 10px;
}

.woocommerce ul.products li.product .product__link-custom .product-content span.price ins {
    text-decoration: none;
}

.woocommerce ul.products li.product .product-content .price del {
    font-size: 14px;
    color: #808080;
    font-weight: normal;
}

.woocommerce-page .woocommerce-checkout {
    max-width: 600px;
    margin: auto;
    width: 100%;
    --wc-form-border-color: #cccccc;
    margin-top: 70px;
}

body .woocommerce .col2-set .col-1, body .woocommerce-page .col2-set .col-1 {
    width: 100%;
}

.woocommerce-checkout h3 {
    font-family: 'Futura Md BT';
    font-size: 24px;
    color: #000;
}

body .woocommerce table.shop_table thead th {
    font-weight: 400;
    text-transform: uppercase;
}

.woocommerce-checkout-review-order-table thead {
    background-color: #000;
    color: #fff;
    font-family: 'Futura Md BT';
}

body .woocommerce table.shop_table thead th {
    padding: 15px 25px;
}

body .woocommerce table.shop_table tbody td,
body .woocommerce table.shop_table tfoot th,
body .woocommerce table.shop_table tfoot td {
    padding: 9px 25px;
    border-top: none;
    color: #808080;
}



body .woocommerce table.shop_table tfoot td {
    font-weight: 400;
}

body .woocommerce table.shop_table tfoot .order-total td {
    color: #000;
}


body .woocommerce table.shop_table {
    border-color: #ccc;
}

body .woocommerce form .form-row label {
    font-weight: 500;
    color: #808080;
}

body #add_payment_method #payment, .woocommerce-cart #payment, body .woocommerce-checkout #payment {
    background-color: transparent;
}

body .woocommerce-checkout #payment input[type="radio"] {
    appearance: none;       
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border: 1px solid #ccc;
    border-radius: 50%;
    outline: none;
    cursor: pointer;
    position: relative;
}

body .woocommerce-checkout #payment input[type="radio"]:checked {
    border-color: #E8494F;
}

body .woocommerce-checkout #payment input[type="radio"]:checked::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 6px;
  background-color: #C61D23;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.woocommerce-checkout #payment label {
    color: #808080;
    font-weight: 500;
    font-family: 'Lato';
    font-size: 16px;
    cursor: pointer;
    /* margin-left: 35px;
    margin-top: -25px; */
}

body #add_payment_method #payment ul.payment_methods, 
body .woocommerce-cart #payment ul.payment_methods, 
body .woocommerce-checkout #payment ul.payment_methods {
    border: none;
}

.woocommerce-privacy-policy-text a:hover,
.woocommerce .woocommerce-terms-and-conditions-checkbox-text a:hover {
    color: #000000;
}

.woocommerce-privacy-policy-text p, 
.woocommerce-privacy-policy-text a,
.woocommerce .woocommerce-terms-and-conditions-checkbox-text a {
    color: #808080;
}

body .woocommerce form .form-row #terms {
    outline: none;
    position: relative;
    width: 0;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
    margin-bottom: 15px;
}

body.woocommerce #payment #place_order, body.woocommerce-page #payment #place_order {
    float: none;
    background-color: #C61D23;
    border-radius: 5px;
    text-transform: uppercase;
    font-weight: 500;
    margin-top: 35px;
}

.woocommerce-privacy-policy-text p {
    margin-bottom: 0;
    display: block;
}

.woocommerce-privacy-policy-text p {
    margin-bottom: 0;
    display: block;
}


/*.woocommerce-checkout input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border: 1px solid #808080;
  border-radius: 4px;       
  display: inline-block;
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

.woocommerce-checkout input[type="checkbox"]:hover {
  border-color: #999;
  box-shadow: 0 0 4px rgba(0,0,0,0.2);
}


.woocommerce-checkout input[type="checkbox"]:checked {
  background-color: #C61D23;
  border-color: #C61D23;
}

.woocommerce-checkout input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 6px;
  width: 4px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
*/

/* Sembunyikan input asli tapi tetap bisa diakses oleh keyboard/screen reader */
.woocommerce-form__input-checkbox {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

/* Style label untuk kasih ruang di kiri */
.woocommerce-form__label-for-checkbox {
  position: relative;
  padding-left: 20px; /* ruang untuk kotak */
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  user-select: none;
  font-size: 14px;
}

/* Kotak dasar */
.woocommerce-terms-and-conditions-checkbox-text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 16px;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border: 1px solid #808080;
  border-radius: 4px; 
  background: #fff;
  transition: all 0.2s ease-in-out;
  box-sizing: border-box;
}

/* Hover efek */
.woocommerce-form__label-for-checkbox:hover .woocommerce-terms-and-conditions-checkbox-text::before {
  border-color: #999;
  box-shadow: 0 0 4px rgba(0,0,0,0.2);
}

/* Kotak saat checked (merah) */
.woocommerce-form__input-checkbox:checked + .woocommerce-terms-and-conditions-checkbox-text::before {
  background-color: #C61D23;
  border-color: #C61D23;
}

/* Tanda centang putih */
.woocommerce-form__input-checkbox:checked + .woocommerce-terms-and-conditions-checkbox-text::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 15px;
  transform: translateY(-50%) rotate(45deg);
  width: 4px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
}

.woocommerce form .form-row a,
.woocommerce form .form-row a:hover {
    color: #C61D23;
}

.woocommerce form .form-row a:hover {
    text-decoration: underline;
}

.woocommerce-terms-and-conditions-wrapper p.form-row {
    padding: 0;
}

.page-template-page-thankyou-order .content img {
    min-height: 67px;
    height: 67px;
    object-fit: contain;
}

.page-template-page-thankyou-order a.btn-usp {
    max-width: 165px;
    margin: auto;
    background-color: #C61D23;
    color: #ffffff;
}

.page-template-page-thankyou-order a.btn-usp:hover {
    background-color: #ffffff ;
    color: #C61D23;
}

.woocommerce-message a.button.wc-forward {
    display: none;
}

.woocommerce-checkout-review-order-table strong.product-quantity {
    color: #000;
}

.logged-in.admin-bar .header {
    top: 32px;
}

.lang-menu-mobile .country-selector.weglot-dropdown .wgcurrent span {
    color: #ffffff;
}

.post-password-form input[type="submit"] {
    background-color: #C61D23;
    border-radius: 5px;
    text-transform: uppercase;
    font-weight: 500;
    margin-top: 35px;
    color: #ffffff;
    border: none;
    width: 100px;
}

.post-password-form {
    max-width: 600px;
    margin: auto;
}

.woocommerce-message{
    border-bottom: none;
    border-right: none;
    border-left: none;
    outline: none;
}

@media all and (min-width: 1600px)  { 
	.woocommerce ul.products li.product, .woocommerce-page .woocommerce.columns-3 ul.products li.product {
	    margin-right: 30px;
	    height: 100%;
	    width: calc((100% - 60px) / 3);
	}

	.woocommerce-page .woocommerce.columns-3 ul.products li.product:nth-child(3n) {
	    margin-right: 0;
	    margin-bottom: 30px;
	}

    .woocommerce-page h1.title_page,
    .page-template-page-check-voucher h1 {
        padding-bottom: 100px;
    }
    .woocommerce .content>h1, 
    .woocommerce-page h1, 
    .page-template-page-thankyou-order h1, 
    .page-template-page-check-voucher h1 {
        font-size: 45px;
    }
}

@media all and (max-width:1599px) and (min-width: 901px) { 
	.woocommerce ul.products li.product, .woocommerce-page .woocommerce.columns-3 ul.products li.product {
	    margin-right: 30px;
	    height: 100%;
	    width: calc((100% - 60px) / 2);
	}

	.woocommerce-page .woocommerce.columns-3 ul.products li.product:nth-child(2n) {
	    margin-right: 0;
	    margin-bottom: 30px;
	}

    .woocommerce-page h1.title_page,
    .page-template-page-check-voucher h1 {
        padding-bottom: 80px;
    }
    .woocommerce .content>h1, 
    .woocommerce-page h1, 
    .page-template-page-thankyou-order h1, 
    .page-template-page-check-voucher h1 {
        font-size: 40px;
    }
}

@media all and (max-width: 900px)  { 
	.woocommerce-page.columns-3 ul.products li.product, 
	.woocommerce.columns-3 ul.products li.product {
		width: 100%;
		margin-right: 0;
	}

    .woocommerce-page h1.title_page,
    .page-template-page-check-voucher h1 {
        padding-bottom: 50px;
    }

    .woocommerce .content>h1, .woocommerce-page h1 {
        padding-top: 50px;
    }

    .woocommerce .content>h1, 
    .woocommerce-page h1, 
    .page-template-page-thankyou-order h1, 
    .page-template-page-check-voucher h1 {
        font-size: 35px;
    }
}

@media all and (max-width: 600px){
    body .woocommerce form .form-row-first, 
    body .woocommerce form .form-row-last, 
    body.woocommerce-page form .form-row-first, 
    body.woocommerce-page form .form-row-last {
        width: 100%;
    }
}

/* Keep payment method as column to have payment_box below */
li.wc_payment_method {
    display: flex;
    flex-direction: column; /* payment_box stays below */
}

/* Make radio + label a single line */
li.wc_payment_method > label,
li.wc_payment_method > input {
    display: inline-flex;       /* keep them in one row */
    align-items: center;        /* vertically center */
}

/* Add spacing between radio and label text */
li.wc_payment_method > label {
    margin-left: 0.5em;
}

/* Keep logo styling */
li.wc_payment_method label img {
    min-height: auto !important;
    margin-left: 0.3em;
    max-height: 28px;
    max-width: 65px;
    object-fit: contain !important;
}

li.wc_payment_method label {
    margin-top: -25px;
}

label[for*="payment_method_xendit_"] {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-end;
}

.woocommerce-checkout .woocommerce-message {
    display: none !important;
}