
/* ======= FONTS ======= */
@font-face {
  font-family: 'roboto';
  src: url('/fonts/roboto-regular-webfont.woff2') format('woff2'),
       url('/fonts/roboto-regular-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'roboto';
  src: url('/fonts/Roboto-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: 'MyriadPro-Regular';
  src: url('/fonts/MyriadPro-Regular.woff2') format('woff2'),
       url('/fonts/MyriadPro-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'ChairdrobeRounded';
  src: url('/fonts/ChairdrobeRounded-LightItalic.woff2') format('woff2'),
       url('/fonts/ChairdrobeRounded-LightItalic.woff') format('woff');
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: 'ChairdrobeRounded';
  src: url('/fonts/ChairdrobeRounded-BoldItalic.woff2') format('woff2'),
       url('/fonts/ChairdrobeRounded-BoldItalic.woff') format('woff');
  font-weight: bold;
  font-style: italic;
}

/* Font Awesome */
@font-face {
  font-family: 'Font Awesome 5 Brands';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/fa-brands-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/fa-regular-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 900;
  src: url('/fonts/fa-solid-900.woff2') format('woff2');
}
@font-face {
  font-family: 'Font Awesome 5 Solid';
  font-style: normal;
  font-weight: 900;
  src: url('/fonts/fa-solid-900.woff2') format('woff2');
}
@font-face {
  font-family: 'Font Awesome 5 Regular';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/fa-regular-400.woff2') format('woff2');
}
.fab { font-family: 'Font Awesome 5 Brands' !important; font-weight: 400; }
.fas { font-family: 'Font Awesome 5 Free' !important; font-weight: 900; }
.far { font-family: 'Font Awesome 5 Free' !important; font-weight: 400; }

/* Font Awesome icon definitions (missing from stripped FA CSS) */
.fas, .fab, .far {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}
.fa-phone::before { content: "\f095"; }
.fa-envelope::before { content: "\f0e0"; }
.fa-map-marker-alt::before { content: "\f3c5"; }
.fa-arrow-up::before { content: "\f062"; }
.fa-whatsapp::before { content: "\f232"; }
.fa-facebook-f::before { content: "\f39e"; }
.fa-instagram::before { content: "\f16d"; }
.fa-tiktok::before { content: "\e07b"; }
.fa-youtube::before { content: "\f167"; }
.fa-search::before { content: "\f002"; }
.fa-user::before { content: "\f007"; }
.fa-shopping-cart::before { content: "\f07a"; }
.fa-store::before { content: "\f54e"; }
.fa-truck::before { content: "\f0d1"; }
.fa-chevron-down::before { content: "\f078"; }
.fa-chevron-left::before { content: "\f053"; }
.fa-chevron-right::before { content: "\f054"; }
.fa-times::before { content: "\f00d"; }
.fa-plus::before { content: "\f067"; }
.fa-minus::before { content: "\f068"; }
.fa-trash::before { content: "\f1f8"; }
.fa-star::before { content: "\f005"; }

/* Material Icons */
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2') format('woff2');
}
.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
}

/* Site icon font */
@font-face {
  font-family: 'iconos_sitio';
  src: url('/fonts/iconos.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

/* ======= BASE ======= */
body {
  font-family: 'roboto', Arial, Helvetica, sans-serif;
  margin: 0;
  padding: 0;
}
* { box-sizing: border-box; }

/* ======= FORMS (Contacto/Franquicias) ======= */
.contacto_content,
.franquicias_content {
  display: flex;
  gap: 40px;
  padding: 20px 0;
}
.info_contacto, .info_franquicia,
.form_contacto, .form_franquicia {
  flex: 1;
}
.form_grupo {
  margin-bottom: 15px;
}
.form_grupo label {
  display: block;
  font-weight: bold;
  margin-bottom: 5px;
  font-size: 13px;
  color: #333;
}
.form_grupo input,
.form_grupo textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 3px;
  font-size: 14px;
  font-family: 'roboto', Arial, sans-serif;
}
.form_grupo input:focus,
.form_grupo textarea:focus {
  border-color: #01526F;
  outline: none;
}

/* Related products */
.tit_seccion {
  font-size: 18px;
  color: #01526F;
  margin: 25px 0 15px;
  padding-bottom: 10px;
  border-bottom: 2px solid #01526F;
  text-transform: uppercase;
}

/* Owl carousel item */
.owl-item {
  padding: 5px;
}

/* Carousel product card (smaller) */



/* Navigation breadcrumb */
.nav_cont {
  padding: 15px 0;
  font-size: 13px;
  color: #666;
}
.nav_cont a {
  color: #666;
  text-decoration: none;
}
.nav_cont a:hover {
  color: #01526F;
}

/* Responsive */
@media (max-width: 992px) {
  
}
@media (max-width: 768px) {
  
  .contacto_content, .franquicias_content { flex-direction: column; }
  
  .bannersIni .banners_cont { flex-direction: column; }
  .franq_items { flex-direction: column; }
}
@media (max-width: 480px) {

}

/* ======= CART SIDEBAR ======= */
.cart-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9998;
}
.cart-sidebar {
  position: fixed;
  top: 0;
  right: 0;
  width: 380px;
  max-width: 90vw;
  height: 100vh;
  background: white;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  box-shadow: -3px 0 10px rgba(0,0,0,0.2);
}
.cart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  background: #01526F;
  color: white;
}
.cart-header h3 {
  margin: 0;
  font-size: 16px;
}
.cart-close {
  background: none;
  border: none;
  color: white;
  font-size: 24px;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}
