
/* H3 Turismo — Carrinho V20
   Escopo exclusivo de carrinho.html. Não altera header, footer ou outras páginas. */

:root{
  --h3-cart-navy:#073E79;
  --h3-cart-blue:#0874C9;
  --h3-cart-orange:#FF7A00;
  --h3-cart-soft:#F3F8FD;
  --h3-cart-line:#DCE8F2;
  --h3-cart-muted:#66809B;
  --h3-cart-shadow:0 16px 40px rgba(7,62,121,.08);
}

body{
  background:
    radial-gradient(circle at 10% 10%,rgba(120,196,248,.14),transparent 28%),
    linear-gradient(180deg,#F5FAFF 0%,#FBFDFF 58%,#EFF8FF 100%) !important;
}

.h3-cart-page{
  width:min(1380px,calc(100% - 40px));
  margin:42px auto 78px;
}

.h3-cart-heading{
  margin:0 0 24px;
}

.h3-cart-page h1{
  margin:0 0 6px;
  color:var(--h3-cart-navy);
  font-size:36px;
  line-height:1.04;
  letter-spacing:-.035em;
  font-weight:850;
}

.h3-cart-lead{
  margin:0;
  color:#56789A;
  font-size:16px;
  line-height:1.45;
}

.h3-cart-layout{
  display:grid;
  grid-template-columns:minmax(0,1.72fr) minmax(320px,.78fr);
  gap:24px;
  align-items:start;
}

.h3-cart-list,
.h3-cart-summary{
  background:#fff;
  border:1px solid rgba(7,62,121,.09);
  border-radius:22px;
  box-shadow:var(--h3-cart-shadow);
}

.h3-cart-list{
  min-height:520px;
  overflow:hidden;
}

.h3-cart-summary{
  position:sticky;
  top:94px;
  padding:28px;
}

.h3-cart-summary h2{
  margin:0 0 17px;
  color:var(--h3-cart-navy);
  font-size:25px;
  line-height:1.1;
  letter-spacing:-.025em;
}

.h3-cart-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:42px;
  color:#5E7891;
  font-size:14px;
}

.h3-cart-row + .h3-cart-row{
  border-top:1px solid #EEF3F7;
}

.h3-cart-row.total{
  margin-top:2px;
  padding-top:6px;
  color:var(--h3-cart-navy);
  font-size:17px;
  font-weight:800;
}

.h3-cart-row.total strong{
  font-size:20px;
  color:var(--h3-cart-navy);
}

.h3-cart-summary-actions{
  display:grid;
  gap:10px;
  margin-top:17px;
}

.h3-cart-primary,
.h3-cart-secondary{
  min-height:50px;
  border-radius:11px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  text-decoration:none;
  font-size:14px;
  font-weight:850;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}

.h3-cart-primary{
  background:var(--h3-cart-orange);
  border:1px solid var(--h3-cart-orange);
  color:#fff;
  box-shadow:0 9px 20px rgba(255,122,0,.16);
}

.h3-cart-primary:not(.is-disabled):hover{
  background:#F17400;
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(255,122,0,.2);
}

.h3-cart-primary.is-disabled{
  opacity:.47;
  cursor:not-allowed;
  pointer-events:none;
  box-shadow:none;
}

.h3-cart-secondary{
  background:#fff;
  border:1.5px solid var(--h3-cart-blue);
  color:var(--h3-cart-navy);
}

.h3-cart-secondary:hover{
  background:#F7FBFF;
  transform:translateY(-1px);
}

.h3-cart-primary:focus-visible,
.h3-cart-secondary:focus-visible,
.h3-cart-item button:focus-visible,
.h3-cart-item a:focus-visible{
  outline:3px solid rgba(8,116,201,.22);
  outline-offset:2px;
}

.h3-cart-secure{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--h3-cart-line);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#55718E;
}

.h3-cart-secure > .h3-icon{
  width:22px;
  height:22px;
  color:#1AA05C;
}

.h3-cart-secure div{
  display:grid;
  gap:2px;
}

.h3-cart-secure strong{
  color:#1A9456;
  font-size:12px;
}

.h3-cart-secure span{
  font-size:10px;
}

