/*Small-Medium-LARGE_NumeroOfOptions*/
vpc-grid-col-2-3-3_3 {}
vpc-grid-col-3-3-2_12 {}
vpc-grid-col-2-1-3_6 {}
vpc-grid-col-4-4-2_6 {}
vpc-grid-col-6-4-3_8 {}
vpc-grid-col-4-4-3_8 {}
vpc-grid-col-4-4-3_12 {}
vpc-grid-col-4-4-3_16 {}
vpc-grid-col-3-3-2_24 {}
vpc-grid-col-6-4-3_12 {}
vpc-grid-col-4-3-2_12 {}
vpc-grid-col-1-1-1_12 {}
vpc-grid-col-3-3-2_6 {}


.navbar .navbar-nav .dropdown-menu .dropdown-item {
    padding: 0.25rem 1rem !important;
}

.bg-light-info {
    background-color: #efefef;
}

@media (min-width: 768px) {
    .pl-md-6, .px-md-6 {
        padding-left: 4rem !important;
    }
    
        .pr-md-6, .px-md-6 {
        padding-right: 4rem !important;
    }
}


@media (min-width: 992px) {
    #before-search .col-lg-4,
    .search-products-result .col-lg-4{
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
}

.advance-search-dropdown .search-result-listing {
    max-height: unset;
}

.search-history {
    font-size: 1rem;
}

.bootstrap-growl {
        background-color: #fef7e0 !important;
        border-color: #fef7e0 !important;
        border-radius: 8px;
    }

.custom-switch .custom-control-label::after {
    background-color: #fd7e149c;
}

 .custom-control-input:checked ~ .custom-control-label::before {
    border-color: #fd7e14;
    background-color: #fd7e14;
}

 .custom-control-label:before {
    background: #f8f9fa;
}

#sticky-top  .custom-control {
        z-index: auto;
}

li.d-md-none.lang-contact.d-flex.border-bottom.mobileDropdownBottom.exlink.nav-item {
    border-top: 1px solid #dee2e6 !important;
}

#sticky-top li.d-flex.exlink.flex-nowrap.nav-item {
    padding: 0.75rem 0.75rem !important;
}

.navbar .navbar-nav .dropdown-menu .card-columns .all-product {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 225px;
}


#templatelist-desc .product-name {
    font-weight: 600;
}

#product_design_upload .page-header {
    display: none !important;
}

@media only screen and (min-width: 768px) {

    .order_detail_summary {
         scrollbar-width: thin;
    }
}

.slider-cat .row.flex-nowrap.overflow-auto.pt-2 {
    scrollbar-width: thin;
}

#shopping-cart .checkoutLeftSide .order-details .thumbnail img,
#shopping-cart .checkoutLeftSide .order-details .order-img img.img-fluid.noimage{
    border-radius: 15px;
    border: none;
    overflow:hidden;
}

#shopping-cart .checkoutRightSide .order-details .thumbnail img,
#shopping-cart .checkoutRightSide .order-details .order-img img.img-fluid.noimage{
    border-radius: 9px;
    border: none;
    overflow:hidden;
}

#shopping-cart .zoom:hover {
    border-radius: 1rem;
}

.blindmethod .blind_ship_cost {
    font-size: 0.875rem;
    font-weight: 700;
}

@media (min-width: 992px) {
    #product_category .row .col-6.col-md-4.col-lg-3.product-box {
        flex: 0 0 16.66% !important;
        max-width: 16.66%;
    }
}

.group-content .btn {
    padding: 0.5rem 3rem;
    }  

#templatelist .page-header {
    display:none!important;
}


#product_category .card-aligned {
    justify-content: center;
    margin-inline: -8px;
}


#product_category .product-box .card-body .card-title {
    text-align: center;
    line-height: 1.5;
    font-size:1rem !important;
}

#product_category .card .card-body{
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
    padding-top: 0.75rem !important;
}
#product_category .product-box .card-body .card-text{
    display:none;
} 

#product_category .card{
    border-radius: 50%;
    border:0;
    box-shadow:none;
}

#product_category .product-box .thumbnail {
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, .08);
}



#product_category .card:hover, #product_list_without_category .card:hover {
    box-shadow:none;
}


.group-hero,
.group-category-intro,
.group-grid-intro{
   margin-inline:-8px;
}


#product_category .page-header,
#category_product_list  .page-header{
    display:none;
}

.group-content,
.group-products,
.group-seo-desc{
  padding-inline: 8px;
   margin-inline:-15px;
   border-radius:1rem;
}

.group-hire-designer{
    padding-inline: 8px;
    position: relative;
      left: 50%;
      right: 50%;
      margin-left: -50vw;
      margin-right: -50vw;
      width: 100vw;
    background: linear-gradient(180deg, #ffffff, #f4f4f4);
}
.bg-group-content {
  background: #efefef;
}

.group-content .group-content-img {
  border-radius: 1rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    opacity: 0.1;
    transform: scale(1.03);
    transition: opacity 150ms ease-in-out;
    width: 100%;
    height: 360px;
    object-fit: cover; 
    object-position: center top;  
}

.group-hire-designer .group-content-img {
    object-position: center;
 border-radius: 1rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    width: 100%;
    height: 360px;
    object-fit: cover;
}

.group-products .product-box .thumbnail {
    border-radius: 15px;
}

.group-content-img.loaded {
    opacity: 1;
    transform: scale(1);
}

.group-hero .group-hero-img {
  border-radius: 1rem; /* ajusta aqui */
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  width: 100%;
    height: 280px;
    object-fit: cover;
    object-position: center;
}

.group-grid-title,
.group-products h2,
.group-content h2,
.group-hire-designer h2{
  font-weight:700;
  font-size:1.625rem;
}

.group-hero h2,
.group-category-intro h2{
    font-size:2rem;
}


.group-hero p,
.group-products p,
.group-content p,
.group-seo-desc p,
.group-grid-intro p{
  /*text-align: justify;
  text-justify: inter-word;
  hyphens: auto;*/
  font-size:15px;
}

.group-category-intro p {
    font-size:15px;
}

.group-category-intro p{
  max-width: 800px;
}

/* micro-provas (só no hero) */
.group-hero .feature-text{
  font-size: 15px;      /* controla aqui */
  line-height: 1.25;
  color: #343a40;       /* ou text-muted se preferires */
}



@media (max-width: 575.98px){
  .group-hero .feature-text{
    font-size: 14px;
  }
  
  .group-content .group-content-img{
    transition: opacity 150ms ease-in-out;
    height: 280px;
    object-position: center top;  /* muda o foco */
  }
  
  .group-hire-designer .group-content-img {
      transition: opacity 150ms ease-in-out;
          height: 280px;
  }
  
    .group-content,
    .group-products,
    .group-hire-designer{
       border-radius:0;
    }
  
  .group-hero p,
  .group-products p,
  .group-content p,
  .group-seo-desc p,
  .group-grid-intro p{
    font-size:14px;
  }
  .group-category-intro p {
    font-size:14px;
}
    
    .group-hero h2,
    .group-category-intro h2{
        font-size:1.625rem;
    }
    
    .group-grid-title,
    .group-products h2,
    .group-content h2,
    .group-hire-designer h2{
         font-size:1.5rem;
    }
    
}

/* ícone check (o teu círculo laranja) */
.group-hero .hero-check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  border: 2px solid #fd7e14; /* ajusta à cor do tema */
  color: #fd7e14;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
}
.group-hero .hero-check::before{
  content: "✓";
}

@media (max-width: 991.98px) {
  .group-hero .group-hero-img {
    max-height: 260px;
  }
}

.anchor-offset {
  position: relative;
  top: -100px; /* ajusta à altura do header */
}


#product_sorting,
#pKey{
    border-radius: 26px !important;
    border: 1px solid hsl(0, 0%, 90%);
    margin-inline: 0.25rem;
}
@media only screen and (min-width: 768px) {
    #pKey{
        text-align: left;
        width:225px;
    }
    
    #product_sorting{
        min-width: max-content;
    }
}



a#product_filter_btn {
    border-radius: 9px;
    margin-right: 0.5rem;
}

#accordionmenu .accordion-menu .card-body {
    padding-right: 0;
}

.checkbox-link {
border-radius: 50%;
}
.checkbox-link .custom-control .custom-control-label {
    height: 25px;
    width: 25px;
    line-height: 25px;
}

.disabled {
opacity: 0.2;
}

#product-info #price_calculator .visualcal .custom-contro:hover {
    border: 1px solid #000000;
}

#category-wrapper .card-body ul li:nth-child(n+7) {
    display: none;
}

button[name="deactivate"] {
    background-color: #dc3545;   /* vermelho bootstrap */
    border: 1px solid #dc3545;
    color: #ffffff;
    font-weight: 500;
    transition: all 0.2s ease-in-out;
}

button[name="deactivate"]:hover {
    background-color: #ffffff;
    border-color: #bb2d3b;
    color: #bb2d3b;
}

button[name="deactivate"]:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.3);
}

button[name="deactivate"]:active {
    background-color: #a52834;
    border-color: #a52834;
}

.error-block span {
    max-width: fit-content;
    border:none;
    color: #c0392b;
    background: none;
}
.error-block {
    top: 95%;
}

.advance-search .searchable-data p{   
    font-size: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-right: 0.125rem;
    margin-bottom: 0.125rem !important;
    font-weight:500;
}

@media only screen and (min-width: 1200px) {
    .advance-search-dropdown {
        width: unset;
    }
}

.advance-search-dropdown {
    border-radius: 1rem !important;
}

#associate_summary h4{   
    font-weight: 700;
    font-size: 1rem;
}

#associate_summary .associate_items {
    padding-bottom: 1rem;
}

#user_loginpage .page-sub-header {
    text-align: center;
}
#user_loginpage .page-sub-header h2 {
    font-size: 1.625rem;
    margin-bottom: 0rem !important;
}

/*#user_loginpage .page-header h1{
    font-size: 2rem;
    margin-bottom: 2rem !important;
    text-align: center
}*/
#user_loginpage .page-header {
    display: none !important;
}

#user_loginpage .card-body.px-0,
#user_loginpage form#frmuser_quickregister{
    padding: 2rem !important;
}


#additiona_login_box .card-header {
    background-color: rgba(0, 0, 0, .015);
    text-align: center;
}

#additiona_login_box .card-header h4{
    font-size:1.0625rem;
}

#additiona_login_box .pre_login_box .dropdown-item-text {
    font-size:14px;
}
#additiona_login_box .pre_login_box .dropdown-item-text a {
        color: #fd7e14;
        font-weight:700;
}



/*@media only screen and (min-width: 768px) {
    .bdr-mob-none {
        border-right:0;
    }
}*/

#product_list_without_category .product-box .card-text>p{
    display: none !important;
}

#product_list_without_category li:nth-child(n+4) {
      display: none;
     }
     
 @media (max-width: 1247px) {
       /* #product_list_without_category .product-box .card-text>ul {
      display: none !important;
     }
      #product_list_without_category .product-box .card-text>p{
      display: block !important;
     }*/
 
     #product_list_without_category li:nth-child(n+3) {
      display: none;
     }
}

 @media (max-width: 991px) {
   /* #product_list_without_category .product-box .card-text>ul {
        display: none !important;
    }
 
    #product_list_without_category .product-box .card-text>p{
        display: block !important;
    }*/
    
    #user_loginpage .card-body.px-0,
    #user_loginpage form#frmuser_quickregister{
        padding: 1.5rem !important;
}
    
 }
 /* ===========================
   Modais
   =========================== */
/* modal action buttons */
@media (min-width: 992px) {

 .modal-lg,
 .modal-xl {
  max-width: 1280px;
 }
}

