@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&family=Gentium+Plus:ital,wght@0,400;0,700;1,400&display=swap');

:root {
  --so-bg: #1c181a;
  --so-bg-2: #261f22;
  --so-card: #2c2427;
  --so-line: rgba(243, 234, 215, 0.16);
  --so-cream: #f3ead7;
  --so-cream-dim: #cfc4ae;
  --so-gold: #c4a46a;
  --so-gold-2: #e2c48a;
  --so-ember: #a33b2b;
}

body.primary-bg-color {
  background: var(--so-bg) !important;
  color: var(--so-cream);
  font-family: "Gentium Plus", Georgia, serif;
}

body.primary-bg-color a { color: var(--so-gold-2); }
body.primary-bg-color a:hover { color: var(--so-cream); }

#header.header {
  background: #141112;
  border-bottom: 1px solid var(--so-line);
  box-shadow: none;
}
#header .navbar { background: transparent !important; }
#header .navbar-brand,
#header .nav-link,
#header .btn,
#header .topbar,
#header .topbar .btn,
#header .input-group-text {
  color: var(--so-cream) !important;
}
#header .navbar-brand {
  font-family: "Cormorant Garamond", Georgia, serif;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 1.35rem;
}
#header .main-navbar-wrapper { background: #141112 !important; border-top: 1px solid var(--so-line); }
#header .navbar-nav .nav-link { color: var(--so-cream-dim) !important; letter-spacing: 0.04em; }
#header .navbar-nav .nav-link:hover,
#header .navbar-nav .nav-link.active { color: var(--so-gold-2) !important; }
#header .logo-img { max-height: 46px; }
#header .topbar { background: #100e0f; border-bottom: 1px solid var(--so-line); }
#header .search .form-control,
#header .form-control {
  background: #2a2326;
  border-color: var(--so-line);
  color: var(--so-cream);
}