.cart-body {
  flex: 1;
  overflow-y: auto;
  padding: 15px;
}
.cart-empty {
  text-align: center;
  color: #999;
  padding: 40px 0;
  font-size: 14px;
}
.cart-item {
  display: flex;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #eee;
  align-items: flex-start;
}
.cart-item-img {
  width: 60px;
  height: 60px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
  border: 1px solid #eee;
  border-radius: 3px;
}
.cart-item-info {
  flex: 1;
  min-width: 0;
}
.cart-item-name {
  font-size: 13px;
  color: #333 !important;
  text-decoration: none;
  display: block;
  margin-bottom: 4px;
  line-height: 1.3;
}
.cart-item-name:hover {
  color: #01526F !important;
}
.cart-item-price {
  font-weight: bold;
  color: #01526F;
  font-size: 15px;
  margin-bottom: 6px;
}
.cart-item-qty {
  display: flex;
  align-items: center;
  gap: 8px;
}
.cart-item-qty button {
  width: 26px;
  height: 26px;
  border: 1px solid #ddd;
  background: #f5f5f5;
  border-radius: 3px;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cart-item-qty button:hover {
  background: #e0e0e0;
}
.cart-item-qty span {
  font-size: 14px;
  min-width: 20px;
  text-align: center;
}
.cart-item-remove {
  background: none;
  border: none;
  color: #999;
  font-size: 20px;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  flex-shrink: 0;
}
.cart-item-remove:hover {
  color: red;
}
.cart-footer {
  padding: 15px 20px;
  border-top: 2px solid #eee;
  background: #f9f9f9;
}
.cart-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  font-size: 16px;
}
.cart-total-price {
  font-size: 22px;
  font-weight: bold;
  color: #01526F;
}
.cart-checkout-btn {
  display: block;
  width: 100%;
  background: #01526F;
  color: white;
  border: none;
  padding: 12px;
  border-radius: 3px;
  font-size: 15px;
  cursor: pointer;
  font-family: 'roboto', Arial, sans-serif;
  transition: background 0.3s;
}
.cart-checkout-btn:hover {
  background: #017a9e;
}



/* ======= MINIMAL OVERRIDES ======= */

/* Product card image - original CSS doesn't set height for background images */
.producto_cont .imagen_cont {
  display: block;
  width: 100%;
  height: 220px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* Product grid flex layout */
.productos_content {
  display: flex;
  flex-wrap: wrap;
}
.productos_content > .producto_cont {
  width: 25%;
  padding: 10px;
  box-sizing: border-box;
}

/* Ver carrito button (solid, after add) */
a.agregar_carro.ver_carrito {
  background-color: #01526f !important;
  color: white !important;
  border-color: #01526f !important;
}

/* Cart badge on header icon */



/* Logo from our local images */
#Hd .cabezal .logo {
  background-image: url(/images/chaman-uruguay-logo.jpg) !important;
}