/* ===========================
   Ocultar "Hire a designer" (calculadora)
   =========================== */
#hire_designer,
#collapsehire,
#buttonhire,
#hire_designer_help,
#hire_designer_help_content {
 display: none !important;
}

/* ===========================
   Tipografia / Formulários
   =========================== */
.group-collapse-button {
 font-size: 0.875rem;
 font-weight: 700;
}

/* font formulário área de cliente */
.form-control,
.custom-select,
.bootstrap-select .dropdown-toggle {
 font-size: 0.75rem;
 /*min-width: max-content;*/
}

#direct_payment .form-control{
 width: auto;
}

/* ===========================
   Imagens
   =========================== */
/* cantos redondos nas miniaturas das imagens */
img.img-fluid.border {
 border: none !important;
 border-radius: 0.75rem!important;
}

/* ===========================
   Calculadora de preço
   =========================== */
#price_calculator {
  margin-bottom: 0.5rem !important; 
}  
   
#price_calculator .quantity_range_msg {
 display: none;
}

#price_calculator .visualcal .custom-control,
#products_additional_options .visualcal .custom-control {
 height: 100%;
}

#expreess_product_additional_info #prductqty {
    display: none !important;
}

@media only screen and (min-width: 768px) {
 .price_calculator #productpricetotal.floating-price {
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
 }
}

@media (max-width: 768px){
    #productpricetotal #calsummaryproductpricetotaldiv div:nth-child(2) {
        justify-content:center!important;
    }
}
@media only screen and (min-width: 768px) {
    #productpricetotal #calsummaryproductpricetotaldiv div:nth-child(2) {
    justify-content:flex-end !important;
    }
    
    .cal-summary-pipline small {
        font-size: 100%;
    }
}
/* ===========================
   Utilitários
   =========================== */
/* hora de corte */
.timer-wrapper {
 border: none !important;
}

/* teste Explore choices */
.sort-categories .slider-cat span {
 font-size: 15px;
}

.sort-categories .slider-cat span {
 font-weight: 500;
}

.sort-categories .slider-cat .cat-block:hover a {
 box-shadow: 0 0 0 3px #fd7e14;
}

.sort-categories .slider-cat .row.flex-nowrap.overflow-auto {
    scrollbar-width: thin;
    scroll-behavior: smooth;
}

#product_images .carousel-thumbs, .kit_product_info .carousel-thumbs {
    scrollbar-width: thin;
    scroll-behavior: smooth;
}

#product_images .carousel-thumbs a, .kit_product_info .carousel-thumbs a {
    margin: 0 .125rem;
}

/* ===========================
   Footer
   =========================== */
#footer {
 background: #fafafa;
 border-top: 1px solid rgb(241, 241, 241);
}

#footer li{
 color: #333;
 font-size:13px;
}

#footer footer .footer-column a {
     font-size:13px;
}

#footer .copyright-text {
 font-size:12px;
}

#footer h4 {
 font-size:14px;
}

#footer .blk-small{
 color: #666;
 font-size:9px;
 letter-spacing: 0.5px;
}

#footer a:hover {
 color: #fd7d14;
}

#footer .logo-white {
 filter: brightness(0.75) invert();
}


#footer footer .footer-logo-part ul li {
    width: 2rem;
    height: 2rem;
}

#Social .social ul li:last-child {
 margin-right: 0;
}

.list-inline-item:not(:last-child) {
    margin-right: 0rem;
}

/*@media only screen and (min-width: 480px) {
    #footer footer .categories-tab ul {
        column-count: 3;
    }
}*/

/* Responsivo footer */
@media (max-width: 767px) {
 #footer .text-white {
  color: #000 !important;
 }

 #footer a {
  color: black;
 }

 #footer .logo-white {
  filter: brightness(0) invert(0);
 }
}

/* Logos no footer */
.logo-card-footer {
 align-items: center;
 background: white;
 border: 1px solid #eee;
 border-radius: 0.25rem;
 display: flex;
 height: 100%;
 justify-content: center;
 padding: 0.125rem;
 
}

.logo-card-footer img {
 height: 25px;
 object-fit: contain;
 width: 50px;
}

.logo-footer-container {
 gap: 16px;
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
}

/* ===========================
   Navegação (navbar)
   =========================== */
 .navbar .navbar-nav .nav-item>.nav-link {
    font-size: 0.875rem;
    text-transform: none !important;
    padding: 0.75rem 0.75rem !important;
}

.navbar div.dropdown-menu .dropdown-item {
    overflow: clip;
    text-overflow: ellipsis;
}

.nav-item.megamenu .dropdown-menu .list-unstyled>li>a {
        white-space: nowrap;
}

.navbar .navbar-nav .nav-item.megamenu .dropdown-menu .list-unstyled > li .dropdown-menu {
    background: #fefefe;
}

.navbar .navbar-nav .nav-item.megamenu .dropdown-menu .list-unstyled > li:hover > a, .navbar .navbar-nav .nav-item.megamenu .dropdown-menu .list-unstyled > li.active > a {
    background: none;
    color: #fd7d14 !important;
}


.navbar .navbar-nav .nav-link {
    position: relative;
    transition: color .3s;
}

.navbar .navbar-nav .nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 4px;
    background: #fd7e14;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .3s ease;
}

.navbar .navbar-nav .nav-item:hover .nav-link::after {
    transform: scaleX(1);
}

.navbar .navbar-nav .nav-item:hover .nav-link {
    color: #fd7e14 !important;
}




/* Menus dropdown */
.navbar-collapse .navbar-nav .dropdown-item {
 font-size: 0.875rem;
 font-weight: 500;
}

.navbar-nav .dropdown-menu .dropdown-item strong {
 font-weight: 600;
}

@media only screen and (min-width: 768px) {
     .navbar .dropdown-menu {
        border-top-width: 1px;
     }
     
    .nav-item.megamenu .dropdown-menu .list-unstyled {
        min-height: 250px;
    }
        
    .dropdown-menu.p-0,
    .dropdown-menu.mt-0.rounded-0 {
        border-width: 1px;
    }
}
 

/* Estrutura navbar */
.navbar .navbar-nav {
 justify-content: flex-start;
 margin: 0 !important;
  overflow: hidden;
    flex: none;
}


.dropdown-menu {
 border-bottom-left-radius: 0.75rem!important;
 border-bottom-right-radius: 0.75rem!important;
}

.bootstrap-select>.dropdown-menu {
   border: 1px solid hsl(0, 0%, 90%);
}

bootstrap-select .dropdown-menu {
    font-size: .8125rem;
}
/* ===========================
   Secções / Cart & Pedido
   =========================== */
.request-quote-sec .bg-clr-img {
 background-color: #f3f4f5;
 border: 1px solid #e0e0e0;
 border-radius: 0.625rem;
 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

#shopping-cart .checkoutRightSide>.shadow {
 background-color: white !important;
 border: 1px solid #e0e0e0 !important;
 border-radius: 1rem;
 padding: 1.5rem;
}

#shopping-cart .orderprice.price {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
}

#shopping-cart .checkoutLeftSide .shadow {
 -webkit-border-radius: 1rem;
 background: #f8f8f8 !important;
     border: none !important;
    padding: 2rem !important;
}

#splitshipmentadd .shadow {
    border-radius: 1rem !important;
}

#splitshipmentadd .product_wise_block{
    border-radius: 1rem !important;
    overflow: clip;
}

.dropdown-item .text {
    display: flex;
    flex-direction: column;
}

.dropdown-item .text small {
    display: block;          
    margin-top: 2px;
}

.bootstrap-select .dropdown-menu.inner{
    font-size: .8125rem;
}

.bootstrap-select .dropdown-menu li.active small {
    color:inherit!important
}

.bootstrap-select.shipping_types .dropdown-menu li a span.text {
    align-items: left;
}


.dpdportugal-dropdown-item:hover,
.dpdportugal-dropdown-item.active,
.glsportugal-dropdown-item:hover,
.glsportugal-dropdown-item.active {
 color: #fff !important;
}

.dpdportugal-selected-point,
.glsportugal-selected-point {
 color: #fff !important;
}

.dpdportugal-search-box, .glsportugal-search-box,.dpdportugal-dropdown-menu, .glsportugal-dropdown-menu {
        border: 1px solid hsl(0, 0%, 90%)!important;
    font-size:0.8125rem!important;
        
}
/* ===========================
   VisualCal / Cards
   =========================== */
#product-info #price_calculator .visualcal .custom-control,
#product-info #price_calculator .visualcal .slick-slide>div {
 border-radius: 0.5rem;
 justify-content: unset !important;
}

#price_calculator{
    background-color: unset;
}    

/* ===========================
   Layouts com fundo sólido (em vez de gradiente)
   =========================== */
#product-info #InfoTab .tab-content,
#related-product,
#categoryTabContent,
.middle_inner_section #home_page {
 background: #fafafa;
 /*border: 1px solid #e0e0e0;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
   transition: box-shadow 0.3s ease, border-color 0.3s ease;*/
 border-radius: 1rem;
 padding: 1.5rem 0;

}

#related-product .slick-list .slick-track .slick-slide .card .caption,
#categoryTabContent .slick-list .slick-track .slick-slide .card .caption {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-right: 0.5rem;
}


.middle_inner_section #home_page .carousel-item .card .card-body {
    padding: 0.75rem 0.25rem 0 0.25rem !important;
}

/* FAQ + descrições longas */
#product-info #faq_products {
 background: #fafafa;
 padding: 0.5rem 0.5rem;
}

@media only screen and (min-width: 1248px) {
 #product-info #faq_products {
  margin-bottom: 1rem !important;
 }
}

#product-info #product-long-description-two,
#product-info #product-long-description-three,
#product-info #product-long-description-four {
 padding: 0.5rem 0.5rem;
}

/* Overrides específicos de padding (mantém comportamento original) */
@media only screen and (min-width: 768px) {
 .middle_inner_section #home_page {
  padding: 1.5rem;
          margin-left: 0.25rem;
        margin-right: 0.25rem;
 }
}

#product-info #InfoTab .tab-content,
#related-product {
 padding: 2rem 1.5rem;
}

@media (max-width: 767px) {
    #product-info #InfoTab .tab-content{
        padding: 1.25rem 1.25rem;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
        width: 100vw;
        border-radius: 0;
    }
}
/* ===========================
   Correções de tipografia / listas
   =========================== */
/* Onprintshop 27/11/2024 Upload Text wrap Correction */
#myTabContent #desc ol,
#myTabContent #desc p {
 margin-right: 24px;
 word-wrap: anywhere;
}

/* Footer info listagem */
.fotter_bottom .support_info ul {
 list-style: none;
 padding: 0;
}

.fotter_bottom .support_info ul li {
 padding: .3rem .5rem;
}



@media only screen and (min-width: 992px) {
 .fotter_bottom .support_info ul {
  display: flex;
  flex-wrap: wrap;
 }

 .fotter_bottom .support_info ul li {
  width: 50%;
 }
}

/* ===========================
   Responsividade extra-larga
   =========================== */
@media only screen and (min-width: 2000px) {
 #product_design_upload::after {
  width: 53.7%;
 }
}

/* ===========================
   Botões / texto
   =========================== */
.btn.text-uppercase {
 font-size: 0.8125rem;
}

/* ===========================
   Carrossel de imagens
   =========================== */
.carousel-control-prev {
 left: 0.625rem;
}

.carousel-control-next {
 right: 0.625rem;
}

#product_images .carousel-thumbs .carousel-thumb,
.kit_product_info .carousel-thumbs .carousel-thumb {
 border-radius: 1rem;
}

