/* =========================
   CasaUtila – MP v4 overrides (FINAL)
   (ported from v3 main.css + v4 fixes)
   IMPORTANT: keep @import first
   ========================= */

@import url("https://use.typekit.net/xvf2yfn.css");

/* Brand tokens */
:root{
  --brand:#ff660c;
  --brand-hover:#e95600;
  --text:#1B1919;
  --muted:#3e3e3e;
  --line:#e6e6e6;
  --soft:#f6f6f6;
  --radius:6px;
}

/* ===== Hard overrides (v4) ===== */
html, body, button, input, select, textarea, .btn,
h1,h2,h3,h4,h5,h6,
.title-primary,.title-secondary,
.info-page h1,.info-page h2,
[data-counter]::after{
  font-family: sofia-pro, "Segoe UI", Helvetica, Arial, sans-serif !important;
}

body{
  background:#fff;
  color: var(--text);
}

/* Base typography */
.btn,
.dropdown-menu,
.form-control,
.pagination-sm .page-link,
.popover-header,
body,
button,
input,
optgroup,
select,
textarea{
  font-size: 1rem;
  line-height: 1.75rem;
}

h1,h2,h3,
.info-page h1,
.info-page h2,
.title-primary,
.title-secondary{
  font-weight: 700 !important;
}

.main{ padding: 1rem 0; }

/* Links */
a{ color: var(--text); }
a:hover{ color: var(--brand); }

/* Forms */
.form-control{ border-color: var(--line); }
.form-control:focus{
  border-color: var(--brand);
  box-shadow: none;
}

/* Buttons (pill) */
.btn:not(.btn-fav){
  border-radius: 2rem !important;
  padding: .75rem 1.5rem;
  line-height: 1.25rem;
  padding-bottom: 1rem;
  font-family: sofia-pro, "Segoe UI", Helvetica, Arial, sans-serif !important;
  font-weight: 600;
}

.btn-primary,
.btn-primary:disabled,
.btn-primary.disabled{
  background: var(--brand);
  border-color: var(--brand);
  color:#fff;
}

.btn-primary:hover,
.btn-primary:not(:disabled):not(.disabled):active{
  background: var(--brand-hover);
  border-color: var(--brand-hover);
  color:#fff;
}

.btn-secondary,
.btn-secondary:disabled,
.btn-secondary.disabled{
  background: var(--soft);
  border-color: var(--soft);
  color: var(--muted);
}

.btn-secondary:hover,
.btn-secondary:not(:disabled):not(.disabled):active{
  background: #dddbdb;
  border-color: #dddbdb;
  color: var(--muted);
}

/* Global rounding (v3 look) */
.alert,
.card,
.dropdown-menu,
.fancy-wrapper,
.form-control,
.input-group-append>*,
.input-group-prepend>*,
.main-sidebar-box,
.owl-nav>*,
.owl-stage-outer,
.page-item,
.popper,
.table-cart{
  border-radius: 3px !important;
}

/* =========================
   Cards / products (v3 + v4-safe)
   ========================= */
.banner-item,
.prod-item,
.product-item,
.product-card,
[class*="prod-"][class*="item"],
[class*="product"][class*="card"]{
  display:flex;
  flex-direction: column;
  position: relative;
  text-align: left;
  width: 100%;
  background-color: #fff;
  border: 1px solid #f5f5f5 !important;
  overflow: hidden;
  border-radius: var(--radius) !important;
  padding: 0;
}

#sidebar_box_recent_views_content .prod-item{
  padding: .5rem .5rem 1rem .5rem !important;
}

.prod-body,
.product-body,
.product-card-body,
.prod-item .card-body,
.product-card .card-body,
.card-body{
  flex-grow: 1;
  padding: 1.5rem 1.5rem .5rem 1.5rem !important;
  border-top: 1px solid rgb(0 0 0 / 5%);
}

@media (max-width: 1199.98px){
  .prod-body,
  .product-body,
  .product-card-body,
  .prod-item .card-body,
  .product-card .card-body,
  .card-body{
    padding: 1rem !important;
  }
}

