


.Btn_g7 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  background: var(--navy);
  color: #fff;
  border: none;
  border-radius: 0.62em;
  padding: 0.85em 1.7em;
  font-weight: 600;
  font-size: var(--fs-base);
  line-height: 1.2;
  min-height: 2.9em;
  cursor: pointer;
  box-shadow: 0 4px 0 rgba(15, 23, 42, 0.3);
  transition: background 0.12s ease, transform 0.1s ease, box-shadow 0.1s ease;
}

.Btn_g7:hover {
  background: var(--navy-lift);
  color: #fff;
}

.Btn_g7:active {
  transform: translateY(3px);
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.3);
}

.Btn_ghost_g7 {
  background: transparent;
  color: var(--navy);
  border: 2px solid var(--navy);
  box-shadow: 0 4px 0 rgba(30, 58, 138, 0.16);
}

.Btn_ghost_g7:hover {
  background: rgba(30, 58, 138, 0.06);
  color: var(--navy);
}

.Btn_wide_g7 {
  width: 100%;
}

.Btn_sm_g7 {
  padding: 0.55em 1.05em;
  font-size: var(--fs-sm);
  min-height: 2.6em;
  box-shadow: 0 3px 0 rgba(15, 23, 42, 0.26);
}


.Hero_g7 {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-4);
  align-items: center;
  border-radius: 1.2em;
  padding: var(--sp-5) var(--sp-4);
  background-color: var(--mist);
  background-image: linear-gradient(
      104deg,
      rgba(241, 245, 249, 0.97) 8%,
      rgba(226, 232, 240, 0.7) 62%,
      rgba(226, 232, 240, 0.25) 100%
    );
  background-size: cover;
  background-position: center;
  border: 1px solid var(--line);
}

.Hero_txt_g7 h1 {
  margin-bottom: 0.32em;
}

.Hero_sub_g7 {
  font-size: var(--fs-md);
  color: var(--slate);
  margin-bottom: 0.9em;
  max-width: 34ch;
}

.Hero_facts_g7 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45em 1.2em;
  margin-bottom: 1.1em;
  font-size: var(--fs-sm);
  color: var(--slate);
}

.Hero_facts_g7 li {
  display: flex;
  align-items: center;
  gap: 0.42em;
  font-weight: 600;
}

.Hero_facts_g7 li::before {
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-radius: 999px;
  background: var(--ember);
  flex: 0 0 auto;
}

.Hero_cta_g7 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6em;
  align-items: center;
}

.Hero_price_g7 {
  display: flex;
  align-items: baseline;
  gap: 0.5em;
  margin-bottom: 0.9em;
}

.Hero_now_g7 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: var(--fs-lg);
  font-weight: 700;
  color: var(--ink);
}

.Hero_was_g7 {
  color: var(--muted);
  text-decoration: line-through;
  font-size: var(--fs-sm);
}

.Hero_shot_g7 {
  position: relative;
  display: grid;
  place-items: center;
}

.Hero_shot_g7 img {
  width: 100%;
  max-width: 24em;
  border-radius: 1em;
  box-shadow: 0 1.6em 3em rgba(15, 23, 42, 0.16);
}

.Hero_tag_g7 {
  position: absolute;
  top: 0.4em;
  right: 0.4em;
  background: var(--ember);
  color: #fff;
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.42em 0.75em;
  border-radius: 0.5em;
}


.Grid_g7 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15em, 1fr));
  gap: var(--sp-3);
}

.Grid_wide_g7 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--sp-3);
}

.Card_g7 {
  border: 2px solid var(--stone);
  border-radius: 0.75em;
  padding: 1.15em;
  background: var(--paper);
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  display: flex;
  flex-direction: column;
  gap: 0.35em;
}

.Card_g7:hover {
  border-color: var(--navy);
  transform: translateY(-4px);
  box-shadow: 0 0.9em 1.8em rgba(15, 23, 42, 0.09);
}

.Card_g7 h3 {
  font-size: var(--fs-md);
  margin-bottom: 0.15em;
}