#product_images .carousel-thumbs a .carousel-thumb {
 padding: 0.1rem 0.1rem;
}

#product_images .carousel-item img,
.kit_product_info .carousel-item img {
 border-radius: 1rem;
}

/* ===========================
   Pesquisa avançada / botões de ação
   =========================== */
.advance-search .searchable-img {
 flex: 0 0 90px;
     height: 80px;
}

.top-header .header-search .advance-search .searchable-img {
    padding: 0px;
}

#action-btn .col-12.col-md-4 .border a,
#action-btn .col-12.col-md-6 .border a,
#action-btn .col-12.col-md-3 .border a {
 height: 100%;
}

#extra-msg {
 display: block !important;
}

#product-info #extra-msg {
margin-bottom: 5rem!important;
}

/* ===========================
   CTA "Iniciar compra"
   =========================== */
#product-info #get-started,
#product-info #SubmitBtn,
#product_info_predefined #div_addinfo_save_box #SubmitBtn {
 background: #fd7d14;
 border-color: #fd7d14;
 border-radius: 1.75rem;
 margin-bottom: 0.625rem !important;
 margin-left: 0;
 width: 100%;
 transition: background-color 0.3s ease;
 box-shadow: 0 4px 10px rgba(0,0,0,.08);
}

#get-started:focus {
    color: #FFF;
}

@media only screen and (max-width: 574px) {
 #product-info #get-started,
 #product-info #SubmitBtn{
  margin-left: 27px;
  width: calc(100% - 54px);
 }
}

@media only screen and (max-width: 639px) {
    #product_info_predefined #div_addinfo_save_box #SubmitBtn {
      left: 27px;
      width: calc(100% - 54px);
    }
}

@media only screen and (min-width: 768px) {
 #product-info #get-started {
  z-index: 15 !important;
 }
}

#product-info #get-started:hover,
 #product-info #SubmitBtn:hover{
 color: #fd7d14;
 background-color: white;
}

#product-info #next1,
    #product-info #next2,
    #product-info #next3,
    #product-info #next4,
    #product-info #next5,
    #product-info #previous1,
    #product-info #previous2,
    #product-info #previous3,
    #product-info #previous4,
    #product-info #previous5{
        margin-bottom: 0.625rem !important;
}

@media only screen and (max-width: 767px) {
    #product-info #personalize {
        position: fixed;
        bottom: 0!important;
        z-index: 16;
        left: 0;
        margin-left: 27px;
        padding-top: 14px !important;
        padding-bottom: 14px !important;
        font-weight: bold;
        font-size: 16px !important;
        border-radius: 1.75rem;
        box-shadow: 0 3px .5rem 0 #ccc;
        margin-bottom: 0.625rem !important;
        width: calc(100% - 54px) !important;
    }
    
    #product-info #next1,
    #product-info #next2,
    #product-info #next3,
    #product-info #next4,
    #product-info #next5,
    #product-info #previous1,
    #product-info #previous2,
    #product-info #previous3,
    #product-info #previous4,
    #product-info #previous5,
    #product-info .prev_next_btn #SubmitBtn,
        #product-info .orderButtons #SubmitBtn{
        padding-top: 8px !important;
        padding-bottom: 8px !important;
        font-weight: bold;
        font-size: 14px !important;
        border-radius: 1.75rem;
        box-shadow: 0 3px .5rem 0 #ccc;
        width: auto;
        margin-bottom: 0!important;
    }
    
    #product-info .prev_next_btn, #product-info .orderButtons {
        border-top-left-radius: 1.5rem;
        border-top-right-radius: 1.5rem;
        padding: 1rem 1rem;
    }
}  

/* ===========================
   Totais / preço
   =========================== */
.price_calculator #productpricetotal {
 border-top-left-radius: 1rem;
 border-top-right-radius: 1rem;
 bottom: 0;
}

@media only screen and (max-width: 574px) {
 #productpricetotal {
  padding-bottom: 4rem;
 }
}

/* ===========================
   Top header / marca
   =========================== */
/* Font do menu top header */
@media only screen and (min-width: 768px) {
 .top-header .container .top-links>li a {
  font-size: 0.8125rem !important;
 }
}

.top-header .container .top-links>li a span {
 font-size: 0.8125rem !important;
 text-transform: none !important;
}

/* top link cart badge */
.top-header .top-links li a span.cart_count {
 position: initial;
}

.badge {
        margin-inline-end: 8px;
}
.top-header .container {
    justify-content: flex-start;
}

@media (max-width: 1247px) {
  .top-links li span:not(.sr-only):not(.badge) {
    display: none;
  }
}

/* Marca */
.navbar-brand img {
 max-height: none;
 max-width: 100%;
}

/* ===========================
   Dynamic Help (tamanhos)
   =========================== */
.dynamicHelpTemplateMain .sizeNameVal_blk .sizeNameVal {
 font-size: 0.9375rem !important;
}

.dynamicHelpTemplateMain .fa-stack {
 margin-left: 5px;
}

/* ===========================
   Reviews
   =========================== */
.review-section .card img {
 bottom: 30px;
 position: absolute;
 right: 30px;
}

/* ===========================
   Carousel (top banner / home)
   =========================== */
#top-banner .carousel-control-prev,
#top-banner .carousel-control-next {
 background: transparent;
 height: 40px;
 margin: auto;
 width: 40px;
}

#home_page .carousel-control-next-icon,
#home_page .carousel-control-prev-icon {
 background-size: auto;
 height: 20px;
 width: 0.625rem;
}

#home_page .pager li .btn-secondary {
 align-items: center;
 background: #ffffff99;
 border: 2px dashed #ffffff99;
 bottom: 0;
 box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .15);
 display: flex;
 margin: auto;
 padding: 0;
 position: absolute !important;
 top: -100px;
 z-index: 99;
}

#home_page .pager li .btn-secondary:hover {
 border-color: #fd7d14;
}

.middle_inner_section #home_page .pager .carousel-control-prev-icon,
.middle_inner_section #home_page .pager .carousel-control-next-icon {
 background-image: none;
}

.middle_inner_section #home_page .pager .btn[data-slide="prev"],
.middle_inner_section #home_page .pager .btn[data-slide="next"] {
 margin: auto 0 !important;
}

.middle_inner_section #home_page .pager .btn[data-slide="prev"] {
 left: -30px !important;
}

.middle_inner_section #home_page .pager .btn[data-slide="next"] {
 right: -30px !important;
}

@media only screen and (max-width: 574px) {
    .middle_inner_section #home_page .pager .btn[data-slide="prev"] {
 left: -15px !important;
}

.middle_inner_section #home_page .pager .btn[data-slide="next"] {
 right: -15px !important;
}
}

@media only screen and (min-width: 1248px) {
 .middle_inner_section #home_page .pager .btn {
  height: 3.25rem !important;
  width: 3.25rem !important;
 }
}

/* Alinha pela imagem (mantido como comentário de referência)
#home_page { position: unset;}
*/

/* ===========================
   Ícones / fontes
   =========================== */
.icon-newsletter-mail-icon .path2::before,
.icon-newsletter-mail-icon .path1::before {
 font-family: "icomoon" !important;
}


/* .newsletter .right-part #footersubscribe_sidebar .card-body form {
    display: unset;
    align-items: unset;
} 

.newsletter .right-part #footersubscribe_sidebar .card-body form .email {
    margin-bottom: .5rem;
}

.newsletter .right-part #footersubscribe_sidebar .card-body .help-block, .newsletter .right-part #footersubscribe_sidebar .card-body div[class=""] {
    display: unset;
}

.newsletter .right-part #footersubscribe_sidebar .card-body .help-block {
    display: none;
} */

/* ===========================
   Calculadora (normal / visual)
   =========================== */
#normalcalc .form-group .custom-control input {
 cursor: pointer;
 height: 100%;
 top: 0;
 width: 100%;
 z-index: 1;
}

#normalcalc textarea.form-control{
    height: 39px;
}

@media only screen and (min-width: 1440px) {
    #normalcalc .form-group {
        margin-bottom: 1.25rem;
    }
}

#product-info #price_calculator .visualcal span.calc_label,
#normalcalc .form-group .custom-control span.calc_label {
 margin: 0 !important;
}

.form-group .input-group .input-group-append .input-group-text {
    border: 1px solid hsl(0,0%,90%) !important;
}

/* Espaçamento na calculadora */
#product-info #price_calculator .visualcal span {
 font-size: 0.8125rem;
 line-height: 1rem !important;
 margin-top: 0.2rem !important;
}

/* Tamanho de fonte em labels */
#normalcalc .form-group .custom-control label {
 font-size: 0.8125rem;
}

#normalcalc .form-group label{
 font-size: 0.875rem;
     text-align: center;
}
#customize_design_block .form-group .col-form-label {
 font-size: 0.685rem;
     text-align: center;
}

/* ===========================
   Sticky pricing / layout produto
   =========================== */
/* FOR STICKY PRICING AND GET STARTED BUTTON:: END */
.studio-sticky-top#studioCanvas {
 position: unset;
}

#product-info>.row>.col-md-6:first-child {
 position: sticky !important;
 top: 3.6rem;
}

.custom-pricing-content-box {
 /* 10 px wider overall */
 /* centre it by shifting 3 px left & right */

 margin-left: -3px;
 margin-right: -3px;
 width: calc(100% + 6px);
}

#shippricecalulate #shipping_detail {
 padding-top: 0 !important;
}

/* ===========================
   Listas / cartões de produtos
   =========================== */
/* Esconder apenas <ul> dentro de .card-text na secção #home_page */
#home_page .card-text>ul {
 display: none;
}

/* AM 16/6/2025 — Hide product-box ul elements ≤ 992px */
/*@media (max-width: 992px) {
 .product-box .card-text>ul {
  display: none !important;
 }
}*/

/* AM 17/6/2025 — Alterações no “Start price” / cartões */
#category_product_list .product-box .card,
#product_list_without_category .product-box .card {
 padding-bottom: 1.5rem;
 border-radius: 1rem;
 position: relative;
}

.middle_inner_section #home_page .carousel-item .card .card-body .card-text span {
    font-size: 0.75rem!important;
}

.middle_inner_section #home_page .carousel-item .card .card-body .card-text span strong {
    display: inline;

    
}

#category_product_list .product-box .card-body .card-title,
#product_list_without_category .card-body .card-title {
    font-size: 0.875rem !important;
    color: #333 !important;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

#product_category .product-box .card-body .card-title{
    /*font-size:1.0625rem !important;*/
    color: #333 !important;
    letter-spacing: -0.35px;

}



#product_category .card:hover .card-title::before {
  width: 100%;
}

#category_product_list .product-box .card-body .card-text {
 font-size: 0.8125rem;
}

#category_product_list .product-box .card-body .card-text ul,
#product_list_without_category .product-box .card-body .card-text ui{
 list-style-type: disc;
 margin: 0;
 padding-left: 1.25rem;
}

#category_product_list .product-box .card-body .card-text li,
#product_list_without_category .product-box .card-body .card-text li{
    color: #444;
    font-size: 0.8125rem;
    margin-bottom: 0.5rem;
    letter-spacing: -0.3px;
}


#product_list_without_category .product-box{
    padding: 0 0.625rem;
}

