/*
Theme Name: SOHOCG
Text Domain: sohocg
Theme URI: http://sohocg.net
Author: SOHOCG
Version: 2026
*/
body {
  font-size: 14px;
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  word-wrap: break-word;
  background-color: #000;
  line-height: 1.5;
  color: #f5f5f5;
}
h1 {font-weight: bold !important; font-size: 18px !important; letter-spacing: 0px !important; color: #FFC450 !important;}
h2, h3, h4, h5, h6 {font-weight: 600; font-size: 16px; letter-spacing: 0px; color: #FFC450 !important;}
.entry-title, .entry-title a {color: #FFC450;font-weight: bold;}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {color: #cccccc !important; font-size: 1.25em;}
.tagged_as a {color: #FFC450 !important; text-transform: capitalize; text-decoration: underline;}
.posted_in a {color: #FFC450 !important; text-transform: capitalize; text-decoration: underline;}

a, a:hover, a:focus, a:active {} table {width: 100%; margin-bottom: 20px; border: 1px solid #dddddd;}
th {}
table > thead > tr > th, table > tbody > tr > th, table > tfoot > tr > th, table > thead > tr > td, table > tbody > tr > td, table > tfoot > tr > td {padding: 8px; line-height: 1.42857143; vertical-align: top;}
table > thead > tr > th, table > tbody > tr > th, table > tfoot > tr > th, table > thead > tr > td, table > tbody > tr > td, table > tfoot > tr > td {border: 1px solid #dddddd;}

/*Menus*/
.main-navigation {clear:both; display:block ;float:left; width:100%; font-weight:600; padding:0 0px;}
.main-navigation ul {list-style:none; margin:0; padding-left:0;}
.main-navigation li {float:left; position:relative; padding:8px; text-transform:uppercase;-webkit-transition:all 0.3s; transition:all 0.3s; margin:0px 0 0px; font-weight:600; border-right:1px solid #fff !important;}
.main-navigation a {display:block; text-decoration:none; color:#fff; position:relative; z-index:11;}
.main-navigation ul ul {box-shadow:0 3px 3px rgba(0, 0, 0, 0.2); float:left; position:absolute; top:100%; left:-999em; z-index:99999; background-color:#272E37;}
.main-navigation ul ul ul {left:-999em;top:0;}
.main-navigation ul ul a {width: 200px; color: #fff;}
.main-navigation ul ul li {text-transform: none; box-shadow: none; font-weight: 300; border-bottom: 1px solid #fff;}
.main-navigation ul ul li:last-of-type {border: 0;}
.main-navigation ul ul li:hover {box-shadow: none;}
.main-navigation li:hover > a,
.main-navigation li:hover::before,
.main-navigation ul ul li::before {color: #fff;}
.main-navigation ul li:hover > ul {left: 0;}
.main-navigation ul ul li:hover > ul {left: 100%;}
.main-navigation li::before {color: #fff; float: left; margin-right: 5px; -webkit-transition: color 0.3s; transition: color 0.3s;}
.main-navigation a {float: left;}
.main-navigation ul ul a {float: none;}
.main-navigation .menu-item.custom-cart-icon svg {width: 18px; height: 18px; vertical-align: middle; margin: 0; padding: 0; flex-shrink: 0;}
.main-navigation .menu-item.custom-cart-icon .woocommerce-Price-amount {font-size: 15px !important; font-weight: 800; line-height: 1; margin: 0; margin-left: 6px; padding: 0; vertical-align: middle;}

.menu-fallback {font-size: 20px; line-height: 50px;}

#site-navigation {background-color: #000; line-height: 18px;border: none;}
/* Apply grey hover to all top-level menu items and their submenus */
.main-navigation ul > li:hover, .main-navigation ul > li .sub-menu {background-color: #555;}
/*Alignments*/
.alignleft {display: inline; float: left; margin-right: 1.5em;}
.alignright {display: inline; float: right; margin-left: 1.5em;}
.aligncenter {clear: both; display: block; margin: 0 auto; margin-bottom: 30px; margin-top: 60px;}
/*Content*/
.sticky{display:block;}
.byline,.updated:not(.published){display:none;}
.single .byline,.group-blog .byline{display:inline;}
.page-content,.entry-content,.entry-summary{margin:1.5em 0 0;}
.page-links{clear:both;margin:0 0 1.5em;}
.page-title{margin:0;}
h1.page-title{margin:0;}
.taxonomy-description{margin-top:15px;}
.entry-title,.entry-title a{}
.entry-title{margin:0 0 15px;font-weight:400;}
.posted-on .fa{margin-right:3px;}
.entry-meta,.entry-footer{font-size:14px;}
.entry-meta span,.entry-footer span{margin-right:15px;}
.entry-meta .author{margin:0;}
.entry-meta,.entry-meta a,.entry-footer,.entry-footer a{color:#989FA8;}
.entry-thumb{padding-left:0;}
.post-wrapper{padding-right:0;}
.single-thumb{margin-bottom:30px;}
.entry-attachment{margin-bottom:10px;}
.image-navigation{margin:30px 0 0;}
.single-attachment .entry-meta .author{margin-right:0;}
/* Make sure embeds and iframes fit their containers */
embed, iframe, object {max-width: 100%;}
img {max-width: 100%; height: auto;}

/*Structure*/
.top-bar {background-color: #384351; padding: 15px 0;}
.site-logo.show-title {float: left;margin-right: 15px;}
.site-title {font-weight: 700;margin: 0 0 15px;font-size: 52px;}
.site-title a {color: #fff;text-decoration: none;}
.site-description {margin: 0;font-size: 20px;color: #ABADB2;}
.site-logo {border: none !important; height: 30px !important; width: 140px !important; max-width: 140px !important; margin-top: 7px; margin-bottom: 5px;}
.site-branding {max-width: 140px; padding: 0px 0px !important;}
.site-header {padding-top: 0px !important; padding-bottom: 5px !important;}
.fullwidth {width: 100% !important;}

.search-toggle {
  display: inline-block;
  float: left;
  font-size: 16px;
  color: #fff;
  padding: 10px 8px;
  line-height: 0;
  cursor: pointer;
}

.search-toggle svg {
  display: block;
  width: 16px;
  height: 16px;
  stroke: currentColor;
}

.site-footer {padding: 5px 0; margin-bottom: 50px; text-align: left !important;}

.woocommerce-loop-product__title {font-size: 12px !important; letter-spacing: 0.5px;}
.woocommerce-products-header__title.page-title {font-size: 16px !important; letter-spacing: 0.5px; margin-bottom: 8px !important; text-transform: capitalize !important;}
.woocommerce div.product .product_title {margin-top: 16px !important;}
.woocommerce-Price-amount.amount {font-size: 22px; font-weight: bold !important;} 
.related.products {clear:both}
.woocommerce .woocommerce-ordering select {vertical-align: top; display: none;}

.page-content, .entry-content, .entry-summary {margin: 0em 0 0; margin-top: 0em; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;}
.page-id-1520 .zopim {display: none;}

.page-id-1520 .entry-title {font-weight: 700; font-size: 26px !important;text-shadow: rgba(0,0,0,.01) 0 0 1px;}
.page-id-11248 .entry-title {font-weight: 700; font-size: 18px !important;text-shadow: rgba(0,0,0,.01) 0 0 1px;}
.page-id-11248 .about-title {color: #ccc; font-weight: 900; font-size: 28px !important;text-shadow: rgba(0,0,0,.01) 0 0 1px;}
.page-header {margin: 0px 0 0px; border-bottom: none; text-align:center;}
.hentry {margin: 0px; padding: 10px; border-left: none; border-right: none; border-bottom: none;}

.woocommerce table.cart img, .woocommerce #content table.cart img, .woocommerce-page table.cart img, .woocommerce-page #content table.cart img {width: auto !important;}
.cart-subtotal {display:none !important;}
.woocommerce td.actions {display:none !important; border: none;}
.woocommerce div.product p.stock {display: none;}
.woocommerce div.product .stock {display: none;}

.fscf_submit1 .element {color: #999;}
#content input.button[value="Update Cart"] {display:none !important; border: none;}

.page-content, .entry-content, .entry-summary {
    margin: 0em 0 0;
    margin-top: 0em;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    float: left;
}

.woocommerce-cart .cart-collaterals .cart_totals table td, .woocommerce-cart .cart-collaterals .cart_totals table th {
    vertical-align: top;
    padding: 6px 10px;
    padding-top: 6px;
    padding-right: 10px;
    padding-bottom: 6px;
    padding-left: 10px;
    line-height: 2em;
    border-right-style: solid;
    border-right-width: 1px;
    border-right: 1px solid #dddddd;
	border-left-style: solid;
	border-left-width: 1px;
    border-left: 1px solid #dddddd;
}

.woocommerce a.remove  {
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-align: center !important;
  line-height: 1 !important;
  font-size: 2em !important;
  width: 1em !important;
  height: 1em !important;
  border-radius: 100%;
  color: var(--wc-red) !important;
  text-decoration: none;
  font-weight: 700;
  border: 0;
}

.buy-button {display:none !important;}
.woocommerce ul.products li.product .price {display:none !important;}
.page-header {margin: 0; padding: 0px; text-align: left;}

#icons {display:none !important;}
.icons {display:none !important;}

/* Base styles for WooCommerce alt buttons */
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.button.wc-backward,
.button,
.pirate-forms-submit-button {
  background-color: #FFC450 !important;
  color: #000 !important;
  border: none;
  padding: 14px 44px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-transform: capitalize !important;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Hover and focus states */
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:focus,
.woocommerce button.button.alt:focus,
.woocommerce input.button.alt:focus,
.woocommerce #respond input#submit.alt:focus {
  background-color: #e6b040 !important; /* Slightly darker gold */
  color: #000 !important;
  outline: none;
}

/* Disabled state */
.woocommerce button.button.alt:disabled,
.woocommerce input.button.alt:disabled {
  background-color: #ddd !important;
  color: #888 !important;
  cursor: not-allowed;
  opacity: 0.6;
}

.col-xs-12 { width: 100% !important; !important; padding: 0px 0px !important; }
.col-sm-6 { padding-left: 0px !important; }
label { display: inline-block; max-width: 100%; margin-bottom: 5px; font-size: 20px !important; font-weight: 500 !important; }
.woocommerce form .form-row label { line-height: 1 !important; }

a.showcoupon { color:blue !important; }
.woocommerce .woocommerce-message {display:none !important;}
.woocommerce-error, .woocommerce-info, .woocommerce-message {
	font-size: 20px;
    padding: 1em 2em 1em 3.5em!important;
    margin: 0 0 2em!important;
    position: relative;
    background-color: #333;
    color: #fff;
    border-top: 3px solid #a46497;
    list-style: none!important;
    width: auto;
    word-wrap: break-word;
}

.woocommerce div.product p.price del, .woocommerce div.product span.price del {color: #FFC450 !important; font-size: 20px !important;}
.woocommerce span.onsale { background-color: #000 !important; color: #fff !important;}

.social-navigation li:hover > a::before, a, a:hover, a:focus, a:active {color: #fff !important; text-decoration: none;}
a {color: #fff;  text-decoration: none;}

.link-style {
  color: #FFC450 !important;
  text-decoration-line: underline !important;
}
.link-style:hover {
  color: #ffffff !important;
  text-decoration-line: underline !important;
}

.product_meta {
	font-size: 14px !important;
	margin-bottom: 1em !important;
	margin-top: 1em !important;
}

.woocommerce #content table.cart img, .woocommerce table.cart img, .woocommerce-page #content table.cart img, .woocommerce-page table.cart img {height: 77px !important;}
.product-quantity {display: none !important;}
.product-subtotal {display: none !important;}
.mobile-nav {display: none;}

.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
    float: left;
    margin: 0 0.4% 0.4em 0 !important;
    padding: 0;
    position: relative;
    margin-left: 0;
}

.woocommerce form .form-row.woocommerce-invalid label { color: #fff !important; }
.bubble-container .agentDetailsText .agentDetailsName { color: #000 !important; }
.footer-link { margin-top: 10px; margin-bottom: 10px; text-align: left !important; }

.woocommerce table.shop_table {
  border: 0px solid rgba(255,255,0255,1) !important;
  margin: 0 -1px 24px 0;
  margin-right: -1px;
  margin-left: 0px;
  text-align: left;
  width: 100%;
  border-collapse: separate;
  border-radius: 5px;
}
.woocommerce form .form-row .required {color: #FFC450 !important;}

/* Make sure the cart form stacks elements vertically */
.woocommerce div.product form.cart {
  display: flex !important;
  flex-direction: column-reverse !important; /* Reverse order: button first, then quantity */
  align-items: flex-start !important;
}

/* Style the quantity box */
.woocommerce div.product form.cart div.quantity {
  margin-top: 12px !important;
}

/* Style the quantity input */
.woocommerce div.product form.cart div.quantity input.qty {
  width: 52px !important;
  height: 28px !important;
  font-size: 14px !important;
  color: #000 !important;
  background-color: #fff !important;
  border: 1px solid #ccc !important;
  border-radius: 4px;
}

/* Style the "Buy it now" button */
.woocommerce div.product form.cart button.single_add_to_cart_button {
  margin-bottom: 0 !important;
}

.woocommerce div.product form.cart,
.woocommerce div.product p.cart {
  margin-bottom: 1.5em !important;
}

/* Payment method list */
ul.payment_methods {
  padding: 0 !important;
  border: none !important;
  list-style: none !important;
  text-align: left !important;
  margin-top: 20px;
}

/* Woo Payment box container */
.payment_box {
  padding: 0 !important;
  margin: 0 !important;
  background: #000 !important;
  border: none !important;
}

.payment_box.payment_method_ppcp-gateway {
  font-size: 14px !important;
  color: #fff !important;
  margin-top: 20px;
}

.payment-icon {
  width: 60px !important; 
  height: 60px !important; 
  margin-right: 9px !important; 
  vertical-align: middle;
}

/* Remove decorative arrow */
div.payment_box::before {
  content: none !important;
  display: none !important;
}

/* Keep icon size and align it properly */
#payment ul.payment_methods [class*=payment_method_ppcp-] label img {
  max-height: 60px !important;
  width: 60px !important;
  display: inline-block;
  vertical-align: middle;
  margin-right: 16px !important;
  margin-top: 20px;
  margin-bottom: 20px;
}

/* Align radio button, icon, and text in one horizontal line */
#payment ul.payment_methods [class*=payment_method_ppcp-] label {
  display: inline-flex !important;
  align-items: center;
  font-size: 20px !important;
  white-space: nowrap;
  text-align: left;
  margin-right: 15px !important;
  vertical-align: middle;
}

#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
  background: none !important;
  margin: 10px 0; padding: 0;
}

#add_payment_method #payment ul.payment_methods li, .woocommerce-cart #payment ul.payment_methods li, .woocommerce-checkout #payment ul.payment_methods li {
  line-height: 3 !important;
  text-align: left;
  margin: 0;
  font-weight: 400;
  align-items: center;
}

li.payment_method_ppcp label:first-of-type img {
  float: none !important;
  max-height: 29px;
  max-width: 110px;
}

#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {
  font-size: .92em;
  line-height: 1.5;
  color: #fff !important;
}

.wc-ppcp-checkout-container {
  background-color: #ffffff !important;
  padding: 20px; /* Optional: add spacing */
  border-radius: 8px; /* Optional: soften edges */
  margin-top: 20px !important;
}

input[type="search"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  padding: 0.5em 1em;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: white;
  color: black;
  font-size: 24px;
}

.woocommerce-cart .site-main {width: 100%; max-width: 100%; margin: 0 auto;}
.woocommerce-cart .entry-content {width: 100%; max-width: 100%;}
html, body {height: 100%; margin: 0;}
#page {display: flex; flex-direction: column; min-height: 100vh;}
#content {flex: 1;}

/* Style input fields and textareas inside Pirate Forms */
.pirate_forms_wrap input[type="text"],
.pirate_forms_wrap input[type="email"],
.pirate_forms_wrap input[type="url"],
.pirate_forms_wrap input[type="tel"],
.pirate_forms_wrap input[type="number"],
.pirate_forms_wrap input[type="password"],
.pirate_forms_wrap textarea {
  font-family: inherit;
  font-weight: 400;
  letter-spacing: normal;
  padding: 0.5em;
  display: block;
  background-color: var(--wc-form-color-background, #fff);
  border: var(--wc-form-border-width, 1px) solid var(--wc-form-border-color, #ccc);
  border-radius: var(--wc-form-border-radius, 4px);
  color: var(--wc-form-color-text, #000);
  box-sizing: border-box;
  margin-bottom: 1em;
  line-height: 1.5;
  height: auto;
  resize: vertical;
  width: 98% !important;
}
.pirate_forms_wrap .form_field_wrap {float: left !important; width: 100% !important;}
.pirate-forms-submit-button {float: left !important; width: 98% !important;}

/* Optional: Add focus styles for better UX */
.pirate_forms_wrap input[type="text"]:focus,
.pirate_forms_wrap input[type="email"]:focus,
.pirate_forms_wrap input[type="url"]:focus,
.pirate_forms_wrap input[type="tel"]:focus,
.pirate_forms_wrap input[type="number"]:focus,
.pirate_forms_wrap input[type="password"]:focus,
.pirate_forms_wrap textarea:focus {
  outline: none;
  border-color: #0073aa;
  box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.2);
  width: 98% !important;
}

/* Headings and Paragraphs */
h1, h2, h3 {margin: 5px 0; padding: 0;}
p {margin: 5px 0; padding: 0;}

.woocommerce-product-gallery__image {
  border-top: 2px solid black !important;
  border-right: 2px solid black !important;
  border-bottom: none !important;
  border-left: none !important;
}

table {border-collapse: collapse !important;}

.woocommerce table.shop_table_responsive tbody tr:first-child td:first-child, .woocommerce-page table.shop_table_responsive tbody tr:first-child td:first-child {
  border-top: 1px !important;
  border: 1px solid #dddddd !important;
}
#post-7 {max-width: 1000px; width: 100%;}
#post-8 {max-width: 1000px; width: 100%;}
#post-23039 {max-width: 1000px; width: 100%;}
#post-17 {max-width: 650px; width: 100%;}
#post-24 {max-width: 650px; width: 100%;}
#post-54 {max-width: 1000px; width: 100%;}

/* Responsive container widths */
@media (min-width: 1024px) { .container { max-width: 1000px; } }
@media (min-width: 1100px) { .container { max-width: 1070px; } }
@media (min-width: 1200px) { .container { max-width: 1170px; } }
@media (min-width: 1420px) { .container { max-width: 1375px; } }

/* Base container styles */
.container,
.site-content,
.main-wrapper {
  width: 100%;
  max-width: 1420px;
  margin: 0 auto;
  padding: 0 16px;
  box-sizing: border-box;
}

/* Optional: constrain body and main content */
body,
.page-container,
.main-content {
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}

.woocommerce div.product div.images div.thumbnails {padding-top: 2px !important;}
.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) {width: 12% !important; display: inline-block;}
.woocommerce div.product div.images {width: 50% !important; margin-right: 10px !important; float: left !important;}
.woocommerce div.product div.summary {width: 45% !important; float: left !important;}
.woocommerce-product-gallery {opacity: 1 !important;}
.screen-reader-text {position: absolute; left: -9999px;}
.ppcp-messages {display: none !important; visibility: hidden !important;}

/* Mobile layout adjustments */
@media (max-width: 768px) {
  body,
  .container,
  .site,
  .wrapper,
  .main-content {
    padding-left: 3px !important;
    padding-right: 3px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 98% !important;
    box-sizing: border-box;
  }

  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
    margin-bottom: 20px;
  }

  .woocommerce ul.products {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    box-sizing: border-box;
    gap: 0.2em !important; /* Slightly tighter gap between columns */
  }

  .woocommerce ul.products li.product {
    width: calc(50% - 0.2em) !important;
    margin: 0 0 0.3em 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
  }

  .woocommerce ul.products li.product:first-child {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  .woocommerce ul.products li.product a {
    display: block !important;
    text-align: center !important;
  }

  .woocommerce ul.products li.product a img {
    width: 100% !important;
    max-width: 300px !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    display: block !important;
  }
}

/* Product image styling */
.woocommerce ul.products li.product a img {
  width: 100% !important;
  max-width: 300px !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  display: block !important;
}

/* Hide archive header */
.woocommerce-products-header {
  display: none !important;
}

/* Desktop grid layout */
@media (min-width: 800px),
       (min-width: 1024px) {
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    width: 17.95% !important;
  }
}

/* Mobile image centering and sizing */
@media (max-width: 480px) {
  .woocommerce ul.products li.product a img {
    max-width: 300px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* 404 page title size */
h1.page-title-404 {
  font-size: 44px !important;
}

.woocommerce-product-gallery__wrapper {
  transition: all 0.5s cubic-bezier(0.795, -0.035, 0, 1) !important;
  margin: 0 !important;
  padding: 0 !important;
}
element.style {
    opacity: 1 !important;
}
.code-box-footer-compact {
  position: relative;
  width: 100%;
  background: #1e1e1e;
  color: #dcdcdc;
  padding: 5px 5px 2px 5px;  /* small padding, less bottom */
  border-radius: 4px;
  margin: 0;                  /* no margin outside */
  font-family: monospace;
  display: inline-block;
  line-height: 1.2;           /* tight line spacing */
}

.code-box-footer-compact pre {
  margin: 0;                  /* remove default <pre> margin */
  padding: 0;                 /* remove default <pre> padding */
  line-height: 1.2;           /* match parent */
}

.code-box-footer-compact button {
  position: absolute;
  top: 2px;
  right: 2px;
  cursor: pointer;
  background: #4CAF50;
  color: white;
  border: none;
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 12px;
}