.prod-item .prod-title,
.article-item .article-title,
.product-card .product-title,
.product-item .product-title,
.prod-title,
.product-title{
  color: var(--text) !important;
  font-size: .9rem !important;
  line-height: 1.2rem !important;
  text-transform: none !important;
  font-weight: 700;
}

.prod-img-link,
.product-image-link{
  margin: 0 !important;
  width: 100% !important;
}

.prod-list-img-responsive .prod-img,
.prod-item img,
.product-card img,
.product-item img{
  object-fit: contain;
}

/* Prices */
.prod-prices,
.product-prices{
  justify-content: flex-start;
  flex-direction: column;
}

.prod-price,
.product-price,
.price,
.current-price{
  color: var(--brand) !important;
  font-weight: 700;
}

.prod-price-highlighted,
.product-price-highlighted{
  font-size: 1rem !important;
  font-weight: 700;
}

.row-prod-price .prod-price-highlighted,
.product-price-row .product-price-highlighted{
  font-size: 1.5rem !important;
}

.prod-price-old,
.product-price-old,
.old-price,
.compare-at-price,
.price-old{
  font-size: .75rem !important;
  opacity: .75;
}

/* =========================
   Header (v3 classes + v4 catch-all)
   ========================= */
.header-top{
  background: linear-gradient(90deg, #FF6900 0%, #FC4A14 100%);
  text-transform: uppercase;
}

.header-top-container .notice p{
  color: white;
  font-size: .85rem;
  line-height: 1.5rem;
  margin-left: .5rem;
}

.header-top-container .notice a,
.header-top-container .notice a:hover{
  color: white;
  text-decoration: none;
}

.header-top-link{
  color: rgb(255 255 255 / 90%);
  transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
  padding-right: 1rem;
}
.header-top-link:hover{ color: white; }

/* Menu links underline orange */
.header-menu-item>.nav-link,
header .navbar-nav .nav-link{
  border-bottom: 2px solid transparent;
  font-size: .75rem;
  font-weight: 700;
  transition: all .3s;
  text-transform: uppercase;
}

.header-menu-item>.nav-link:hover,
header .navbar-nav .nav-link:hover{
  border-color: var(--brand);
}

/* Search pill (v3 + v4 catch-all) */
.header-search-form .header-search-input,
header input[type="search"],
header input[name*="search"],
header .search input,
header .header-search input{
  font-size: .9rem !important;
  border-radius: 2rem !important;
  padding: .75rem 1.5rem !important;
  font-family: sofia-pro, "Segoe UI", Helvetica, Arial, sans-serif !important;
}

.header-search-input{
  min-width: 25rem !important;
  padding-right: 3.5rem !important;
}

.header-search .form-control{ border-width: 2px; }

.header-search-btn,
header form button[type="submit"]{
  color: #adb5bd !important;
}
.header-search-btn:hover,
header form button[type="submit"]:hover{
  color: #6c757d !important;
}

.header-search-advanced{ display: none; }

/* Mega menu */
.popper.popper-popover-mega-menu{
  background: #fff;
  border: 0;
  box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, .05);
  margin: 0;
}

.mega-menu-col>.cat-parent{ text-transform: uppercase; }

.mega-menu-col .list-item a{
  color: var(--text);
  font-size: .85rem;
  padding-bottom: .35rem;
  padding-top: .35rem;
  transition: all .2s;
  font-weight: 600;
}

.mega-menu-col .list-item a:hover{
  text-decoration: none;
  color: var(--brand);
}

.mega-menu-col .list-parent a{
  font-size: .85rem;
  font-weight: 700;
  text-transform: uppercase;
}

/* Badges/counters */
.header-cart .icon-shopping-cart::after,
.header-cart .icon-heart::after{
  background-color: var(--brand) !important;
  box-shadow: 0 0 0 3px #fff;
  color: #fff;
  font-weight: bold;
}

/* =========================
   Product page (v4-safe)
   ========================= */
.col-prod-info,
.product-info,
.product-summary,
.buy-box{
  background: rgb(0 0 0 / 3%);
  border-radius: 1rem;
}

@media (min-width: 992px){
  .col-prod-info,
  .product-info,
  .product-summary,
  .buy-box{
    padding: 5rem !important;
  }
}