@media only screen and (max-width: 767px) {
    #category_product_list .product-box .card .after_description,
    #product_list_without_category .product-box .card .after_description {
        bottom: 1rem;
        right: 0.75rem;
        font-size:0.6875rem;
    }
    
    #home_page .card-text .after_description {
         font-size:0.6875rem;
         left: 0.55rem;
         bottom: -0.75rem;
    }
    
    .start-price-value {
      font-size: 17px;
      color:#fd7d14;
    }
    .price-meta {     /* menor que o preço */
    color: #444;          /* cinza neutro moderno */
    font-weight: 400;        /* não competir com o preço */
    margin-left: 6px;        /* pequeno espaçamento */
}
    
    #home_page .start-price-value {
      font-size: 15px;
    }
    
    #category_product_list .product-box .card-body .card-text ul,
    #product_list_without_category .product-box .card-body .card-text ul{
        padding-left: 1rem;
    }
    
    #category_product_list .product-box .card-body .card-text li,
    #product_list_without_category .product-box .card-body .card-text li{
        margin-bottom: 0.5rem;
    }
}

@media (min-width: 768px) {
    #category_product_list .product-box .card .after_description {
        bottom: 0.75rem;
        right:0.5rem;
        font-size: 10px;
        
    }
       #home_page .card-text .after_description {
         left: 0.25rem;
         font-size:0.75rem;
        bottom: -0.75rem;
    }
    
    #home_page .start-price-value {
      font-size: 13px;
    }
    
    .start-price-value {
        font-size: 14px;
        color:#fd7d14;
    }
    
.price-meta {     /* menor que o preço */
    color: #444;          /* cinza neutro moderno */
    font-weight: 400;        /* não competir com o preço */
    margin-left: 6px;        /* pequeno espaçamento */
}
    
    #product_list_without_category .product-box .card-body .card-title {
        font-size: 0.875rem !important;
        line-height: 1.5;
    }
    
}

@media (min-width: 1248px) {
    #category_product_list .product-box .card .after_description {
        bottom: 0.75rem;
        right: 1rem;
        font-size: 12px;
    }
       #home_page .card-text .after_description {
         left: 0.25rem;
         font-size:0.75rem;
    }
    
    #home_page .start-price-value {
      font-size: 15px;
    }
    
    .start-price-value {
        font-size: 19px;
        color:#fd7d14;
    }

        #category_product_list .product-box .card-body .card-title,
        #product_list_without_category .product-box .card-body .card-title{
            font-size: 1rem!important;
        }
     
}

.card .after_description {
        position: absolute;
        letter-spacing: 0.25px;
}



/* ===========================
   Tipografia global (headings)
   =========================== */
/* TV 17/6/2025 — Altera H1–H5 */
h1,
.h1 {
     color: #333;
     font-size: 1.75rem;
     font-weight: 700;
    letter-spacing: -0.85px;
    }

h2,
.h2 {
 color: #333;
 font-size: 1.3125rem;
    letter-spacing: -0.85px;
}

h3,
.h3 {
 color: #333;
 font-size: 1.125rem;
}

h4,
.h4 {
 color: #333;
 font-size: 1rem;
 font-weight: 600;
}

h5,
.h5 {
 color: #333;
 font-size: 0.8125rem;
 font-weight: 500;
}

/* TV 17/6/2025 — Headings para mobile */
@media only screen and (max-width: 767px) {

 h1,
 .h1 {
  font-size: 1.625rem;
 }

 h2,
 .h2 {
  font-size: 1.0625rem;
 }

 h3,
 .h3 {
  font-size: 1rem;
 }

 h4,
 .h4 {
  font-size: 0.9375rem;
 }
}

/* ===========================
   Tipografia global (body)
   =========================== */
@media only screen and (min-width: 1248px) {
 body {
  font-size: 0.875rem;
 }
}

@media only screen and (min-width: 768px) and (max-width: 1247px) {
     body {
      font-size: 0.8125rem;
     }
     
     #category_product_list .product-box .card-body .card-text li,
     #category_product_list .product-box .card-body .card-text p {
     font-size:12px!important;
    }
}

/* TV 20/09/2025 - Altera H1 título product info */
#product-info h1 {
 font-size: 1.5rem;
}

@media only screen and (max-width: 767px) {
    #pro-disc h1,
     #pro-disc h3{
    display: none;
    }
    
     body {
      /*font-size: 0.8125rem;*/
     }
      #category_product_list .product-box .card-body .card-text li,
      #category_product_list .product-box .card-body .card-text p { 
          font-size:12px!important;
    }
    
    #product-info h1 {
        font-size: 1.375rem;
    }
}

 #pro-disc p,
 #InfoTab p{
        text-align: justify;
        text-justify: inter-word;
        hyphens: auto;
 }
 
/* ===========================
   Headings (long / product)
   =========================== */
/* TV 16/09/2025 - Altera H2 a H3 no long */
#pro-disc h2,
#pro-disc .h2 {
 font-size: 1.125rem;
}

#pro-disc h3{
 font-size: 1rem;
}

/* TV 20/09/2025 - Altera H2/H3 no long2/3 */
#product-long-description-two h2,
#product-long-description-three h2 {
 font-size: 1.0625rem;
}

#product-long-description-two h3,
#product-long-description-three h3 {
 font-size: 0.9375rem;
}



/* ===========================
   Calculadora
   =========================== */

/* ===========================
   Botões – Laranja (#fd7d14)
   =========================== */

.btn-info {
 background: #fd7d14;
 border-color: #fd7d14;
}



/* Botões laranja (checkout) */
#SubmitData_cart2,
#shipping_continue,
#checkout {
 background: #fd7d14;
 background-color: #fd7d14;
 border: 1px solid #fd7d14;
}

/* Hovers laranja (texto laranja, fundo branco) */
#SubmitData_cart2:hover,
#shipping_continue:hover,
#checkout:hover {
 color: #fd7d14;
 /* texto laranja no hover */

 background-color: white;
}


/* ===========================
   Botões – Verde (#28a745)
   =========================== */
#SubmitBtnBuyNow,
#shopping-cart #BtnNext {
 padding: 0.75rem 1.5rem;
 background-color: #28a745;
 border: 1px solid #28a745;
 font-weight: bold;
 transition: background-color 0.2s ease;
 box-shadow: 0 3px .5rem 0 #ccc;
}

#SubmitBtnBuyNow:hover,
#shopping-cart #BtnNext:hover {
 color: #28a745;
 /* texto verde no hover */

 background-color: white;
}

/* ===========================
   Botões – Cinza escuro (#4d4d4d)
   =========================== */
/* informativos + checkout “guardar” */
a.btn-info,
#SubmitData_save {
 background-color: #4d4d4d;
 border: 1px solid #4d4d4d;
}

a.btn-info {
 padding-left: 15px;
 padding-right: 15px;
}

a.btn-info:hover,
#SubmitData_save:hover {
 background-color: white;
 border: 1px solid #4d4d4d;
 color: #4d4d4d;
}

/* Upload later (checkout) */
#uploader_type_latter_checkout_btn {
    background-color: rgba(0, 0, 0, 0.02);
    border: 2px dashed rgba(0, 0, 0, 0.2);
}

#uploader_type_latter_checkout_btn:hover {
      background-color: #4d4d4d;
}

/* ===========================
   Botão/Link — My images
   =========================== */
#openImagePanel {
 border: 1px solid #fd7d14;
 color: #fd7d14;
}

#openImagePanel:hover {
 background-color: #fd7d14;
 color: white;
}

/* ===========================
   Breadcrumbs
   =========================== */
/* força quebra da categoria em segunda linha */
h1.p-0>small.text-secondary {
 margin-top: 4px;
 display: block;
}

/*#product_info .breadcrumb_container .breadcrumb li:last-child {
    display: none;
}*/


/* visibilidade e estilo */
.breadcrumb_container {
 width: 100%;
 display:block;
}

#product_category .breadcrumb_container{
    display: none;
}

@media only screen and (min-width: 768px) {
    .breadcrumb li a {
        border-radius: 1rem;
        padding: 0.25rem;
        padding-inline: 0.5rem;
    }
    .breadcrumb li a:hover {
        background-color: rgba(0, 0, 0, 0.05);
        box-shadow: inset 0 -1px 1px rgba(0, 0, 0, 0.09);

    }
}


.breadcrumb li.active {
 font-weight: 500;
}


@media only screen and (max-width: 767px) {
    #product_info .breadcrumb_container .breadcrumb li:last-child {
        display: none;
    }
    .breadcrumb li {
    font-size: 0.75rem;
    font-weight: 400;
}
    
}


/* ===========================
   Checks / preços / quantidade
   =========================== */
/* (não sei o que faz) – mantém SVG do check */
.custom-checkbox .custom-control-input:checked~.custom-control-label::after {
 background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' stroke='%23000' stroke-width='0.8' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
}

/* esconder size */
.hidesizeclass .prduct_size {
 display: none !important;
}

/* diferenças de preço */
.price-positive,
.price-negative {
 color: #2E7D32 !important;
 font-size: 0.8125rem!important;
 font-weight: 600;
}

.price-positive {
 color: #2E7D32 !important;
}
/* shipping options / preços */
.shipping-options-wrapper .custom-price {
 margin-right: 0.625rem;
     min-width: 80px;
}

.shipping-options-wrapper .price-diff.text-success {
 color: #2E7D32 !important;
}

.shipping-options-wrapper .custom-price {
 font-size: 0.875rem;
 font-weight: 700;
}

/* desconto */
.discount-detail {
 color: #dc3545 !important;

 display: none;
 font-weight: 700;
}

/* produto: quantidade dinâmica */
#producttotalprice .product-amount+small .text-muted,
.final_summary_amount_with_tax .product-amount+small .text-muted {
 font-size: 1rem;
}


.qty-option {
 border: 1px solid hsl(0, 0%, 90%);
 border-radius: 0.5rem;
}

.qty-option .qty-price {
 color: #2E7D32;
 font-size: 0.8125rem;
 font-weight: 700;
 line-height: 1rem;
}

.qty-option .qty-amount {
 color: #4d4d4d;
 font-size: 0.8125rem;
 font-weight: 700;
 line-height: 1rem;
}

.qty-option .show-more-qty {
    font-size: 0.8125rem;
}

.qty-option.show-more-option {
  max-height: 42px;
  overflow: hidden;
}

.qty-option.selected {
 border: 2px solid #333;
 box-shadow: 0 0 .365rem 0 hsl(0, 0%, 50%);
}

.qty-option:hover {
 box-shadow: 0 3px .5rem 0 #ccc;
}

/* ===========================
   Production speed / Shipping options
   =========================== */
.shipping-options-wrapper .custom-shipping-option {
 border: none;
 box-shadow: 0 3px .5rem 0 #ccc;
 border-radius: 0.5rem;
}

.shipping-options-wrapper .custom-shipping-option:hover {
     background-color: hsla(0, 0%, 5%, 0.05);
     box-shadow: 0 3px .5rem 0 #ccc;
}

.shipping-options-wrapper.mb-4 {
 margin-bottom: 0.5rem !important;
 /* equivale ao .mb-2 */
}

/* ===========================
   Tabs
   =========================== */
/* mantém a cor do hover com a FAQ ativa */
.nav-tabs .nav-item .nav-link::after {
 color: #fd7d14;
}

/* ===========================
   Botões pequenos / resets
   =========================== */
/* aplica-se a todos os botões tipo link pequenos RESET */
a.btnrest,
a.request_cancel,
a.btn-link,
a.reorder {
 font-size: 0.75rem;
     padding: 0.25rem 0.5rem;
}

.btn {
 padding: 0.25rem 1rem;
}

.btn-outline-secondary {
 font-size: 0.875rem;
}

a.text-primary:hover, a.text-primary:focus {
    color: #fd7d14 !important;
}

@media (max-width: 575.98px) {
    #user_order_info .btn{
        font-size: 0.75rem;
    }
    #user_order_info .btn-outline-secondary {
        font-size: 0.75rem!important;
    }
}