.Card_g7 p {
  color: var(--slate);
  font-size: var(--fs-sm);
  margin-bottom: 0;
}

.Card_ico_g7 {
  width: 2.4em;
  height: 2.4em;
  color: var(--navy);
  margin-bottom: 0.35em;
}

.Card_pick_g7 {
  border-color: var(--navy);
}


.Buy_card_g7 {
  border: 2px solid var(--stone);
  border-radius: 0.75em;
  background: var(--paper);
  padding: 1.15em;
  display: flex;
  flex-direction: column;
  gap: 0.55em;
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.Buy_card_g7:hover {
  border-color: var(--navy);
  transform: translateY(-4px);
}

.Buy_card_g7 img {
  width: 100%;
  max-width: 11em;
  margin-inline: auto;
  border-radius: 0.6em;
}

.Buy_name_g7 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: var(--fs-md);
  font-weight: 700;
}

.Buy_meta_g7 {
  font-size: var(--fs-xs);
  color: var(--muted);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.Buy_price_g7 {
  display: flex;
  align-items: baseline;
  gap: 0.45em;
  flex-wrap: wrap;
}

.Buy_now_g7 {
  font-size: var(--fs-md);
  font-weight: 700;
  color: var(--ink);
}

.Buy_was_g7 {
  font-size: var(--fs-sm);
  color: var(--muted);
  text-decoration: line-through;
}

.Buy_save_g7 {
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--ember);
  background: var(--ember-soft);
  border-radius: 0.4em;
  padding: 0.2em 0.5em;
}

.Buy_unit_g7 {
  font-size: var(--fs-xs);
  color: var(--muted);
}


.Crumb_g7 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4em;
  font-size: var(--fs-xs);
  color: var(--muted);
  margin-bottom: var(--sp-3);
}

.Crumb_g7 li + li::before {
  content: "›";
  margin-right: 0.4em;
  color: var(--stone);
}

.Prod_g7 {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-4);
  align-items: start;
}

.Gal_main_g7 {
  border: 2px solid var(--stone);
  border-radius: 0.9em;
  background: var(--mist);
  padding: 0.9em;
  overflow: hidden;
}

.Gal_main_g7 img {
  width: 100%;
  border-radius: 0.6em;
}

.Gal_thumbs_g7 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5em;
  margin-top: 0.6em;
}

.Gal_thumb_g7 {
  border: 2px solid var(--stone);
  border-radius: 0.55em;
  background: var(--paper);
  padding: 0.25em;
  cursor: pointer;
  transition: border-color 0.18s ease;
  min-height: 3.4em;
}

.Gal_thumb_g7:hover {
  border-color: var(--navy);
}

.Gal_thumb_g7 img {
  width: 100%;
  border-radius: 0.35em;
}

.Panel_g7 {
  border: 2px solid var(--stone);
  border-radius: 0.9em;
  padding: var(--sp-3);
  background: var(--paper);
}

.Panel_g7 h1 {
  font-size: var(--fs-xl);
  margin-bottom: 0.2em;
}

.Panel_sub_g7 {
  color: var(--slate);
  margin-bottom: 0.8em;
}

.Panel_row_g7 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.6em;
  margin-bottom: 0.7em;
}

.Panel_price_g7 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: var(--fs-lg);
  font-weight: 700;
}

.Panel_old_g7 {
  color: var(--muted);
  text-decoration: line-through;
}

.Panel_badge_g7 {
  background: var(--ember);
  color: #fff;
  font-size: var(--fs-xs);
  font-weight: 700;
  border-radius: 0.4em;
  padding: 0.25em 0.55em;
  letter-spacing: 0.04em;
}

.Panel_facts_g7 {
  display: grid;
  gap: 0.3em;
  font-size: var(--fs-sm);
  color: var(--slate);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 0.7em 0;
  margin-bottom: 0.8em;
}

.Panel_facts_g7 div {
  display: flex;
  justify-content: space-between;
  gap: 1em;
}

.Panel_facts_g7 dt,
.Panel_facts_g7 span:first-child {
  color: var(--muted);
}

.Stock_g7 {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  font-weight: 700;
  color: #15803d;
}