.master-breadcrumb { background: #171315; border-bottom: 1px solid var(--so-line); }
.master-breadcrumb .breadcrumb { background: transparent; }
.master-breadcrumb a, .master-breadcrumb .breadcrumb-item, .master-breadcrumb .breadcrumb-item.active {
  color: var(--so-cream-dim) !important;
}

#main-body { background: transparent; color: var(--so-cream); }
.primary-content, .card, .panel, .list-group-item {
  background: var(--so-card);
  color: var(--so-cream);
  border-color: var(--so-line);
}
.card-header, .panel-heading { background: #231c1f; border-color: var(--so-line); color: var(--so-cream); }
.table { color: var(--so-cream); }
.table td, .table th { border-color: var(--so-line); }
.form-control, .custom-select {
  background: #1a1517;
  border-color: var(--so-line);
  color: var(--so-cream);
}
.btn-primary, .btn-success {
  background: var(--so-gold) !important;
  border-color: var(--so-gold) !important;
  color: #1c181a !important;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.btn-primary:hover, .btn-success:hover { background: var(--so-gold-2) !important; }
.btn-outline-primary, .btn-default {
  border-color: var(--so-gold);
  color: var(--so-gold-2);
  background: transparent;
}

#footer.footer,
#footer .nav,
#footer .copyright,
footer .copyright,
.so-footer-empty {
  display: none !important;
}
body.so-is-login #header,
body.so-is-login .master-breadcrumb,
body.so-is-login .sidebar,
body.so-is-login .cart-btn,
body.so-is-login a[href*="3w.steakout.cl"] {
  display: none !important;
}
body.so-is-login #main-body { padding-top: 1.5rem; }
#header .navbar-nav .dropdown-menu {
  background: #221c1e;
  border: 1px solid var(--so-line);
}
#header .navbar-nav .dropdown-item { color: var(--so-cream); }
#header .navbar-nav .dropdown-item:hover { background: #2c2427; color: var(--so-gold-2); }

.table,
.table td,
.table th,
.dataTables_wrapper,
.dataTables_info,
.dataTables_length,
.dataTables_filter,
.table-list,
#tableInvoicesList,
#tableInvoicesList td,
#tableInvoicesList th {
  color: var(--so-cream) !important;
  border-color: var(--so-line) !important;
}
.table thead th,
#tableInvoicesList thead th {
  background: #1a1517 !important;
  color: var(--so-gold-2) !important;
}
.table-striped tbody tr:nth-of-type(odd),
#tableInvoicesList tbody tr.odd { background: #241e21 !important; }
.table-striped tbody tr:nth-of-type(even),
#tableInvoicesList tbody tr.even,
#tableInvoicesList tbody tr { background: #1e191b !important; }
#tableInvoicesList tbody tr:hover td { background: #32282c !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button { color: var(--so-cream) !important; }
.dataTables_wrapper input,
.dataTables_wrapper select {
  background: #1a1517 !important;
  color: var(--so-cream) !important;
  border: 1px solid var(--so-line) !important;
}
.label, .badge, .status {
  color: #1c181a !important;
  font-weight: 700;
}
.status-unpaid, .label-danger, .invoice-status-unpaid { background: #c45a4a !important; color: #fff !important; }
.status-paid, .label-success, .invoice-status-paid { background: #6f8f62 !important; color: #fff !important; }
.status-cancelled, .label-default { background: #6d645f !important; color: #fff !important; }
.status-refunded, .label-info { background: #6d7f92 !important; color: #fff !important; }
.status-collections, .label-warning { background: #c4a46a !important; color: #1c181a !important; }

.invoice-container,
#invoice,
.panel-default,
.invoice-header,
.invoice-summary {
  background: #221c1e !important;
  color: var(--so-cream) !important;
  border-color: var(--so-line) !important;
}
.invoice-container .small-text,
.invoice-header h2,
.invoice-header h3,
.invoice-col,
.invoice-col strong,
#invoice .panel-title,
.total-row td {
  color: var(--so-cream) !important;
}
a .label, a .badge { text-decoration: none; }

/* Portada tipo 3w */
.so-home { color: var(--so-cream); }
.so-hero {
  min-height: 78vh;
  display: flex;
  align-items: flex-end;
  padding: 8rem 0 4.5rem;
  background:
    linear-gradient(180deg, rgba(20,17,18,0.25) 0%, rgba(28,24,26,0.72) 55%, #1c181a 100%),
    url('https://images.unsplash.com/photo-1558030006-450675393462?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat;
}
.so-kicker {
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--so-gold-2);
  font-size: 0.78rem;
  margin-bottom: 0.8rem;
}
.so-hero h1, .so-section h2, .so-plan h3 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 600;
  color: var(--so-cream);
}
.so-hero h1 { font-size: clamp(2.6rem, 6vw, 5.2rem); line-height: 0.95; max-width: 14ch; }
.so-hero p.lead { max-width: 38rem; color: var(--so-cream-dim); font-size: 1.25rem; }
.so-btn {
  display: inline-block;
  border: 1px solid var(--so-gold);
  color: #1c181a !important;
  background: var(--so-gold);
  padding: 0.85rem 1.4rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.78rem;
  text-decoration: none !important;
  margin: 0.35rem 0.45rem 0.35rem 0;
}
.so-btn.ghost { background: transparent; color: var(--so-cream) !important; }
.so-btn:hover { background: var(--so-gold-2); color: #1c181a !important; }

.so-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--so-line); border-top: 1px solid var(--so-line); border-bottom: 1px solid var(--so-line); }
.so-tile { background: #221c1e; padding: 1.6rem 1.3rem; min-height: 150px; }
.so-tile span { display: block; color: var(--so-gold); letter-spacing: 0.16em; text-transform: uppercase; font-size: 0.72rem; margin-bottom: 0.45rem; }
.so-tile strong { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.55rem; font-weight: 600; color: var(--so-cream); }
.so-tile p { margin: 0.35rem 0 0; color: var(--so-cream-dim); }

.so-section { padding: 4.5rem 0; }
.so-section.alt { background: #171315; }
.so-section h2 { font-size: clamp(2rem, 4vw, 3.3rem); margin-bottom: 0.6rem; }
.so-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.so-plan { border: 1px solid var(--so-line); padding: 1.6rem; background: #221c1e; }
.so-plan.black { border-color: var(--so-gold); background: linear-gradient(180deg, #2a221c, #1c181a); }
.so-plan h3 { font-size: 2.2rem; letter-spacing: 0.08em; }
.so-plan ul { padding-left: 1.1rem; color: var(--so-cream-dim); }
.so-plan li { margin: 0.45rem 0; }
.so-note { color: var(--so-cream-dim); font-size: 0.92rem; }

.so-footer-home { background: #141112; border-top: 1px solid var(--so-line); padding: 2.5rem 0 1.4rem; color: var(--so-cream-dim); }
.so-footer-home h4 { color: var(--so-cream); font-family: "Cormorant Garamond", Georgia, serif; letter-spacing: 0.08em; }
.so-footer-home a { color: var(--so-cream); }

body.so-is-home .master-breadcrumb,
body.so-is-home #main-body > .container,
body.so-is-home #main-body > .container-fluid { max-width: none; }
body.so-is-home #main-body { padding: 0; }
body.so-is-home .primary-content { background: transparent; border: 0; padding: 0; }

@media (max-width: 900px) {
  .so-tiles, .so-plans { grid-template-columns: 1fr 1fr; }
  .so-hero { min-height: 70vh; padding-top: 6rem; }
}
@media (max-width: 640px) {
  .so-tiles, .so-plans { grid-template-columns: 1fr; }
}

.card,
.card-body,
.card-header,
.card-footer,
.list-group-item,
.sidebar .card,
.sidebar .list-group-item,
.panel,
.panel-body,
.panel-heading,
.panel-footer,
.tile,
.tiles .tile,
.bg-white,
.bg-light,
.primary-content,
.modal-content,
.dropdown-menu,
table,
.table,
.invoice-container,
#invoice,
.well,
.sidebar {
  background-color: #1b1618 !important;
  color: #f3ead7 !important;
  border-color: rgba(243, 234, 215, 0.18) !important;
}
.card-header,
.panel-heading,
.tile,
.list-group-item {
  background-color: #241c1f !important;
}
.tile .stat,
.tile .title,
.card-title,
h1, h2, h3, h4, h5,
.list-group-item,
.list-group-item-action,
.sidebar a {
  color: #f3ead7 !important;
}
.list-group-item-action:hover,
.dropdown-item:hover {
  background: #32282c !important;
  color: #e2c48a !important;
}
#header,
#header .navbar,
#header .main-navbar-wrapper,
#header .topbar,
#header .dropdown-menu {
  background: #120f10 !important;
}
#header .nav-link,
#header .navbar-brand,
#header .dropdown-item,
#header .btn,
.dropdown-item {
  color: #f3ead7 !important;
}
.text-dark, .text-body, .text-muted { color: #d9ccb6 !important; }
.sidebar [menuitemname="Contacts"],
.sidebar [menuitemname="Client Contacts"],
.sidebar [menuitemname="Contactos"],
.sidebar [menuitemname="Billing"],
.sidebar [menuitemname="Facturación"],
.sidebar [menuitemname="Support"],
.sidebar [menuitemname="Soporte"],
.sidebar [menuitemname="Actions"],
.sidebar [menuitemname="Acciones"] { display: none !important; }

.bg-white,
.product-details-tab-container,
.tab-content,
.tab-pane,
.dataTables_wrapper,
.dataTables_scroll,
.dataTables_scrollBody,
table.dataTable,
table.dataTable tbody td,
table.dataTable tbody th,
table.dataTable thead th,
#tableServicesList,
#tableServicesList td,
#tableServicesList th,
#tableInvoicesList,
#tableInvoicesList td,
#tableInvoicesList th,
.table-list,
.listtable,
.product-details,
.product-status,
.product-status-text {
  background: #1b1618 !important;
  color: #f3ead7 !important;
  border-color: rgba(243, 234, 215, 0.18) !important;
}
table.dataTable tbody tr,
#tableServicesList tbody tr,
#tableInvoicesList tbody tr { background: #1b1618 !important; }
table.dataTable tbody tr:hover td,
#tableServicesList tbody tr:hover td { background: #32282c !important; }
table.dataTable thead th,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_paginate { color: #f3ead7 !important; }
.product-details h3,
.product-details h4,
.product-status h3,
.product-status h4,
#additionalinfo,
#additionalinfo strong,
#additionalinfo .row { color: #f3ead7 !important; }

#orderSummary,
.order-summary,
.summary-container,
.cart-sidebar,
.view-cart-tabs,
.view-cart-items-header,
.view-cart-items,
.view-cart-total,
.summary-totals,
.total-due-today,
.subtotal,
#scrollingPanelContainer,
.panel-order-summary,
.secondary-cart-sidebar {
  background: #1b1618 !important;
  color: #f3ead7 !important;
  border-color: rgba(243, 234, 215, 0.2) !important;
}
#orderSummary .product-name,
#orderSummary .product-group,
.order-summary .clearfix,
.order-summary span,
.summary-container span,
.summary-container div,
.total-due-today span,
.view-cart-items .item-title,
.view-cart-items .item-price,
.cart-body,
.cart-body td,
.cart-body th {
  color: #f3ead7 !important;
}
.total-due-today {
  background: #2a221c !important;
  border-top: 1px solid #c4a46a !important;
}
.order-summary .btn-success,
#btnCheckout,
.btn-checkout {
  background: #c4a46a !important;
  border-color: #c4a46a !important;
  color: #1c181a !important;
}

#order-standard_cart .header-lined {
  border-bottom: 2px solid #c4a46a !important;
}
#order-standard_cart .header-lined h1,
#order-standard_cart .header-lined h2 { color: #f3ead7 !important; }
#order-standard_cart .view-cart-items-header,
#order-standard_cart .panel-primary > .panel-heading,
#order-standard_cart .panel-primary,
#order-standard_cart .card-header,
#order-standard_cart .sub-heading span,
#order-standard_cart .primary-bg-color,
#order-standard_cart .list-group-item.active,
#order-standard_cart .list-group-item.active:hover,
#order-standard_cart .panel-addon-selected,
#order-standard_cart .domain-promo-box,
#order-standard_cart .promo-banner {
  background: #3a2c22 !important;
  background-color: #3a2c22 !important;
  border-color: #c4a46a !important;
  color: #f3ead7 !important;
}
#order-standard_cart .view-cart-items-header,
#order-standard_cart .sub-heading span,
#order-standard_cart .panel-heading,
#order-standard_cart .list-group-item.active,
#order-standard_cart .list-group-item.active a {
  color: #e2c48a !important;
}
#order-standard_cart .panel,
#order-standard_cart .panel-default,
#order-standard_cart .panel-addon,
#order-standard_cart .view-cart-items .item,
#order-standard_cart .cart-sidebar .list-group-item,
#order-standard_cart .alert-info {
  background: #241c1f !important;
  border-color: rgba(196, 164, 106, 0.45) !important;
  color: #f3ead7 !important;
}
#order-standard_cart a,
#order-standard_cart .btn-link { color: #e2c48a !important; }
#order-standard_cart .btn-primary,
#order-standard_cart .btn-success,
#order-standard_cart .btn-info {
  background: #c4a46a !important;
  border-color: #a8864c !important;
  color: #1c181a !important;
}