#artworkuploadlink_ .btn-outline-secondary {
    font-size: 0.75rem;
}

@media only screen and (min-width: 768px) {
    #quote_create .btn {
        padding: 0.5rem 2rem !important;
    }
}

/* ===========================
   Ações – “Comprar novamente” e “Adicionar ao carrinho”
   =========================== */
/*a.reorder,
a.reorder_design {
 background-color: #fd7d14;
 border: 1px solid #fd7d14;
 color: white;
 font-weight: bold;
}*/

a.reorder,
a.reorder_design,
a.hire_designer_form,
a[href^="#inline_order_product_cancel_"] {
 font-size: 0.75rem;
}



/*a.reorder:hover,
a.reorder_design:hover {
 background-color: white;
 border: 1px solid #fd7d14;
 color: #fd7d14;
}*/

/* “View details” da encomenda, buy-now em listagens */
a.btn-secondary.text-nowrap[href*="user_order_info.php"],
.order-action-btn a.common-post-action {
 font-size: 0.75rem;
}

#user_order .card-header:first-child {
    border-top-left-radius:1rem;
    border-top-right-radius:1rem;
}

#user_order .tab-content{
    margin-top:1rem;
}


/* Estado da encomenda + info extra no carrinho */
.short-disc .text-primary {
 font-size: 0.8125rem;
}

.cart-additional-info li {
 font-size: 0.75rem;
}

/* ===========================
   Tipografia / blocos
   =========================== */
ul.short-disc li {
 font-size: 0.75rem;
 padding-bottom: 0.1rem;
}

.card-body address {
 font-size: 0.8125rem;
 line-height: 1.6rem;
}

/* ===========================
   Menu “All products” – scroll + colunas responsivas
   =========================== */
.navbar .dropdown-menu.show {
 max-height: 525px;
 min-height: 240px;
 overflow-y: auto;
 scrollbar-width: thin;
}

.navbar .navbar-nav .nav-item > .nav-link {
    color: #333 !important;
}

@media only screen and (min-width: 1100px) {
 .navbar .dropdown-menu.show {
  max-height: 585px;
 }
}


/* XS: 1 coluna */
@media (max-width: 575.98px) {
 .navbar .nav-item .card-columns {
  -moz-column-count: 1;
  -webkit-column-count: 1;
  column-count: 1;
  column-gap: 1rem;
  width: 100%;
 }

}

/* SM: 2 colunas */
@media (min-width: 576px) and (max-width: 767.98px) {
 .navbar .nav-item .card-columns {
  -moz-column-count: 2;
  -webkit-column-count: 2;
  column-count: 2;
 }

}

/* MD: 3 colunas */
@media only screen and (max-width: 991px) {
 .navbar .nav-item .card-columns {
  -moz-column-count: 3;
  -webkit-column-count: 3;
  column-count: 3;
  margin-inline: 0.5rem;
    margin-top: 0.5rem;
 }

}

/* LG: 4 colunas */
@media (min-width: 992px) and (max-width: 1199.98px) {
 .navbar .nav-item .card-columns {
  -moz-column-count: 4;
  -webkit-column-count: 4;
  column-count: 4;
  margin-inline: 0.75rem;
  margin-top: 0.75rem;
 }

}

/* XL+: 5 colunas */
@media (min-width: 1200px) {
 .navbar .nav-item .card-columns {
  -moz-column-count: 5;
  -webkit-column-count: 5;
  column-count: 5;
  margin-inline: 0.75rem;
  margin-top: 0.75rem;
 }
 
 #category-wrapper .card-columns {
    max-height: 625px;
}

}



/* ===========================
   “Action buttons” – cores por tipo
   =========================== */
#action-btn .btn-title-text.browse_design,
#action-btn .btn-img-text.browse-design {
    background-color: #ceeAD6;
}

#action-btn .btn-title-text.browse_design:hover,
#action-btn .btn-img-text.browse-design:hover {
    background-color: #81C995;
}

#action-btn .btn-title-text.custom_design,
#action-btn .btn-img-text.custom-design {
    background-color: rgba(37, 21, 147, 0.25);
}
#action-btn .btn-title-text.custom_design:hover,
#action-btn .btn-img-text.custom-design:hover {
    background-color: rgba(37, 21, 147, 0.5);
}

#action-btn .btn-title-text.upload_design,
#action-btn .btn-img-text.upload-design {
    background-color: rgba(237, 110, 30, 0.25)
}

#action-btn .btn-title-text.upload_design:hover,
#action-btn .btn-img-text.upload-design:hover {
    background-color: rgba(237, 110, 30, 0.5);
}

#action-btn .btn-title-text.hire_designer,
#action-btn .btn-img-text.ico-hire-designer {
    background-color: rgba(0, 165, 216, 0.2);
}

#action-btn .btn-title-text.hire_designer:hover,
#action-btn .btn-img-text.ico-hire-designer:hover {
    background-color: rgba(0, 165, 216, 0.5);
}

#action-btn .btn-title-text.quote_product,
#action-btn .btn-img-text.ico-quote-design {
 background-color: #fde293; /* mais suave */
  border: 2px dashed rgba(0, 0, 0, 0.18);
}

#action-btn .btn-title-text.quote_product:hover,
#action-btn .btn-img-text.ico-quote-design:hover {
   background-color: #fdd663;
  border-color: rgba(0, 0, 0, 0.4);
}

#action-btn .btn-img-text.ico-upload-artwork-later {
 background-color:rgba(0,0,0,0.02);
    border: 2px dashed rgba(0, 0, 0, 0.15);
}

#action-btn .btn-img-text.ico-upload-artwork-later:hover {
    background-color: rgba(0,0,0,0.03);
    border-color: rgba(0,0,0,0.3);
}

#action-btn:active,
#action-btn:active {
  transform: translateY(1px);
}

@media (max-width: 768px) {
  .upload_artwork_later i.fal {
    display: none !important;
  }
     #action-btn .page-sub-header h2 {
         font-size:22px;
    }
}

#action-btn .short-disc{
    margin-top:0.125rem;
}

/* Texto sempre a preto nos títulos dos action buttons */
#action-btn .btn-title-text.browse_design a,
#action-btn .btn-title-text.custom_design a,
#action-btn .btn-title-text.upload_design a,
#action-btn .btn-title-text.hire_designer a,
#action-btn .btn-title-text.quote_product a {
 color: black !important;
}

/* Estilo base comum aos “action buttons” com imagem */
#action-btn .btn-img-text {
 border: none;
 -webkit-border-radius: 1rem !important;
}

/* ===========================
   “Action buttons” – troca de ícones
   =========================== */
#action-btn .btn-img-text.browse-design i:before {
 content: url("https://dw5nxb8id2q91.cloudfront.net/atoprint-production/images/contentimages/images/browse_design_img_b.png");
}

#action-btn .btn-img-text.custom-design i:before {
 content: url("https://dw5nxb8id2q91.cloudfront.net/atoprint-production/images/contentimages/images/custom_design_img_b.png");
}

#action-btn .btn-img-text.upload-design i:before {
 content: url("https://dw5nxb8id2q91.cloudfront.net/atoprint-production/images/contentimages/images/upload_design_img_b.png");
}

#action-btn .btn-img-text.ico-quote-design i:before {
 content: url("https://dw5nxb8id2q91.cloudfront.net/atoprint-production/images/contentimages/images/quote_action_btn_img_b.png");
}

#action-btn .btn-img-text.ico-hire-designer i:before {
 content: url("https://dw5nxb8id2q91.cloudfront.net/atoprint-production/images/contentimages/images/hire_action_btn_img_b.png");
}

#action-btn .btn-img-text.ico-upload-artwork-later i:before {
 content: url("https://dw5nxb8id2q91.cloudfront.net/atoprint-production/images/contentimages/images/upload_later_img3_d.png");
}

#action-btn .btn-img-text .media-body .h4 {
color: #333;
font-weight: 700;
font-size:17px;
}
/* ===========================
   Homepage · CMS blocks / slider
   =========================== */


/* Slider setas (homepage) */
#home_page .pager li .btn-secondary {
 width: 50px;
 height: 50px;
}
/*
#home_page .pager li .btn-secondary[data-slide=next] {
    right: -15px;
}
#home_page .pager li .btn-secondary[data-slide=prev] {
    left: -15px;
}*/

/* Icon header*/
.header-content .container .header-content-wrap .icon > span {
    font-size: 30px;
}

/* ===========================
   Product cards (homepage)
   =========================== */
#home_page .product-box .card-body .card-text {
 display: block !important;
 font-weight: 400 !important;
 padding-bottom: 0.5rem;
 padding-top: 0.5rem;
}

#home_page .product-box .card-body .card-text p {
 display: none !important;
}

#home_page .product-box .hover-box-shadow .card-body .card-title {
 color: #333 !important;
 font-size: 0.875rem;
 font-weight: 600;
 text-align: start;
}


/* thumbnails / hover */
.product-box .thumbnail {
 border-top-left-radius: 15px;
 border-top-right-radius: 15px;
}

.header-content .product-box .thumbnail {
    border-radius: 1rem;
}

#home_page .product-box .hover-box-shadow {
 border-top-left-radius: 15px;
 border-top-right-radius: 15px;
}

#related-product .slick-list .card img {
 border-top-left-radius: 0.75rem;
 border-top-right-radius: 0.75rem;
}

.zoom:hover {
 border-top-left-radius: 1rem;
 border-top-right-radius: 1rem;
}

/* ===========================
   Upload artwork later (produto)
   =========================== */
#product-info .upload_artwork_letter {
 /* border: none !important; */

 margin-bottom: 1rem !important;
 margin-top: 0.5rem !important;
}

@media only screen and (max-width: 600px) {
 #product-info .upload_artwork_letter {
  border: 1px solid #000;
  /* border-secondary */

  border-radius: 0.25rem;
  display: block;
 }

 #product-info .upload_artwork_letter a {
  display: block;
  font-size: 1rem !important;
  font-weight: 600;
  padding: 0rem;
  text-align: center;
 }
}

/* ===========================
   Modais / fancybox
   =========================== */
@media only screen and (min-width: 768px) {
 .fancybox__content,
 .f-html {
      border-radius: 0.5rem !important;
 }
 .fancybox__content .fancybox__iframe{
      border-radius: 0.5rem;
 }
 
.fancybox__backdrop {
background: rgba(24, 24, 27, 0.9)!important;
}
/*.fancybox__html5video,
.fancybox__iframe {
 border-radius: 1rem;
}*/

 .middle_inner_section #home_page .carousel-item .card {
  padding: 0.5rem !important;
 }
}

.modal-content {
 border: none;
 border-radius: 1rem;
}

.middle_inner_section #home_page .carousel-item .card .card-body {
 padding-bottom: 0 !important;
}

/* ===========================
   Promo bar (sticky em breakpoints)
   =========================== 
@media only screen and (max-width: 600px) {
 .awesome-bar {
  position: sticky;
  top: 45px;
 }
}

@media only screen and (min-width: 768px) {
 .awesome-bar {
  position: sticky;
  top: 115px;
 }
}

@media only screen and (min-width: 1024px) {
 .awesome-bar {
  position: sticky;
  top: 112.75px;
 }
}*/

/* ===========================
   Mensagens promo / tipografia
   =========================== */
p.free-shipping {
 margin-bottom: 0.25rem;
 margin-top: 0.25rem;
 text-align: center;
}

.free-shipping  a{ 
    text-decoration: underline;
    color:white;
}

.free-shipping  a:hover{ 
    color:#fd7e14;
}


/* ===========================
   Ícones / utilitários
   =========================== */