/* Product detail layout: sidebar + detail side by side */
.gm_ecommerce_pag > .centrar:nth-child(2) {
  display: inline-flex;
  align-items: flex-start;
}
.gm_ecommerce_pag > .centrar:nth-child(2) > .col_filtros {
  width: 20%;
  flex-shrink: 0;
  float: none;
}
.gm_ecommerce_pag .gm_ecommerce_cont.detalle {
  flex: 1;
  padding: 0;
  margin: 0 0 50px 0;
  background-color: white;
}

/* Fix estilo2 quantity selector icons and layout */
.gm_ecommerce_cont .prods_detalle_cont .bloq.desc_cont .cant_sel_cont.estilo2 .btn_sel.menos::before {
  content: "\f068" !important;
  font-family: 'Font Awesome 5 Solid' !important;
  font-weight: 900 !important;
}
.gm_ecommerce_cont .prods_detalle_cont .bloq.desc_cont .cant_sel_cont.estilo2 .btn_sel:not(.menos)::before {
  content: "\f067" !important;
  font-family: 'Font Awesome 5 Solid' !important;
  font-weight: 900 !important;
}
.gm_ecommerce_cont .prods_detalle_cont .bloq.desc_cont .cant_sel_cont.estilo2 .btn_sel {
  float: left;
  cursor: pointer;
}

/* Category sidebar toggle */
.toggle_cat {
  position: absolute;
  right: 0;
  top: 5px;
  font-size: 18px !important;
  color: #666;
  cursor: pointer;
}

/* Carousel product card (smaller) */
.producto_cont.carusel .imagen_cont {
  height: 160px;
}

/* Cart page layout */
.carrito_page_layout {
  display: flex;
  gap: 20px;
}
.carrito_page_layout .carrito_items {
  flex: 1;
}
.carrito_page_layout .carrito_resumen {
  width: 320px;
  flex-shrink: 0;
}

/* Slide carousel: original CSS adds padding-bottom for camera.js; our Embla carousel uses img height */
#content .slide_cont {
  padding-bottom: 0;
}

/* Home category showcase - uses original general.css #content .categorias_ini_cont styles */

/* Franquicias section - uses original general.css #content .franquicias_ini_cont styles */

/* Contact/Franchise forms */
.contacto_content,
.franquicias_content {
  display: flex;
  gap: 40px;
  padding: 20px 0;
}
.form_grupo {
  margin-bottom: 15px;
}
.form_grupo label {
  display: block;
  font-weight: bold;
  margin-bottom: 5px;
  font-size: 13px;
}
.form_grupo input,
.form_grupo textarea {
  width: 100%;
  padding: 8px;
  border: 1px solid #ddd;
  border-radius: 3px;
  font-size: 14px;
}

/* Responsive */
@media (max-width: 992px) {
  .productos_content > .producto_cont { width: 33.33%; }
  .categorias_ini_cont { flex-direction: column; }
  .carrito_page_layout { flex-direction: column; }
}
@media (max-width: 768px) {
  .productos_content > .producto_cont { width: 50%; }
  .prods_detalle_cont > .centrar { flex-direction: column; }
  .contacto_content, .franquicias_content { flex-direction: column; }
}
@media (max-width: 480px) {
  .productos_content > .producto_cont { width: 100%; }
}


/* WhatsApp floating button */
.whatsapp-float {
  position: fixed;
  bottom: 80px;
  right: 20px;
  width: 55px;
  height: 55px;
  background: #25d366;
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.3);
  z-index: 9000;
  text-decoration: none;
  transition: transform 0.3s, box-shadow 0.3s;
}
.whatsapp-float:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 15px rgba(0,0,0,0.4);
}

/* Scroll to top button */
.scroll-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 45px;
  height: 45px;
  background: #01526F;
  color: white;
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  z-index: 9000;
  transition: background 0.3s, transform 0.3s;
}
.scroll-to-top:hover {
  background: #017a9e;
  transform: scale(1.1);
}


/* Cart badge fix */
#Hd .cabezal .der .iconos_cont.cart div.carrito .cant_items {
  top: -2px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
}
