:root{
  --tm-accent:#8E2C32;
  --tm-gold:#C97200;
  --tm-brown:#2E180E;
  --tm-beige:#E9E0D4;
  --tm-text:#161616;
  --tm-white:#fff;
  --tm-title:'Alfa Slab One', serif;
  --tm-body:'Montserrat', sans-serif;
  --tm-container:1200px;
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:var(--tm-beige);
  color:var(--tm-text);
  font-family:var(--tm-body);
  line-height:1.55;
}

img{
  max-width:100%;
  height:auto;
  display:block;
}

a{
  text-decoration:none;
  color:inherit;
}

p{
  margin:0 0 1rem;
}

h1,h2,h3,h4{
  font-family:var(--tm-title);
  line-height:1.15;
  margin:0 0 .8rem;
}

.tm-container{
  width:min(var(--tm-container), calc(100% - 48px));
  margin:0 auto;
}

.tm-skip-link{
  position:absolute;
  left:-9999px;
}

.tm-skip-link:focus{
  left:10px;
  top:10px;
  background:#fff;
  padding:8px 10px;
  z-index:9999;
}

/* =========================
   HEADER
========================= */
.tm-header{
  background:var(--tm-accent);
  color:#fff;
  position:sticky;
  top:0;
  z-index:1000;
}

.tm-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:86px;
  position:relative;
}

.tm-brand{
  display:flex;
  align-items:center;
  flex-shrink:0;
}

.tm-brand__text,
.tm-footer__logo{
  font-family:var(--tm-title);
}

.tm-brand .custom-logo{
  width:100px;
  height:auto;
  display:block;
  border-radius:10px;
  padding:5px;
}

/* =========================
   MENU DESKTOP
========================= */
.tm-nav{
  display:flex;
  align-items:center;
  height:100%;
}

.tm-nav ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:70px;
  padding-right:9.5em;
}

.tm-nav ul li{
  margin:0;
  padding:0;
}

.tm-nav ul li a{
  color:#fff;
  text-decoration:none;
  font-weight:500;
  font-size:17px;
  letter-spacing:1.5px;
  position:relative;
  padding:10px 0;
  transition:all .3s ease;
  display:inline-flex;
  align-items:center;
}

.tm-nav ul li a:hover{
  opacity:.85;
}

.tm-nav ul li.current-menu-item > a,
.tm-nav ul li.current_page_item > a,
.tm-nav ul li.current-menu-ancestor > a{
  font-weight:700;
}

.tm-nav ul li.current-menu-item > a::after,
.tm-nav ul li.current_page_item > a::after,
.tm-nav ul li.current-menu-ancestor > a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:100%;
  height:2px;
  background:#fff;
}

/* =========================
   BOTÃO HAMBURGUER
========================= */
.tm-menu-toggle{
  display:none;
  width:44px;
  height:44px;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  margin-left:auto;
}

.tm-menu-toggle span{
  display:block;
  width:24px;
  height:2.5px;
  background:#fff;
  border-radius:999px;
  transition:all .3s ease;
}

.tm-menu-toggle.is-active span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}

.tm-menu-toggle.is-active span:nth-child(2){
  opacity:0;
}

.tm-menu-toggle.is-active span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

/* =========================
   MAIN
========================= */
.tm-main{
  min-height:50vh;
}

.tm-page{
  padding:50px 0;
}

.tm-page-title{
  font-size:clamp(2rem,4vw,3.2rem);
  margin-bottom:1rem;
}

.tm-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px;
}

.tm-card__img img{
  border-radius:8px;
  box-shadow:0 4px 12px rgba(0,0,0,.12);
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}

.tm-card__body{
  padding-top:12px;
}

.tm-card__title{
  font-family:var(--tm-title);
  font-size:1.6rem;
  margin:0 0 .3rem;
}

.tm-card__sub{
  font-size:.93rem;
  color:#51473d;
  min-height:40px;
}

.tm-card__price{
  font-weight:700;
  color:var(--tm-accent);
}

.tm-btn{
  display:inline-block;
  padding:12px 20px;
  border-radius:4px;
  font-weight:800;
  text-align:center;
}

.tm-btn--gold{
  background:var(--tm-gold);
  color:#fff;
}

.tm-btn--block{
  display:block;
  width:100%;
}

.tm-single-thumb img{
  max-width:700px;
  border-radius:12px;
  margin-bottom:20px;
}