.fa-pen-to-square {
 font-size: 3em !important;
 line-height: 1em !important;
}

/* Acessibilidade / SEO-friendly hide */
.seo-hide {
 border: 0 !important;
 clip: rect(0, 0, 0, 0) !important;
 height: 1px !important;
 margin: -1px !important;
 overflow: hidden !important;
 padding: 0 !important;
 position: absolute !important;
 white-space: nowrap !important;
 width: 1px !important;
}

/* ===========================
   Shipping / resumo de preço
   =========================== */
/* esconder inputs de shipping */
#shippricecalulate #shipcountry,
#shippricecalulate #shipzipcode,
#shippricecalulate #calculate_button {
 display: none !important;
}

#shipping_detail #delivery_days_details {
 display: none !important;
}

/* labels e estimativas */
.shipping-options-wrapper .custom-option-label .custom-name {
 color: #333;
 font-size: 0.875rem;
 font-weight: 700;
 line-height: 1.5rem;
}

.shipping-options-wrapper .custom-estimated-delivery strong,
.shipping-options-wrapper .custom-estimated-delivery {
 color: #333;
 font-size: 0.8125rem;
 /*font-weight: 500;*/
}

/* resumo preço (produto) */
#product-info:not(.kitproductinfo) .sub-total span:nth-child(3),
#product-info:not(.kitproductinfo) .summary_toggle span:nth-child(3) {
 font-size: 1.50rem;
}

/* ===========================
   Cards / listas relacionadas / templates
   =========================== */
.content-box {
 font-weight: 700;
}

.card {
 border-radius: 1rem;
 border: 1px solid rgba(0,0,0,.08);
}

#related-product .slick-list .slick-track .slick-slide .card {
 border: 1px solid hsl(0, 0%, 90%) !important;
}

/* Templates listing */
#templates_listing_area .slick-list .templatebox .card,
#templates_listing_area .templatebox .card {
 border: 1px solid hsl(0, 0%, 90%);
 border-radius: 1rem;
 overflow: hidden;
}

#templates_listing_area .slick-list .templatebox {
 border-radius: 1rem;
}

/* Botão nas listagens de templates */
#templates_listing_area .btn.btn-primary {
 border-radius: 28px;
 font-size: 0.8125rem;
    padding: 0.35rem 1rem;
}

.search_template_box .btn-outline-primary {
    border-radius: 1rem!important;
    font-size: 0.8125rem;
    padding: 0.35rem 1rem;
}

/* Títulos nos filtros/listas */
#filter_orientation .card-header .card-title,
#category_list .card-header .card-title {
 font-size: 0.8125rem;
}

#category_list .card-header .card-title {
 font-weight: 700;
}

/* Grid do template list */
@media (min-width: 992px) {
 #templatelist .col-lg-3 {
  flex: 0 0 20%;
  max-width: 20%;
 }

 #templatelist .col-lg-9 {
  flex: 0 0 80%;
  max-width: 80%;
 }
}

 #templatelist .float-right {
    display: none;
}

@media only screen and (min-width: 1248px) {
    #product-info #templatelist {
    padding-top: 3rem;
    margin-bottom: 2.5rem !important;
    }
}
/* ===========================
   Forms / inputs
   =========================== */
.bootstrap-select .dropdown-toggle {
 border: 1px solid hsl(0, 0%, 90%);
}

.form-control {
 border: 1px solid hsl(0, 0%, 90%);
 border-radius: 0.5rem;
}

.form-control, .custom-select {
    height: calc(1.25em + 1.2rem + 2px);
}

/* ===========================
   Slider Cat (grid)
   =========================== */
@media (min-width: 1200px) {
 .slider-cat .col-xl-2 {
  -ms-flex: 0 0 13%;
  flex: 0 0 13%;
  max-width: 14%;
  padding-left: 0.625rem;
  padding-right: 0.625rem;

 }

}

@media only screen and (max-width: 600px) {
 .slider-cat .col-5 {
  flex: 0 0 39%;
  max-width: 41.666667%;
 }
}

/* ===========================
   Ícone share
   =========================== */
.fa-share::before {
 content: '\f1e0' !important;
 font-size: 1.25rem;
 font-weight: initial;
}

@media (max-width: 767.98px) {
 .page-header #generate_link {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.1rem;
  text-decoration: none;
 }

 .page-header #generate_link i {
  margin-right: 0 !important;
  /* anula o .mr-1 */
  margin-bottom: 4px;
  /* espaço entre ícone e texto */
 }
}

.page-header h1 a:hover {
    text-decoration: underline;
    color:#fd7e14;
}
.page-header h1 a {
    color:#666666;
}


/* ===========================
   Tabelas · Long3 (desktop)
   =========================== */
.long3-table{
  background:#fff;
  border-collapse:collapse;
  border-radius:1rem;
  box-shadow:0 1px 3px rgba(0,0,0,.1);
  color:#4d4d4d;
  font-size:.8125rem;
  overflow:hidden;
  width:100%;
  /* sugestão: auto para melhorar quebras */
  table-layout:auto;
}

.long3-table th,
.long3-table td{
  border-bottom:1px solid #e6e6e6;
  padding:.5rem 1rem;
  vertical-align:top;
}

.long3-table th{
  font-weight:600;
  text-align:left;
}

.long3-table thead th{
  background:#fff;
  border-bottom:1px solid #e6e6e6;
  font-weight:700;
}

.long3-table td:first-child,
.long3-table th:first-child{
  font-weight:600;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}

.long3-table tr:last-child td{ border-bottom:none; }

.long3-table tbody tr:hover{ background:#fafafa; }

.long3-table .section-row th{
  background:#f8f9fa;
  border-bottom:1px solid #e6e6e6;
  font-weight:700;
  padding:.5rem 1rem;
  text-align:left;
  text-transform:uppercase;
  letter-spacing:.02em;
  font-size:.75rem;
}

.long3-table td > *:last-child {
  margin-bottom: 0;
}

.long3-table td ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.long3-table td li {
  margin-bottom: .25rem;
}
/* Larguras opcionais */
.long3-table .col-label{ width:clamp(160px, 40ch, 350px); }

@media (max-width:640px){
  .long3-table .col-label{ width:clamp(120px, 22ch, 200px); }
}

/* ===========================
   Tabelas · Long3 (mobile-friendly)
   =========================== */
.long3mobile {
 border-collapse: collapse;
 border-radius: 1rem;
 color: #4d4d4d;
 font-size: 0.8125rem;
 overflow: hidden;
 width: 100%;
}

@media (min-width: 769px) {
 .long3mobile {
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
 }
}

.long3mobile th,
.long3mobile td {
 border-bottom: 1px solid #e6e6e6;
 padding: 0.5rem 1rem;
 text-align: left;
}

.long3mobile thead th {
 background: #fff;
 font-weight: 700;
}

.long3mobile tr:last-child td {
 border-bottom: none;
}

.long3mobile tbody tr:hover {
 background: #fafafa;
}

@media (max-width: 768px) {

 .long3mobile,
 .long3mobile thead,
 .long3mobile tbody,
 .long3mobile th,
 .long3mobile td,
 .long3mobile tr {
  display: block;
  width: 100%;
 }

 .long3mobile thead {
  display: none;
 }

 .long3mobile tr {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 1rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  margin-bottom: 1rem;
  padding: 0.5rem;
 }

 .long3mobile td {
  align-items: center;
  border: none;
  display: flex;
  flex-direction: column;
  padding: 6px 10px;
  text-align: center;
 }

 .long3mobile td::before {
  content: attr(data-label);
  font-weight: 600;
  margin-bottom: 4px;
  text-align: center;
  width: 100%;
 }

 .long3mobile tr:first-child {
  padding-top: 15px;
 }

 .long3mobile tr td {
  border-bottom: 1px solid #ddd;
  margin-bottom: 6px;
  padding-bottom: 0.5rem;
 }
}

/* ===========================
   Care list (características)
   =========================== */
.care-list {
 list-style: none;
 margin: 0;
 padding: 0;
}

.care-list li {
 line-height: 1.25rem;
 margin-bottom: 1rem;
}

.care-list .li-title {
 font-weight: 600;
 margin-right: .5rem;
}

@media (min-width: 769px) {
 .care-list li {
  align-items: baseline;
  display: flex;
 }

 .care-list .li-text {
  flex: 1;
 }
}

@media (max-width: 768px) {
 .care-list li {
  display: block;
 }

 .care-list .li-title {
  display: block;
  margin-bottom: .25rem;
 }
}

/* ===========================
   “Extra message” (ícone e textos)
   =========================== */
.icon-img {
 width: 30px;
}

.text-extra-title {
 font-size: 0.875rem;
 font-weight: 600;
}

.text-extra-subt {
 font-size: 0.8125rem;
}

.text-extra-title a {
 text-decoration: underline;
}

@media (max-width: 768px) {
 .icon-img {
  width: 45px;
 }

 .text-extra-title {
  font-size: 0.875rem;
  text-align: center;
 }

 .text-extra-subt {
  font-size: 0.8125rem;
  text-align: center;
 }
}

/* ===========================
   Botões / componentes comuns
   =========================== */

#btnlogin_page,
#btnlogin_left,
.btnsendotplogin{
    background-color: #fd7e14;
    border-color: #fd7e14;
    color: #fff;
        padding: 0.5rem 1.5rem;
}

#popup_btnlogin{
    background-color: #fd7e14;
    border-color: #fd7e14;
    color: #fff;
}

#btnlogin_page:hover,
#btnlogin_page:focus,
#btnlogin_left:hover,
#btnlogin_left:focus,
.btnsendotplogin:hover,
.btnsendotplogin:focus,
#popup_btnlogin:hover,
#popup_btnlogin:focus{
    background-color: #fff;
    color: #fd7e14;
        border-color: #fd7e14;
}

#btnlogin_page:active,
#btnlogin_left:active,
.btnsendotplogin:active,
#popup_btnlogin:active{
    transform: translateY(1px);
}

.btn:active {
    transform: translateY(1px);
}

/* ===========================
   Product images · thumbs/carrossel
   =========================== */
#product_images .carousel-thumbs a {
 border: 2px solid rgba(0, 0, 0, 0);
 outline: none;
}

#product_images .carousel-thumbs a.active {
 border-radius: 0.5rem;
 border-color: #fd7e14;
outline-color: #fd7e14;
}

@media only screen and (max-width: 1248px) {

 #product_images .carousel-control-prev-icon::before,
 #product_images .carousel-control-next-icon::before {
  font-size: 1.7rem !important;
 }
}

@media only screen and (max-width: 990px) {

 #product_images .carousel-control-prev-icon::before,
 #product_images .carousel-control-next-icon::before {
  font-size: 1.4rem !important;
 }
}

/* ===========================
   Shipping / resumo / tipografia utilitária
   =========================== */
.shipping-options-wrapper .custom-option-label small {
 display: none;
}

.short-disc {
 font-size: 0.875rem;
}

.paymentDetailsStep small {
 font-size: 0.75rem;
}

.text-primary {
 color: #333 !important;
}

.text-muted {
 color: #5a6268!important;
}

/* ===========================
   Vários
   =========================== */
.slider-cat img {
 border-radius: 50%;
}

.summary_toggle small.text-danger {
 display: none !important;
}


@media (min-width: 768px) {
     #home_page .pl-md-3 {
      padding-left: unset !important;
     }
    
     #home_page .px-md-3 {
      padding-left: 0.25rem !important;
      padding-right: 0.25rem !important;
     }
}