.Stock_g7::before {
  content: "";
  width: 0.55em;
  height: 0.55em;
  border-radius: 999px;
  background: #16a34a;
}

.Qty_g7 {
  display: inline-flex;
  align-items: stretch;
  border: 2px solid var(--stone);
  border-radius: 0.6em;
  overflow: hidden;
}

.Qty_btn_g7 {
  width: 2.75em;
  min-height: 2.75em;
  background: var(--mist);
  font-size: var(--fs-md);
  font-weight: 700;
  color: var(--ink);
  line-height: 1;
}

.Qty_btn_g7:hover {
  background: var(--stone);
}

.Qty_val_g7 {
  width: 3.2em;
  text-align: center;
  border-left: 2px solid var(--stone);
  border-right: 2px solid var(--stone);
  font-weight: 700;
  background: var(--paper);
}

.Panel_buy_g7 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6em;
  align-items: center;
  margin-bottom: 0.8em;
}

.Bullets_g7 {
  display: grid;
  gap: 0.35em;
  font-size: var(--fs-sm);
  color: var(--slate);
}

.Bullets_g7 li {
  display: flex;
  gap: 0.55em;
  align-items: flex-start;
}

.Bullets_g7 li::before {
  content: "";
  width: 0.45em;
  height: 0.45em;
  margin-top: 0.62em;
  border-radius: 999px;
  background: var(--navy);
  flex: 0 0 auto;
}


.Acc_g7 {
  border: 2px solid var(--stone);
  border-radius: 0.75em;
  overflow: hidden;
  background: var(--paper);
}

.Acc_item_g7 + .Acc_item_g7 {
  border-top: 1px solid var(--line);
}

.Acc_head_g7 {
  width: 100%;
  text-align: left;
  padding: 0.95em 1.05em;
  font-weight: 700;
  font-size: var(--fs-base);
  background: var(--paper);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
  min-height: 2.9em;
}

.Acc_head_g7::after {
  content: "+";
  font-size: 1.25em;
  color: var(--navy);
  line-height: 1;
}

.Acc_head_g7[aria-expanded="true"]::after {
  content: "–";
}

.Acc_body_g7 {
  padding: 0 1.05em 1.05em;
  color: var(--slate);
  font-size: var(--fs-sm);
}

.Acc_body_g7 ul {
  display: grid;
  gap: 0.25em;
  margin-top: 0.4em;
}

.Acc_body_g7 ul li {
  padding-left: 0.9em;
  position: relative;
}

.Acc_body_g7 ul li::before {
  content: "–";
  position: absolute;
  left: 0;
  color: var(--muted);
}


.Faq_wrap_g7 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(17em, 1fr));
  gap: var(--sp-4);
}

.Faq_cat_g7 {
  margin-bottom: 0.6em;
}

.Faq_cat_g7 h3 {
  font-family: "Source Sans 3", sans-serif;
  font-size: var(--fs-sm);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--navy);
  border-bottom: 2px solid rgba(30, 58, 138, 0.28);
  padding-bottom: 0.45em;
  margin-bottom: 0.7em;
}

.Faq_q_g7 {
  width: 100%;
  text-align: left;
  padding: 0.85em 0;
  cursor: pointer;
  font-weight: 600;
  border-bottom: 1px solid var(--line);
  background: transparent;
  display: flex;
  justify-content: space-between;
  gap: 0.8em;
  align-items: center;
  min-height: 2.9em;
  color: var(--ink);
}

.Faq_q_g7::after {
  content: "+";
  color: var(--navy);
  font-size: 1.2em;
  line-height: 1;
}

.Faq_q_g7[aria-expanded="true"]::after {
  content: "–";
}

.Faq_a_g7 {
  padding: 0.7em 0 0.9em;
  color: var(--slate);
  font-size: var(--fs-sm);
  border-bottom: 1px solid var(--line);
}


.Rail_box_g7 {
  border: 2px solid var(--stone);
  border-radius: 0.75em;
  padding: 1em;
  background: var(--paper);
}