/* =========================
   FOOTER V2
========================= */
.tm-footer{
  background:var(--tm-accent);
  color:#fff;
  margin-top:0;
  padding-top:34px;
  padding-bottom:22px;
  border-top:4px solid var(--tm-gold);
  padding:1em;
}

.tm-footer__top{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr 1fr 1fr;
  gap:36px;
  align-items:start;
  padding-bottom:28px;
}

.tm-footer__col h3{
  font-size:1rem;
  color:#fff;
  margin-bottom:14px;
  font-family:inherit;
}

.tm-footer__col p,
.tm-footer__col li,
.tm-footer__col a{
  font-size:.92rem;
  color:#fff;
  line-height:1.9;
}

.tm-footer__col ul{
  list-style:none;
  padding:0;
  margin:0;
}

.tm-footer__col ul li{
  margin-bottom:4px;
}

.tm-footer__logo{
  background:var(--tm-gold);
  color:#2b160d;
  display:inline-block;
  padding:18px 20px;
  border-radius:10px;
  font-family:var(--tm-title);
}

.tm-footer__logo-img .custom-logo{
  width:160px;
  border-radius:10px;
  display:block;
  padding:0;
}

.tm-footer__extras{
  display:flex;
  flex-direction:column;
  gap:18px;
  align-items:flex-start;
}

.tm-footer__social{
  display:flex;
  gap:12px;
}

.tm-footer__icon{
  width:34px;
  height:34px;
  border-radius:8px;
  background:#fff;
  color:var(--tm-accent);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  font-weight:700;
}

.tm-footer__ssl img{
  max-width:140px;
  height:auto;
  display:block;
}

.tm-footer__ssl-placeholder{
  color:#d8dd75;
  font-weight:700;
  line-height:1.1;
}

.tm-footer__ssl-placeholder span{
  color:#f2d8d8;
  font-size:.9rem;
  font-weight:600;
}

.tm-footer__bottom{
  border-top:1px solid rgba(255,255,255,.35);
  padding:18px 0 0;
  text-align:center;
  font-size:.95rem;
}

.tm-footer__bottom p{
  margin:0;
}

/* =========================
   TABLET
========================= */
@media (max-width:960px){
  .tm-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .tm-nav ul{
    gap:36px;
    padding-right:0;
  }

  .tm-nav ul li a{
    font-size:15px;
    letter-spacing:.8px;
  }

  .tm-footer__top{
    grid-template-columns:1fr 1fr 1fr;
  }

  .tm-footer__extras{
    grid-column:1 / -1;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
  }
}

/* =========================
   MOBILE
========================= */
@media (max-width:768px){
  .tm-header__inner{
    min-height:72px;
    padding-top:8px;
    padding-bottom:8px;
  }

  .tm-brand .custom-logo{
    width:56px;
    border-radius:12px;
    padding:0;
  }

  .tm-menu-toggle{
    display:inline-flex;
  }

  .tm-nav{
    position:absolute;
    top:100%;
    right:0;
    left:0;
    width:100%;
    background:var(--tm-accent);
    display:none;
    padding:0;
    box-shadow:0 8px 18px rgba(0,0,0,.12);
    height:auto;
  }

  .tm-nav.is-active{
    display:block;
  }

  .tm-nav ul{
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    width:100%;
    padding-right:0;
  }

  .tm-nav ul li{
    width:100%;
    border-top:1px solid rgba(255,255,255,.12);
  }

  .tm-nav ul li:first-child{
    border-top:0;
  }

  .tm-nav ul li a{
    display:block;
    width:100%;
    padding:16px 24px;
    font-size:16px;
    letter-spacing:.3px;
    text-align:left;
  }

  .tm-nav ul li.current-menu-item > a::after,
  .tm-nav ul li.current_page_item > a::after,
  .tm-nav ul li.current-menu-ancestor > a::after{
    left:24px;
    bottom:10px;
    width:32px;
  }

  .tm-grid{
    grid-template-columns:1fr;
  }

  .tm-container{
    width:min(var(--tm-container), calc(100% - 24px));
  }

  .tm-footer__top{
    grid-template-columns:1fr;
    gap:24px;
  }

  .tm-footer__extras{
    flex-direction:row;
    flex-wrap:wrap;
  }

  .tm-footer__logo-img .custom-logo{
    width:72px;
  }
}