.header-content .container .header-content-wrap {
 -webkit-border-radius: 0rem;
 max-width: 1300px;
    border-bottom-right-radius: 16px;
    border-bottom-left-radius: 16px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

@media only screen and (min-width: 768px){
.header-content .header-content-main {
margin-top: -0.5rem !important;
}
}

.newsletter {
 border-radius: 1rem;
 padding-bottom: 0.25rem;
}

@media only screen and (min-width: 768px) {
 .newsletter .newsletter-wrap {
  /*box-shadow: 0px 2px .25rem 0px #ccc;*/
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, .125);
 }
}

/* Grid auxiliar */
.desc-col-12 {
 -ms-flex: 0 0 100%;
 flex: 0 0 100%;
 max-width: 100%;
}

@media (min-width: 768px) {
 .desc-col-md-7 {
  -ms-flex: 0 0 58.333333%;
  flex: 0 0 58.333333%;
  max-width: 58.333333%;
 }
 
  #category_product_list .cat-description p,
  #product_category .cat-description p{
    font-size:14px;
 }
}

.cat-description{
        padding-left: 0;;
 }


#product-info #price_calculator .card-header {
 display: none;
}

/* ================================
   Landing Page (escopado à .landing_page)
   ================================ */
#cms_page .page-header,
#cms_page .breadcrumb_container {
 display: none;
}

/* Estrutura base */
.about-us .body-container {
 margin-top: 0;
 padding-bottom: 0;
 padding-top: 0;
}

.about-us #cms_page {
 margin: 0 -15px;
}

/* Testemunhos / Clientes */
.our-client-img {
 position: relative;
}

.about-us .img-fluid {
 border-radius: 22px;
 box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .1);
 overflow: hidden;
    width: 100%;
    height: 390px;
    object-fit: cover;
    object-position: center;
}

.our-client-img:before {
 background: linear-gradient(90deg, #EBF4FE 0%, #FEF2F9 94.43%);
 border-radius: 50%;
 content: "";
 height: 270px;
 left: 0;
 margin: 0 auto;
 position: absolute;
 right: 0;
 top: 50%;
 transform: translateY(-50%);
 width: 270px;
 z-index: -1;
}

/* Botão Play */
.about-us .play-button {
 left: 50%;
 position: absolute;
 top: 50%;
 transform: translate(-50%, -50%);
}

.about-us .play-button button {
 background-color: transparent;
 border: 2px solid #fff;
 border-radius: 50%;
 cursor: pointer;
 height: 100px;
 padding: 0;
 width: 100px;
}

/* Equipa */
.about-us .our_team .thumbnail {
 border-radius: 1.25rem;
 padding-bottom: 0;
}

.about-us .team-social-icons {
 background: linear-gradient(360deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0) 100%);
 border-bottom-left-radius: 20px;
 border-bottom-right-radius: 20px;
 bottom: 0;
 height: 77px;
 left: 0;
 position: absolute;
 transform: translateY(77px);
 transition: transform 0.5s ease;
 width: 100%;
}

.about-us .our_team .team-info .card:hover .team-social-icons {
 transform: translateY(0);
}

.about-us .team-social-icons a {
 display: inline-block;
 height: 32px;
 width: 32px;
}

.about-us .team-social-icons a i {
 transition: all 0.5s ease;
}

.about-us .team-social-icons a:hover i {
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
 background: linear-gradient(90deg, #557DE7 13.53%, #C54FB1 100%);
}

/* Elementos de destaque */
.about-us .slanted_edge {
 background-color: #fd7e14;
 border-radius: 0.25rem;
 box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
 font-size: 1rem;
}

.about-us .slanted_edge_1 {
 color: #fd7e14;
}

.img-logo {
 max-width: 100%;
}

.about-us .text-icon {
 color: #fd7e14;
 min-width: 35px;
}

.about-us .text-kpi {
 flex: 0 0 190px;
 max-width: 200px;
  font-size:13px;
}

.about-us .text-kpi h4 {
  font-size:14px;
}

.about-us .page-title {
 font-size: 30px;
 font-weight: 800;

}

.about-us .subtitle {
font-size: 1.5rem;
font-weight: 800!important;
}


.about-us .product-box {
 padding: 1.25rem;
}


.about-us .image-mosaic {
  position: relative;
  width: 100%;
}

.about-us .image-mosaic-top {
  width: 100%;
  height: 260px;
  border-radius: 22px;
  overflow: hidden;
  margin-bottom: 24px;
}

.about-us .image-mosaic-top img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-us .image-mosaic-bottom {
  display: flex;
  gap: 24px;
}

.about-us .image-mosaic-item {
  flex: 1;
  height: 220px;
  border-radius: 22px;
  overflow: hidden;
}

.about-us .image-mosaic-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

 .about-us {
        font-size: 14px;
}   

/* RESPONSIVO */
@media (max-width: 991.98px) {
  .about-us .image-mosaic-top {
    height: 260px;
  }

 .about-us .image-mosaic-item {
    height: 200px;
  }
}


@media (max-width: 767.98px) {
    
     .about-us{
  font-size: 14px;
}   

    .about-us .image-mosaic-bottom {
    flex-direction: column;
  }

 .about-us  .image-mosaic-item {
    height: 220px;
  }
 .text-kpi i {
  font-size: 2rem !important;
  /* aumenta o ícone */
 }

 .text-kpi h3 {
  font-size: 1rem !important;
  /* aumenta o número */
 }

 .text-kpi p {
  font-size: 0.75rem !important;
  /* aumenta a legenda */
 }

 .about-us .text-kpi {
  margin-left: auto;
  margin-right: auto;
  /* opcional: centra o bloco */
  flex: 0 0 130px;
  max-width: 130px;
 }

 .about-us .page-title {
  font-size: 1.5rem;
  /* mobile */
 }

 .about-us .subtitle {
  font-size: 1.25rem;
 }

 .about-us .product-box {
  padding-left: 0rem;
  padding-righ: 0rem;
 }

 .about-us .partner-logos {
  flex-direction: column !important;
  align-items: center !important;
 }

 .about-us .partner-logos .col-auto {
  margin-bottom: 24px;
  /* Espaço fixo entre logos */
 }

 .about-us .partner-logos .col-auto:last-child {
  margin-bottom: 0;
  /* Remove margem no último */
 }
}


.about-us .card {
 box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .1);
 border-radius: 1.25rem;
}

/* Contactos */
.about-us .contactus-section {
 background-color: #efefef;
 border: 1px solid rgb(241, 241, 241);
}

.about-us .our-client-say,
.about-us .for-who,
.about-us .our-sustentability {
 background-color: #efefef;
}

.about-us .contact-info {
 border-radius: 1rem;
 box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .1);
 height: 100%;
 transition: box-shadow 0.3s ease;
}

/* Espaçamentos e header */
.about-us .section-spacing {
 padding: 2rem 0.5rem;
}

.landing_page .breadcrumb_container,
.landing_page .page-header {
 padding-left: 25px;
}

/* ================================
   Responsividade
   ================================ */
@media (min-width: 440px) {
 .our-client-img::before {
  height: 300px;
  width: 300px;

 }

}

@media (min-width: 640px) {
 .our-client-img::before {
  height: 400px;
  width: 400px;
 }
}

@media (min-width: 768px) {
 .our-client-img::before {
  height: 450px;
  width: 450px;
 }

 .landing_page .section-spacing {
  padding: 3rem 1rem;
 }
}

@media (min-width: 1248px) {
 .landing_page .section-spacing {
  padding: 4rem 1rem;
 }
}

@media (min-width: 1440px) {

 .about-us .our-client-say h1,
 .about-us .who_we_are h1,
 .about-us .our-sustentability h1,
 .about-us .h1 {
  line-height: 2.25rem;
  font-weight: 900;
 }

 .our-client-img::before {
  border-radius: 1rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
  height: 499px;
  width: 499px;
 }

 .about-us .section-spacing {
  padding: 3rem 1rem;
 }
}

@media (min-width: 1600px) {
 .about-us .section-spacing {
  padding: 3.25rem 2rem;
 }
}

/* ================================
   FAQ (detalhes)
   ================================ */
#faq_details .card-header {
 background-color: white;
 border-bottom-color: currentcolor;
 border-bottom-style: none;
 border-bottom-width: medium;
 padding: 1rem;
}

#faq_details .card,
#faq_details .card-header:first-child {
 border: 1px solid rgba(0, 0, 0, 0.05);
 border-radius: 0.75rem;
 box-shadow: rgba(0, 0, 0, 0.05) 0px 2px 6px 0px;
}

#faq_details .card.mb-2 {
 margin-bottom: 1rem !important;
}

#faq_details #btnreset,
#faq_details #collapseall {
 font-size: 0.75rem;
}

#faq_details h5,
#faq_details .h5 {
 font-size: 0.875rem;
 font-weight: 600;
}

#faq_details h4,
#faq_details .h4 {
 font-size: 1.125rem;
 font-weight: 700;
}

#faq_details .text-black-50 {
 color: rgba(0, 0, 0, 0.6) !important;
}

#faq_details .hide_panel {
 padding: 1.5rem 0px;
}

.faq-listing .card-title {
    position: relative;
}

.faq-listing .card-title a {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.faq-listing .card-title a .arrowimage {
    float: none !important;   /* anula o float-right */
    margin-left: 8px;
}

.faq-listing .card-header .collapsed .arrowimage:after {
    font-weight: 800;
}

/*@media only screen and (min-width: 1248px){
#sticky-top+.container {
padding-top: 100px;
}
}*/

.carousel-indicators li {
    border: 1px solid #ccc;
    height:8px;
    border-radius: 25px;
    width: 35px;
    background-color: #fafafa;
    opacity: 0.8;
    margin-right: 6px;
    margin-left: 6px;
}

@media only screen and (max-width: 574px) {
    .carousel-indicators {
        display: none !important;
    }
}


.fancybox__thumbs .f-thumbs__slide span {
    overflow: clip;
}

#quote_create .breadcrumb_container,
#faq_details .breadcrumb_container{
 display: none;
}


#user_loginpage .breadcrumb_container,
#user_signup .breadcrumb_container,
#user_loginpage #btnreset {
 display: none;
}



#product-info #themelist {
    padding-top: 3rem;
    margin-bottom: 2.5rem !important;
}
@media only screen and (min-width: 1248px){
    #product-info #themelist {
    margin-bottom: 5rem !important;
    padding-top: 5.875rem;
    }
}

.flipbook-tocHolder .flipbook-tocItem.active, .flipbook-tocHolder .flipbook-tocItem.active:hover {
background: #fd7e14!important;
}

#themelist #filter_orientation {
    display: none !important;
}

@media only screen and (min-width: 768px) {
    .navbar .dropdown-menu>li:not(:last-child) a {
        border-bottom:none;
    }
}

.navbar-collapse .navbar-nav .nav-item .dropdown-menu li a {
    margin-right: 1rem;
}

#cart_detail .fa-sm {
    vertical-align: middle;
}

#cart_detail  a.reorder{
    min-height:26px;
}

.coupon-module #btnreset {
    font-size: 0.737rem;
}

.coupon-module .coupon-item .coupon-title {
    white-space: wrap;
    text-align: left;
}

.coupon-module .coupon-item {
    border-radius: 1rem;
    height: 100%;
}

.coupon-validity.text-info {
    color: #333 !important;
}

.popover-header {
    display: none;
}

.popover {
    border-radius: 1rem;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.08);
    border:none;
}

.btn.btn-link#coupon_remove,
.btn.btn-link#remove_reward
{
  font-size: 13px !important;
}

.btn.btn-link#order_continue {
    color: #fd7e14!important;
    letter-spacing: 0.5px;
    font-weight:600;
}

.btn.btn-link#order_continue:hover {
  color: #fd7e14!important;
}