.Rail_box_g7 h4 {
  font-family: "Source Sans 3", sans-serif;
  font-size: 0.74em;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 0.7em;
}

.Rail_list_g7 {
  display: grid;
  gap: 0.5em;
  font-size: var(--fs-sm);
  color: var(--slate);
}

.Rail_list_g7 li {
  display: grid;
  gap: 0.1em;
}

.Rail_list_g7 b {
  color: var(--ink);
}

.Rail_tel_g7 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: var(--fs-md);
  font-weight: 700;
  color: var(--ink);
  display: block;
}

.Rail_mini_g7 {
  background: var(--mist);
  border: 2px solid var(--stone);
  border-radius: 0.75em;
  padding: 1em;
  text-align: center;
}

.Rail_mini_g7 img {
  width: 100%;
  max-width: 8.5em;
  margin: 0 auto 0.6em;
  border-radius: 0.5em;
}


.Tbl_g7 {
  width: 100%;
  font-size: var(--fs-sm);
  border: 2px solid var(--stone);
  border-radius: 0.6em;
  overflow: hidden;
}

.Tbl_g7 th,
.Tbl_g7 td {
  text-align: left;
  padding: 0.7em 0.85em;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}

.Tbl_g7 th {
  background: var(--mist);
  font-weight: 700;
  color: var(--ink);
}

.Tbl_g7 tr:last-child td {
  border-bottom: none;
}


.Steps_g7 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13em, 1fr));
  gap: var(--sp-3);
  counter-reset: gvstep;
}

.Steps_g7 li {
  border: 2px solid var(--stone);
  border-radius: 0.7em;
  padding: 1em;
  background: var(--paper);
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.Steps_g7 li:hover {
  border-color: var(--navy);
  transform: translateY(-4px);
}

.Steps_g7 li::before {
  counter-increment: gvstep;
  content: counter(gvstep);
  display: grid;
  place-items: center;
  width: 2em;
  height: 2em;
  border-radius: 999px;
  background: var(--navy);
  color: #fff;
  font-weight: 700;
  font-size: 0.9em;
  margin-bottom: 0.5em;
}

.Steps_g7 b {
  display: block;
  margin-bottom: 0.2em;
}

.Steps_g7 span {
  font-size: var(--fs-sm);
  color: var(--slate);
}


.Cart_wrap_g7 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(19em, 1fr));
  gap: var(--sp-4);
  align-items: start;
}

.Line_g7 {
  display: grid;
  grid-template-columns: 5.5em 1fr;
  gap: 0.9em;
  border: 2px solid var(--stone);
  border-radius: 0.75em;
  padding: 0.9em;
  background: var(--paper);
  align-items: center;
}

.Line_g7 img {
  width: 100%;
  border-radius: 0.5em;
}

.Line_name_g7 {
  font-weight: 700;
  font-size: var(--fs-base);
}

.Line_sku_g7 {
  font-size: var(--fs-xs);
  color: var(--muted);
  letter-spacing: 0.06em;
  margin-bottom: 0.5em;
}

.Line_ctl_g7 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.7em;
  margin-top: 0.4em;
}

.Line_sum_g7 {
  font-weight: 700;
  font-size: var(--fs-md);
  margin-left: auto;
}

.Line_drop_g7 {
  background: none;
  color: var(--muted);
  font-size: var(--fs-sm);
  text-decoration: underline;
  min-height: 2.75em;
  padding: 0 0.3em;
}

.Line_drop_g7:hover {
  color: var(--ember);
}

.Empty_g7 {
  border: 2px dashed var(--stone);
  border-radius: 0.75em;
  padding: var(--sp-4);
  text-align: center;
  color: var(--slate);
}


.Total_g7[hidden] { display: none; }

.Total_g7 {
  border: 2px solid var(--navy);
  border-radius: 0.75em;
  padding: 1em;
  background: var(--mist);
  display: grid;
  gap: 0.35em;
  font-size: var(--fs-sm);
}

.Total_row_g7 {
  display: flex;
  justify-content: space-between;
  gap: 1em;
}