@media (max-width: 991.98px){
  .col-prod-info,
  .product-info,
  .product-summary,
  .buy-box{
    padding: 1rem !important;
    margin-top: 1rem;
    margin-bottom: 2rem;
  }
}

/* Selects (pill) */
select.form-control-sm:not([size]):not([multiple]),
select:not([size]):not([multiple]){
  min-height: 50px;
  border-radius: 2rem !important;
  background-color: var(--soft);
  font-weight: 600;
  padding: .75rem 1.5rem;
  color: var(--muted);
  border: none;
}

/* Quantity control */
.spinner .form-control,
.spinner input{
  max-width: calc(3ch + 4rem + 2px);
  border-radius: 2rem !important;
  padding: .75rem 1.75rem !important;
  line-height: 1.25rem;
  padding-bottom: 1rem;
  font-weight: 600;
}
.spinner .spin-down{ padding-left: 1rem; }
.spinner .spin-up{ padding-right: 1rem; }

/* =========================
   Footer
   ========================= */
.footer-bottom,
.footer-middle,
footer{
  background: #000 !important;
}

.footer-middle-title{
  color: #fff;
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: .5px;
  padding-bottom: 1rem;
}

.footer-middle-link{
  color: rgb(255 255 255 / 60%);
  padding-left: 0;
  font-size: .85rem;
  transition: all .5s;
  padding: .25rem 0;
}

.footer-middle-link:hover{ color: rgb(255 255 255 / 100%); }

/* List markers */
.info-page ul li::marker,
.footer-middle ul li::marker,
#buy_prod_description ul li::marker{
  content: "\25B8";
  color: var(--brand);
}
.info-page ul li::before,
.footer-middle ul li::before,
#buy_prod_description ul li::before{
  content: "";
  margin-right: .5rem;
}

/* Cookie bar */
.cookie-policy-box{
  background-color: #000;
  border-top: 1px solid #000;
  color: rgba(255, 255, 255, 0.75);
}
.cookie-policy-box .gray{ color: #fff !important; }

/* =========================
   Mobile (v3 behavior)
   ========================= */
@media (max-width: 991.98px){
  .main{ padding: 2rem 0; }

  .breadcrumb-scroll{
    background: var(--soft);
    margin-top: .5rem;
    border-bottom: 1px solid #eaeaea;
  }

  .navbar-nav{
    overflow-x: hidden;
    border-top: 1px solid rgb(0 0 0 / 7%);
    margin-top: .5rem;
  }

  .navbar-nav .nav-item,
  .navbar-nav li{
    border-bottom: 1px solid rgb(0 0 0 / 7%);
  }

  .navbar-nav .nav-item:last-child,
  .navbar-nav li:last-child{
    border-bottom: none;
  }

  .navbar-nav a:hover{ color: var(--text); }

  .header-logo{ margin-right: 2rem; }

  .header-logo-img{
    max-height: 2.5rem;
    padding-left: .5rem;
  }

  .header-middle-container{
    height: 4rem;
    border-bottom: 1px solid #eaeaea;
    padding-left: .5rem;
    padding-right: .5rem;
  }

  .footer-middle-toggle{ background: #000; }

  .footer-middle-list, .footer-middle-toggle{
    border-bottom: 1px solid rgb(255 255 255 / 10%);
    padding: .75rem 1rem !important;
  }
}

@media (min-width: 992px){
  .header-bottom{ background: var(--soft); padding: 0; }
  .header-menu{ border: 0; }
  .header-menu>.navbar-nav{ justify-content: center; margin-left: -.625rem; }
  .footer-bottom-sides{ padding-top: 1.5rem; }
}

/* Icon override (only if icon font matches) */
.icon-shopping-cart::before{ content: "\ec02"; }


/* Hide share buttons on product page (FB / Pinterest / Email etc.) */
.buy-social-icons,
.buy-social-icon,
.product-share,
.product-share-icons,
.share,
.share-icons,
.social-share,
.social-icons,
.addthis_inline_share_toolbox,
.addthis_toolbox,
.a2a_kit,
.a2a_kit + .a2a_kit,
.sharethis-inline-share-buttons,
.st-inline-share-buttons,
.at-share-btn,
.at-share-btn-wrapper,
[class*="share-"],
[id*="share-"]{
  display: none !important;
}