.btn-link:hover, 
.btn-link:focus {
text-decoration: underline;
}

#shopping-cart .checkoutLeftSide .btn-link:hover {
    color: #fd7e14 !important;
}

#shopping-cart a.moreless-button.viewmore,
#shopping-cart .orderbtn a {
    font-size: 0.75rem;
}

.input-group-text.reward_amount_label{
      font-size: 0.8125rem;
}

.reward_amount_section h4 {
      font-size: 14px;
}

.reward_amount_section .available_for_redeem,
.reward_point_label p{
    font-size: 12px;
}

.div_calculator .nav-tabs .nav-item .nav-link {
    font-weight: 700;
    font-size: 1rem;
}

#price_options .btn-primary,
#customize_design_block .btn-primary{
    background-color: #fd7e14;
    border-color: #fd7e14;
}

#price_options .btn-primary:hover,
#customize_design_block .btn-primary:hover{
    background-color: #fff;
    color: #fd7e14;
    transform: translateY(-1px);
}

.nav-tabs .nav-item .nav-link:hover, .nav-tabs .nav-item .nav-link:focus {
color: #fd7e14 !important;
}

.nav-tabs .nav-item .nav-link.active {
color: #333 !important;
}

.quick_studio_pages h1 {
    display: flex;
    flex-wrap: wrap; 
    align-items: center;
}

.quick_studio_pages h1 p.text-truncate {
    flex: 0 0 100%;    
    margin-bottom: 0;
    max-width: 90%;
}

.quick_studio_pages h1 span.text-secondary {
    flex: 0 0 100%;
    margin-top: 2px;
}

@media only screen and (max-width: 574px) {
    #customizationBlock {
        padding-top: 0.25rem;
    }
}

.text-info {
color: #fd7e14 !important;
}

#instructions_comments_user {
    margin-top: 1.25rem;
}

.kit_summary .card-header {
    -webkit-border-radius: 14px 14px 0 0;
}

.kit_product_info .calc_kit_footer {
    -webkit-border-radius: 0 0 15px 15px;
    background-color:white!important;
}

.kitproductinfo .shadow.bg-white.p-3 {
    border: 1px solid rgba(0,0,0,.08);
    box-shadow: 0px 0px 1rem 0px rgb(242.25, 242.25, 242.25)!important;
    border-radius: 1rem;
}

.product_filters_div .card-header:first-child {
    /*border-radius: calc(16px - 1px) calc(16px - 1px) 0 0;*/
    background: #fff!important;
}

/*#accordionmenu .card-body {
    padding: 0.5rem;
}*/

.product_filters_div .card {
    border:none;
}

#searchFiterMobile .card {
    padding: 0rem 1rem 1rem 0rem;
    border-radius: 0;
}

#searchFiterMobile .card .card-header {
    border-bottom: 1px solid rgba(0, 0, 0, 0.17);
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}

.product_filters_div .card-header h4{
    font-weight: 700;
}
.product_filters_div .card-header{
    padding: 0.25rem 1rem 0.75rem;
}

.card.mb-4.product_filters {
    margin-bottom: 0.5rem!important;
}

.kit_summary .card-header .card-title {
    color: #333;
    font-weight: 700;
    font-size: 1.25rem;
}

.kitproductinfo .img-thumbnail {
    border: 0px solid #dee2e6;
    border-radius: 1rem;
}

#reward_coupon_history .table-responsive .row {
    margin-left: 0;
    margin-right: 0;
}

@media only screen and (min-width: 1200px) {
    .checkout_steps:hover .step_title {
        color: #fd7e14;
        text-decoration:underline;
    }
}

#checkout_success .btn-default {
    border-color: #666;
    color: #666;
}
#checkout_success .btn-default:hover {
    background: #666;
    color: #fff;
    border-color: #666;
}

#checkout_success .btn-default i {
    margin-right: 6px;
}

.fa-money::before {
    content: "\f3d1" !important;
}


/* A row passa a ser referência para posicionamento */
#option_group .row {
  position: relative;
}

/* Labels sempre em cima */
#option_group .row > label.control-label {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  margin-bottom: .5rem!important;
    font-size: 0.875rem;
    /*font-weight: 700;*/
    color: #333;
}

/* Campos a 100% */
#option_group .row > .col-md-8,
#option_group .row > .col-11 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  padding-right: 2.5rem; /* espaço para o ? */
}

/* Coluna do help fora do fluxo do grid */
#option_group .row > .col-1.p-0 {
  position: absolute;
  right: 3.5rem;
  /*top: 50%;*/
  transform: translateY(-50%);
  width: auto !important;
  max-width: none !important;
  display: flex;
  align-items: center;
  margin-top:0.75rem;
}

/* Ajuste fino do ícone */
#option_group .row > .col-1.p-0 a {
  line-height: 1;
}

#myaccount_menu li a {
    font-size: unset;
}

.product-form .error-block {
    margin-left: 1rem;
}

#inline_order_cancel .page-section-header {
    white-space: normal;
    word-break: break-word;
}

#frmupload .upload_size {
    -webkit-border-radius: 15px !important;
}

.unsaved_template_info .border {
  border: none !important;
}

.unsaved_template_info .btn{
    font-size: 14px;
}

@media only screen and (min-width: 1248px) {
    .sec-pb {
        padding-bottom: 4rem;
    }
}

.popular-products.sec-pb h2,
.recently-viewed.sec-pb h2{
    letter-spacing: 0rem;
    font-size: 24px;
}


#expreess_product_additional_info #prductsize .visualcal>div:nth-child(2) {
    max-width: 143px;
}


.has-iframe .fancybox__content{
    max-width:1400px!important;
    max-height: 80vh;
}

@media (max-width: 767.98px) {
.popular-products.sec-pb h2,
.recently-viewed.sec-pb h2{
        letter-spacing: 0rem;
        font-size: 20px;
    }
  #expreess_product_additional_info #prductsize .visualcal > div:nth-child(2) {
    max-width: 125px;
  }
   .has-iframe .fancybox__content {
        max-width: 100vw!important;
        max-height: 100vh;
    }
}


.form-group .input-group label {
    color: #333 !important;
}

#priceminimum .page-sub-header {
    margin:2rem 0 2rem 0;
}

#priceminimum #BtnNext {
    float: right;
    max-width: 8rem;
    width: 100%;
    margin: 0 0 1rem 1rem;
}


/* Container geral */
.user-selecting-points {
    display: flex;
    justify-content: center;
    font-size: 12px;
    border-radius: 16px;
}

/* Container que segura TODOS os pontos (linha horizontal) */
.user-selecting-points .user-selling-point-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;  /* distribui horizontalmente */
    align-items: stretch;
    gap: 24px;                       /* espaço entre items (ajusta se quiseres) */
    width: 100%;
    margin: 20px 0;
    font-size: 14px;
}

/* Restyling */
.user-selecting-points .user-selling-point-container.user-selling-point-container-restyling {
    margin-top: 15px;
    margin-bottom: 15px;
    font-weight: 500;
    color: #666;
}

/* Cada item */
.user-selecting-points .user-selling-point-container .user-selling-point {
    display: flex;
    flex: 1 1 0;                 /* todos com a mesma largura */
    min-width: 0;                /* permite encolher sem rebentar o layout */
    padding: 0 20px;
    height: 100%;
}

/* Layout interno do item (ícone em cima, texto em baixo) */
.user-selling-point {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;

    flex: 1 1 0;          /* distribui igualmente */
    min-width: 0;         /* MUITO IMPORTANTE */
    padding: 16px 24px;
    box-sizing: border-box;
}

/* Ícone */
.user-selling-point .usp-icon,
.user-selling-point i {
    font-size: 28px;     /* tamanho do ícone */
    line-height: 1;
    margin: 8px 0;
    color: #666;
}

/* Label */
.user-selling-point .usp-label {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
}

.user-selling-point:not(:last-child) {
    border-right: 1px solid #e5e5e5;
}


.shipping-options-wrapper .custom-shipping-option.checked {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(var(--primary-color-rgb), 0.25);
}

#product-info #price_calculator.has-floating-price ~ #get-started {
    max-width: 12.5rem;
}


/* Tablet */
@media only screen and (max-width: 1024px) {
    .user-selecting-points .user-selling-point-container {
        gap: 12px;
    }

    .user-selecting-points .user-selling-point-container .user-selling-point {
        padding: 0 10px;
    }
}

/* Mobile */
@media only screen and (max-width: 767px) {

    .user-selecting-points {
        overflow: auto;
        justify-content: flex-start;
    }

    .user-selecting-points .user-selling-point-container {
        justify-content: flex-start;
        gap: 12px;
        width: max-content;          /* permite scroll horizontal */
    }

    .user-selecting-points .user-selling-point-container.user-selling-point-container-restyling {
        margin-top: 10px;
        margin-bottom: 0;
    }

    .user-selecting-points .user-selling-point-container .user-selling-point {
        flex: 0 0 auto;
        min-width: 160px;           /* largura mínima por item no mobile */
        padding: 10px;
    }

    .user-selecting-points .user-selling-point-container .user-selling-point span {
        width: auto;
        font-weight: 700;
    }

    .user-selecting-points .user-selling-point-container.user-selling-point-container-restyling .user-selling-point span {
        font-weight: 500;
    }
}

#user_order #recent .col-8.col-sm-7.order-2 {
    display: flex;
    flex-direction: column;
    height: 100%;
}

#user_order #recent .col-8.col-sm-7.order-2 .d-md-block {
    margin-top: auto;
}

#user_order #recent .row {
    height: 100%;
}

#user_order_info .alert-danger {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#user_order_info .btn {
    width: max-content;
}


.order_product_cancel .page-section-header .pl-2::after {
    content: "\A";
    white-space: pre;
}

#addressAnchor {
     padding: 0.25rem 1rem!important;
         font-size: 0.75rem;
}
.addQuoteRightSide {
    padding: 2.5rem;
    height: fit-content;
    border-left: 1px solid rgba(0, 0, 0, .125);
}

#inline_order_cancel .bootstrap-select .dropdown-toggle .filter-option-inner-inner {
    font-size: 12px;
}

#mbway_mobile {
  width: fit-content;
  min-width: 180px;
}

.popover-body {
    padding: 1rem 1rem;
    color: #333;
}

@media only screen and (min-width: 768px) {
    #product_xls_model {
        height: 90%;
    }
    
    #csv_accordion {
        max-height: unset;
    }
    #mass-form .table-responsive {
        max-height: 600px;
    }
    
}

.save_for_later .order-desc > .d-flex {
    flex-wrap: nowrap !important;
}

.fancybox__content>.f-button.is-close-btn:hover {
    color: #fd7e14 !important;
}

.fancybox__content>.f-button svg {
    stroke-width: 3;
}
/*oculta a msg de preencher obrigatoria que é apresentada nos itens da calculadora */
#additionaloptionid .prduct_option .form-group .input-group-require{
    display:none;
}

.captcha-container {
    margin:1rem;
}

.div_calculator .calculator-break {
    display: block;
}

.google_login {
    background: #fff !important;
    color: #333 !important;
    border-radius: 6px !important;
    border: 1px solid #eee!important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .08);
}

.google_login:hover,
.google_login:focus {
    background: #fff !important;
    color: #fd7e14 !important;
    border-color:#fd7e14!important;
}

.google_login:active {
    transform: translateY(1px);
}

.google_login span.google-icon {
    background:none;
    padding: 0.5rem .5rem !important;
}   

.popup_page_outer #cms_page .popup_page_inner{
  padding: 0 !important;
}

.card-soft {
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 9px;
    overflow: hidden;
}