.Total_big_g7 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: var(--fs-md);
  font-weight: 700;
  border-top: 1px solid var(--line);
  padding-top: 0.5em;
  margin-top: 0.25em;
}


.Form_g7 {
  display: grid;
  gap: 0.75em;
  border: 2px solid var(--stone);
  border-radius: 0.9em;
  padding: var(--sp-3);
  background: var(--paper);
  max-width: 34em;
}

.Form_wide_g7 {
  max-width: none;
}

.Form_grp_g7 {
  display: grid;
  gap: 0.28em;
}

.Form_lbl_g7 {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--slate);
}

.Form_in_g7 {
  width: 100%;
  border: 2px solid var(--stone);
  border-radius: 0.55em;
  padding: 0.7em 0.85em;
  min-height: 2.9em;
  background: var(--paper);
  font-size: var(--fs-base);
  transition: border-color 0.18s ease;
}

.Form_in_g7:focus {
  border-color: var(--navy);
}

.Form_check_g7 {
  display: flex;
  gap: 0.6em;
  align-items: flex-start;
  font-size: var(--fs-sm);
  color: var(--slate);
}

.Form_check_g7 input {
  width: 1.15em;
  height: 1.15em;
  margin-top: 0.28em;
  flex: 0 0 auto;
  accent-color: var(--navy);
}

.Form_note_g7 {
  font-size: var(--fs-xs);
  color: var(--muted);
}

.Form_err_g7 {
  border: 2px solid #b91c1c;
  background: #fef2f2;
  color: #991b1b;
  border-radius: 0.55em;
  padding: 0.7em 0.9em;
  font-size: var(--fs-sm);
}

.Form_ok_g7 {
  border: 2px solid #15803d;
  background: #f0fdf4;
  color: #14532d;
  border-radius: 0.75em;
  padding: var(--sp-3);
}

.Form_ok_g7 h2 {
  font-size: var(--fs-lg);
  margin-bottom: 0.3em;
}


.Comp_g7 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11em, 1fr));
  gap: 0.7em;
}

.Comp_g7 div {
  border: 2px solid var(--stone);
  border-radius: 0.65em;
  padding: 0.8em;
  background: var(--paper);
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.Comp_g7 div:hover {
  border-color: var(--navy);
  transform: translateY(-4px);
}

.Comp_g7 b {
  display: block;
  font-size: var(--fs-sm);
  margin-bottom: 0.15em;
}

.Comp_g7 span {
  font-size: var(--fs-xs);
  color: var(--muted);
}


.Doc_g7 {
  max-width: 46em;
}

.Doc_g7 h2 {
  font-size: var(--fs-lg);
  margin-top: 1.1em;
}

.Doc_g7 h3 {
  font-size: var(--fs-md);
  margin-top: 0.9em;
}

.Doc_g7 p,
.Doc_g7 li {
  color: var(--slate);
}

.Doc_g7 ul {
  display: grid;
  gap: 0.3em;
  margin: 0.4em 0 0.9em;
}

.Doc_g7 ul li {
  padding-left: 1em;
  position: relative;
}

.Doc_g7 ul li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--muted);
}

.Doc_meta_g7 {
  font-size: var(--fs-sm);
  color: var(--muted);
  border-left: 3px solid var(--stone);
  padding-left: 0.9em;
  margin-bottom: var(--sp-3);
}

.Doc_box_g7 {
  border: 2px solid var(--stone);
  border-radius: 0.7em;
  background: var(--mist);
  padding: 1em;
  margin: 0.9em 0;
  font-size: var(--fs-sm);
}

.Doc_addr_g7 {
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: var(--fs-sm);
  color: var(--ink);
  background: var(--paper);
  border: 2px dashed var(--stone);
  border-radius: 0.55em;
  padding: 0.8em 0.9em;
  margin: 0.6em 0 0.9em;
  overflow-wrap: anywhere;
}


@media (min-width: 48em) {
  .Hero_g7 {
    grid-template-columns: 1fr 1fr;
    min-height: 80vh;
    padding: var(--sp-5);
  }

  .Prod_g7 {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  }

  .Line_g7 {
    grid-template-columns: 7em 1fr;
  }
}