/* Empty state */
.h3-cart-empty{
  min-height:520px;
  padding:50px 44px 34px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.h3-empty-illustration{
  width:250px;
  height:175px;
  margin:-10px auto 8px;
  position:relative;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    radial-gradient(ellipse at 50% 70%,#E7F4FF 0 44%,transparent 45%),
    radial-gradient(circle at 74% 40%,#F2F8FE 0 22%,transparent 23%);
}

.h3-empty-cart-icon{
  width:112px;
  height:112px;
  position:relative;
  z-index:3;
  color:#07549C;
  transform:translateY(14px);
}

.h3-empty-sun{
  position:absolute;
  width:36px;
  height:36px;
  right:49px;
  top:44px;
  border-radius:50%;
  background:#FFC05F;
}

.h3-empty-deco{
  position:absolute;
  color:#7BBDF2;
  z-index:2;
  font-size:48px;
  line-height:1;
  font-weight:900;
}

.h3-empty-deco-one{left:49px;top:24px;transform:rotate(-12deg)}
.h3-empty-deco-two{right:34px;top:20px;font-size:41px;transform:rotate(11deg)}

.h3-cart-empty strong{
  color:var(--h3-cart-navy);
  font-size:24px;
  line-height:1.15;
  letter-spacing:-.025em;
}

.h3-empty-copy{
  margin-top:5px;
  color:var(--h3-cart-muted);
  font-size:15px;
}

.h3-empty-action{
  margin-top:20px;
}

.h3-empty-action .h3-cart-primary{
  min-width:176px;
  padding:0 24px;
}

.h3-empty-discovery{
  width:min(520px,100%);
  margin-top:26px;
  padding-top:19px;
  border-top:1px solid var(--h3-cart-line);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#54789A;
  font-size:11px;
  line-height:1.35;
}

.h3-empty-discovery .h3-icon{
  width:22px;
  height:22px;
  color:#69AFE6;
}

/* Item cards */
.h3-cart-item{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:20px;
  border-bottom:1px solid #EDF3F7;
}

.h3-cart-item:last-child{
  border-bottom:0;
}

.h3-cart-thumb{
  width:150px;
  height:112px;
  border-radius:15px;
  object-fit:cover;
  background:#EDF5FB;
}

.h3-cart-item-main{
  min-width:0;
}

.h3-cart-item-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.h3-cart-item h3{
  margin:0;
  color:var(--h3-cart-navy);
  font-size:18px;
  line-height:1.2;
  letter-spacing:-.02em;
}

.h3-cart-kind{
  flex:0 0 auto;
  padding:5px 8px;
  border-radius:999px;
  background:#EAF5FF;
  color:var(--h3-cart-blue);
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.h3-cart-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px 14px;
  margin-top:9px;
  color:#668099;
  font-size:12px;
}

.h3-cart-meta span{
  display:inline-flex;
  align-items:center;
  gap:5px;
}

.h3-cart-meta .h3-icon{
  width:15px;
  height:15px;
  color:#7C9AB4;
}

.h3-cart-unit{
  margin-top:8px;
  color:#7790A7;
  font-size:11px;
}

.h3-cart-item-controls{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:12px;
}

.h3-cart-qty{
  display:grid;
  grid-template-columns:minmax(64px,auto) 42px 44px 42px;
  height:42px;
  overflow:hidden;
  border:1px solid #D7E5F0;
  border-radius:10px;
  background:#fff;
}

.h3-cart-qty button{
  border:0;
  background:#F5FAFE;
  color:#0A5AA4;
  font-size:19px;
  font-weight:850;
  cursor:pointer;
}

.h3-cart-qty-value{
  display:grid;
  place-items:center;
  color:#183E62;
  font-size:14px;
  font-weight:800;
}

.h3-cart-edit,
.h3-cart-remove{
  min-height:42px;
  padding:0 12px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:#fff;
  font-size:11px;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
}

.h3-cart-edit{
  border:1px solid #CFE0ED;
  color:#0B5B9E;
}

.h3-cart-remove{
  border:1px solid #F0D5D2;
  color:#A4493D;
}

.h3-cart-edit .h3-icon,
.h3-cart-remove .h3-icon{
  width:14px;
  height:14px;
}

.h3-cart-item-price{
  min-width:125px;
  text-align:right;
}

.h3-cart-item-price small{
  display:block;
  margin-bottom:4px;
  color:#7890A7;
  font-size:10px;
}

.h3-cart-item-price strong{
  color:var(--h3-cart-navy);
  font-size:20px;
  line-height:1;
  white-space:nowrap;
}

/* Desktop scale consistent with current site */
@media(min-width:1100px){
  .h3-cart-page{
    width:min(1510px,calc(100% - 34px));
  }

  .h3-cart-layout{
    grid-template-columns:minmax(0,1.8fr) minmax(360px,.72fr);
    gap:26px;
  }

  .h3-cart-list,
  .h3-cart-empty{
    min-height:550px;
  }
}

/* Tablet keeps two columns while practical */
@media(max-width:980px) and (min-width:741px){
  .h3-cart-page{
    width:calc(100% - 30px);
    margin-top:30px;
  }

  .h3-cart-layout{
    grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);
    gap:16px;
  }

  .h3-cart-summary{
    padding:21px;
  }

  .h3-cart-item{
    grid-template-columns:110px minmax(0,1fr);
    gap:14px;
  }

  .h3-cart-thumb{
    width:110px;
    height:92px;
  }

  .h3-cart-item-price{
    grid-column:2;
    text-align:left;
  }
}

/* Mobile */
@media(max-width:740px){
  .h3-cart-page{
    width:calc(100% - 24px);
    margin:24px auto 44px;
  }

  .h3-cart-heading{
    margin-bottom:16px;
  }

  .h3-cart-page h1{
    font-size:29px;
  }

  .h3-cart-lead{
    font-size:13px;
  }

  .h3-cart-layout{
    grid-template-columns:1fr;
    gap:14px;
  }

  .h3-cart-list,
  .h3-cart-summary{
    border-radius:16px;
  }

  .h3-cart-summary{
    position:static;
    padding:20px;
  }

  .h3-cart-summary h2{
    font-size:21px;
  }

  .h3-cart-primary,
  .h3-cart-secondary{
    min-height:46px;
    width:100%;
  }

  .h3-cart-empty{
    min-height:300px;
    padding:25px 16px 22px;
  }

  .h3-empty-illustration{
    width:180px;
    height:122px;
    margin:-4px auto 3px;
  }

  .h3-empty-cart-icon{
    width:82px;
    height:82px;
    transform:translateY(9px);
  }

  .h3-empty-sun{
    width:27px;
    height:27px;
    right:35px;
    top:31px;
  }

  .h3-empty-deco-one{left:35px;top:17px;font-size:38px}
  .h3-empty-deco-two{right:24px;top:13px;font-size:32px}

  .h3-cart-empty strong{
    font-size:20px;
  }

  .h3-empty-copy{
    font-size:12px;
  }

  .h3-empty-action{
    width:100%;
    margin-top:15px;
  }

  .h3-empty-action .h3-cart-primary{
    width:100%;
  }

  .h3-empty-discovery{
    margin-top:17px;
    padding-top:14px;
    font-size:10px;
  }

  .h3-cart-item{
    grid-template-columns:92px minmax(0,1fr);
    gap:12px;
    padding:14px;
  }

  .h3-cart-thumb{
    width:92px;
    height:80px;
    border-radius:12px;
  }

  .h3-cart-item-title-row{
    display:block;
  }

  .h3-cart-kind{
    display:inline-block;
    margin-top:6px;
  }

  .h3-cart-item h3{
    font-size:16px;
  }

  .h3-cart-meta{
    display:grid;
    gap:5px;
    font-size:11px;
  }

  .h3-cart-item-controls{
    grid-column:1/-1;
  }

  .h3-cart-qty{
    grid-template-columns:minmax(64px,auto) 44px 44px 44px;
    height:44px;
  }

  .h3-cart-edit,
  .h3-cart-remove{
    min-height:44px;
    flex:1 1 auto;
    justify-content:center;
  }

  .h3-cart-item-price{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    text-align:left;
    padding-top:11px;
    border-top:1px solid #EEF3F7;
  }

  .h3-cart-item-price small{
    margin:0;
  }
}


/* V21 — remove duplicação visual de "Compra segura" herdada do V19 */
.h3-cart-summary::before,
.h3-cart-summary::after{
  content:none!important;
  display:none!important;
}

.h3-cart-qty>span:first-child{display:grid;place-items:center;padding:0 8px;font-size:12px;color:#183E62;white-space:nowrap}
