/* ===== COMMON WRAPPER FIXES ===== */
body #page-container,
body #et-main-area,
body #main-content,
body #main-content .container,
body #content-area,
body #left-area,
body .entry-content,
#gform_wrapper_19,
#gform_wrapper_19 .gform_body,
#gform_wrapper_19 form { overflow: visible !important; }

/* ===== STICKY BAR ===== */
.cb-sticky { position: sticky; top: 32px; z-index: 100; margin: 10px 0 16px; background: #fff; border: 1px solid #ddd; border-radius: 12px; box-shadow: 0 6px 14px rgba(0,0,0,.06); }
body.admin-bar .cb-sticky { top: 44px; }
.cb-sticky-inner { display:flex; gap:16px; align-items:center; padding:12px 16px; }
.cb-sticky-left  { flex:0 0 auto; min-width:260px; }
.cb-sticky-right { flex:1; }
.cb-sticky-line  { line-height:1.4; }
#cb-sticky .cb-sticky-left, #cb-sticky .cb-sticky-left *, #cb-sticky .cb-tierbar-badge { font-family: 'Latinotype-TrendSlabOne', Arial, Helvetica, sans-serif !important; }

/* Sticky-as-fixed (JS toggles this class) */
.cb-sticky.cb-sticky--fixed{ position:fixed !important; top:32px; left:0; z-index:1000; }
body.admin-bar .cb-sticky.cb-sticky--fixed{ top:44px; }

/* ===== TIER BAR ===== */
.cb-tierbar { position:relative; height:12px; background:#eee; border-radius:8px; overflow:hidden; }
.cb-tierbar-fill { height:100%; width:0; background:linear-gradient(90deg,#b08a5a,#5a3d2f); transition:width .3s ease-out; }
.cb-tierbar-ticks { pointer-events:none; position:absolute; inset:0; }
.cb-tierbar-ticks span { position:absolute; top:0; bottom:0; width:2px; background:#fff; opacity:.85; }
.cb-tierbar-markers { display:flex; justify-content:space-between; font-size:11px; opacity:.8; margin-top:6px; padding:0 2px; }
.cb-tierbar-percentages { display:flex; justify-content:space-between; font-size:11px; font-weight:bold; opacity:.8; margin-top:1px; padding:0 5px; }
.cb-tierbar-badge{ position:absolute; right:8px; top:-6px; transform:translateY(-100%); background:#5a3d2f; color:#fff; padding:3px 10px; border-radius:999px; font-size:14px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; box-shadow:0 2px 4px rgba(0,0,0,.15); }
.cb-tier-hint{ font-size:12px; opacity:.85; margin:4px 0 6px; }

/* ===== LAYOUT ===== */
.cb-catalog-row { display:flex; gap:16px; align-items:flex-start; margin:12px 0 6px; min-height:140px; }
.cb-catalog-img { flex:0 0 298px; }
.cb-catalog-info { flex:1; display:flex; flex-direction:column; gap:6px; }
.cb-catalog-title { margin:0 0 2px; font-size:.9rem; line-height:1.25; }
.cb-meta-line { display:grid; grid-template-columns:1fr auto auto; align-items:end; gap:40px; }

#gform_wrapper_19 .cb-sku,
#gform_wrapper_19 .cb-unit-price-big,
#gform_wrapper_19 .cb-line-total-right{
  font-size:1.7rem!important; font-weight:700!important; letter-spacing:normal!important;
  font-family:'Latinotype-TrendSlabOne'!important; line-height:1.2!important; margin:0!important; padding:0!important;
}
#gform_wrapper_19 .cb-line-total-right{ text-align:right; }
#gform_wrapper_19 .cb-sku{ font-weight:700!important; font-size:2.2rem!important; opacity:.8; align-self:end; padding-bottom:2px; }

.cb-unit-price-col, .cb-line-total-col{ display:flex; flex-direction:column; gap:0; }
.cb-unit-price-col{ align-items:center; }
.cb-line-total-col{ align-items:flex-end; }
.cb-unit-price-label, .cb-line-total-label{ font-size:.8rem; opacity:.7; margin-top:-2px; line-height:1.1; width:100%; text-align:right!important; }
.cb-unit-price-label{ text-align:center; }

.cb-controls-flex{ display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; margin-top:6px; }
.gfield.cb-inline{ display:inline-flex; align-items:center; gap:12px; margin:0!important; padding:0!important; border:none!important; }
.gfield.cb-qty input{ width:120px; max-width:120px; height:42px; padding:6px 10px; font-size:1rem; text-align:center; }
#gform_wrapper_19 .cb-gw legend.gfield_label{ display:none!important; }
.cb-gw .gchoice label{ font-family:'TeXGyreAdventor-Bold','Latinotype-TrendSlabOne',Arial,Helvetica,sans-serif; font-size:.9rem; }
.cb-gw .gfield_description{ padding-top:0!important; font-size:.8rem; margin-top:-5px; }
.cb-gw .ginput_container_checkbox{ margin-top:0; }

.cb-catalog-divider{ margin:14px 0; border:0; border-top:1px solid #e5e5e5; }

input[type=number]{ appearance:textfield; -moz-appearance:textfield; }
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button{ opacity:1; -webkit-appearance:inner-spin-button!important; margin:0; cursor:pointer; }

/* ===== BANNER ===== */
.cb-min-banner{ margin:8px 0 14px; padding:12px 14px; background:#fff8e6; border:1px solid #f2c97d; border-radius:10px; font-size:0.95rem; line-height:1.35; }
.cb-min-banner strong{ font-weight:800; }

/* ===== BUTTONS (you’ll refine visual here per brand system) ===== */
.gform_page_footer .gform_previous_button,
.gform_page_footer .gform_next_button,
.gform_page_footer .gform_last_page_button,
.gform_page_footer .button{
  height:40px; padding:0 16px; border-radius:10px; font-weight:700;
  border:2px solid #000; background:#fff; color:#000; line-height:38px;
}
.gform_page_footer .gform_previous_button:hover,
.gform_page_footer .gform_next_button:hover,
.gform_page_footer .gform_last_page_button:hover,
.gform_page_footer .button:hover{ filter:brightness(0.97); }

/* ===== PAGE-SPECIFIC HIDE: cart & move reCAPTCHA when Form 19 present ===== */
.cb-corp-form-active .xoo-wsc-basket{ display:none !important; }
.cb-corp-form-active .grecaptcha-badge{ bottom:auto !important; top:8px !important; right:8px !important; }

/* ===== MOBILE ===== */
@media (max-width: 782px){
  img.cb-img { max-width: 72px!important; }
  .cb-line-total-col { display: none; }
  .cb-sticky{ margin:0; border-radius:0; border-left:0; border-right:0; }
  .cb-sticky.cb-sticky--fixed{ top:0; left:0!important; width:100%!important; }
  body.admin-bar .cb-sticky.cb-sticky--fixed{ top:46px; }

  .cb-sticky-inner{ padding:10px 12px; gap:10px; flex-direction:column; align-items:stretch; }
  .cb-tierbar-markers, .cb-tierbar-percentages{ font-size:10px; }

  .cb-next-slot{ flex-direction:column; align-items:stretch; gap:8px; margin-top:8px; }
  .cb-next-pre{ display:block; margin:0; }
  .cb-next-slot .gform_next_button{ width:100%; }

  .cb-catalog-row{ gap:10px; min-height:unset; }
  .cb-catalog-img{ flex:0 0 72px; }
  .cb-catalog-title{ font-size:.7rem; color:black; }
  #gform_wrapper_19 .cb-sku{ font-size:.6rem!important; }
  #gform_wrapper_19 .cb-unit-price-big,
  #gform_wrapper_19 .cb-line-total-right{ font-size:1.25rem!important; }

  .cb-meta-line{ grid-template-columns:1fr; gap:6px; }
  .cb-unit-price-col{ align-items:flex-start; }
  .cb-line-total-label, .cb-unit-price-label{ text-align:left!important; }
}
/* Sticky-bar action row (desktop baseline) */
.cb-next-slot{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  justify-content: flex-end; /* right align */
}

/* Helper text next to the button */
.cb-next-pre{
  font-size: 14px;
  font-weight: 600;
  margin-right: 10px;
}

/* Hover / disabled / focus-visible states */
.cb-next-slot .gform_next_button:hover{ filter: brightness(0.97); }
.cb-next-slot .gform_next_button.is-disabled{
  opacity: .5;
  cursor: not-allowed;
}
.cb-next-slot .gform_next_button:focus-visible{
  outline: 3px solid #000;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(0,0,0,.15);
}
/* Make the sticky-bar Next button match global GF buttons */
.cb-next-slot .gform_next_button{
  height: 40px;
  padding: 0 16px;
  border-radius: 10px;
  font-weight: 700;
  border: 2px solid #000;
  background: #fff;
  color: #000;
  line-height: 38px;
}
/* ===== Step indicators: keep 40px circle, center the check, keep label clickable ===== */
#gform_wrapper_19 .gf_page_steps{
  margin-bottom: 18px;
  display: flex;
  gap: 18px;
}

#gform_wrapper_19 .gf_step{
  display: flex;
  align-items: center;
  gap: 10px;               /* space between circle and label */
  position: relative;      /* create local stacking context */
}

/* Circle */
#gform_wrapper_19 .gf_step_number{
  flex: 0 0 40px;          /* never shrink; fixes overlap */
  width: 40px; height: 40px;
  padding: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center; justify-content: center;
  border: 2px solid #5e6a74;        /* use your darker grey */
  background: #fff;
  color: #000;
  font-weight: 700;
  font-size: 16px;
  line-height: 1 !important;
  z-index: 1;                         /* sits under label */
  background-image: none !important;  /* kill theme/GF icon */
}

/* Completed: fill the circle */
#gform_wrapper_19 .gf_step_completed .gf_step_number{
  background: #5e6a74;
  border-color: #5e6a74;
  color: #fff;
}

/* Nuke any theme pseudo-icons, then draw a small centered check */
#gform_wrapper_19 .gf_step_completed .gf_step_number::before,
#gform_wrapper_19 .gf_step_completed .gf_step_number::after{
  content: none !important;           /* remove built-ins to avoid misalignment */
}
#gform_wrapper_19 .gf_step_completed .gf_step_number{
  position: relative;
}
#gform_wrapper_19 .gf_step_completed .gf_step_number span{ /* if GF prints a number span */
  opacity: 0;                           /* hide number when completed */
}
#gform_wrapper_19 .gf_step_completed .gf_step_number::after{
  content: "✓";
  position: absolute;
  inset: 0;                             /* center inside the circle */
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; font-weight: 800; line-height: 1;
  color: #fff;
}

/* Label stays clickable and above circle */
#gform_wrapper_19 .gf_step_label{
  position: relative;
  z-index: 2;                           /* ensure clicks go to the link */
  font-weight: 600; color: #6b7280; font-size: 15px;
}

/* Inactive step ring (2, 3) */
#gform_wrapper_19 .gf_step:not(.gf_step_completed):not(.gf_step_active) .gf_step_number{
  border-color: #cfd4da; color: #6b7280; background:#fff;
}

/* Optional hover affordance */
#gform_wrapper_19 .gf_step:hover .gf_step_number{ border-color: #9aa3ab; }

/* Keep steps on one line + center vertically */
#gform_wrapper_19 .gf_page_steps{
  display:flex;
  flex-wrap: nowrap;         /* no wrapping */
  align-items: center;
  gap: 18px;
  white-space: nowrap;       /* prevent label wrap */
}

/* Ensure the circle never eats clicks; label gets the click */
#gform_wrapper_19 .gf_step_number{
  pointer-events: none;      /* clicks pass through to label/link */
}

#gform_wrapper_19 .gf_step_label,
#gform_wrapper_19 .gf_step_label a{
  position: relative;
  z-index: 3;                /* above everything */
  pointer-events: auto;      /* accept the click */
}

/* (Keep the completed check centered) */
#gform_wrapper_19 .gf_step_completed .gf_step_number::before,
#gform_wrapper_19 .gf_step_completed .gf_step_number::after{
  content: none !important;  /* kill built-ins */
}
#gform_wrapper_19 .gf_step_completed .gf_step_number::after{
  content: "✓";
  position: absolute;
  inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; font-weight: 800; line-height: 1;
  color: #fff;
}
/* Keep step circles and labels on one line, even when completed */
#gform_wrapper_19 .gf_page_steps {
  display: flex;
  flex-wrap: nowrap;              /* never wrap steps */
  align-items: center;
  gap: 18px;
}

#gform_wrapper_19 .gf_step {
  display: flex !important;
  flex-direction: row !important; /* stop any column layout */
  align-items: center;
  gap: 10px;
}

/* Label + link always inline, no extra top margin */
#gform_wrapper_19 .gf_step_label,
#gform_wrapper_19 .gf_step_label a {
  display: inline-block !important;
  margin: 0 !important;
  white-space: nowrap;            /* prevent label wrapping under the circle */
}
/* ===== Keep step number + label on one line, even when link wraps them ===== */

/* Layout container for the whole step row */
#gform_wrapper_19 .gf_page_steps {
  display: flex;
  flex-wrap: nowrap;         /* never wrap steps to next line */
  align-items: center;
  gap: 18px;
}

/* Step wrapper */
#gform_wrapper_19 .gf_step {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
}

/* When Gravity Perks wraps the step in a link, make that link flex too */
#gform_wrapper_19 .gf_step a.gwmpn-page-link,
#gform_wrapper_19 .gf_step a.gpmpn-page-link {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 0;
}

/* Make sure the label sits to the right and doesn’t drop */
#gform_wrapper_19 .gf_step_label,
#gform_wrapper_19 .gf_step_label a {
  display: inline-block !important;
  margin: 0 !important;
  white-space: nowrap;
}
/* ===== Order Items by Type (pages 2 & 3) ===== */
.cb-type-summary{
  margin: 16px 0 24px;
  font-size: 0.9rem;
}

.cb-type-summary-empty{
  font-style: italic;
  color: #6b7280;
}

.cb-type-table{
  width: auto;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.cb-type-table th,
.cb-type-table td{
  padding: 4px 10px;
  border-bottom: 1px solid #e5e5e5;
  text-align: right;
}

.cb-type-table th:first-child,
.cb-type-table td:first-child{
  text-align: left;
}

.cb-type-table th{
  font-weight: 700;
  color: #4b5563;
}
.page-id-157878 div#desktop-nav {
    display: none;
}
/* ===== Order Items summary (pages 2 & 3) ===== */
.cb-order-summary{
  margin: 16px 0 24px;
  font-size: 0.9rem;
}

.cb-order-summary-empty{
  font-style: italic;
  color: #6b7280;
}

.cb-order-table{
  width: 100%;
  
  border-collapse: collapse;
  font-size: 0.9rem;
}

.cb-order-table th,
.cb-order-table td{
  padding: 6px 10px;
  border-bottom: 1px solid #e5e5e5;
  text-align: right;
}

.cb-order-table th:first-child,
.cb-order-table td:first-child{
  text-align: left;
}

.cb-order-table th{
  font-weight: 700;
  color: #4b5563;
}

.cb-order-table tfoot td{
  font-weight: 700;
  background: #f8fafc;
}
/*
 * Header Layout Styles
 * Loaded by the Abdallah Corporate Order Form plugin
 * to add the logo next to the H1 title.
 */

/* --- Flexbox Container --- */
.header-flex-container {
    display: flex;
    justify-content: space-between; /* Pushes items to ends */
    align-items: flex-start; /* Aligns items to the top */
    flex-wrap: wrap; /* Allows items to wrap on small screens */
    gap: 1.5rem; /* Creates space between items if they wrap */
    /* Add a little bottom margin to separate from form */
    margin-bottom: 1.5rem; 
}

/* --- The H1 Title --- */
.header-flex-container .entry-title {
    flex-grow: 1; /* Allows H1 to take available space */
    min-width: 200px; /* Prevents H1 from getting too squished */
    margin-bottom: 0; /* Remove bottom margin if it's inside the flex container */
}

/* --- The new Logo Link --- */
.header-flex-container .logo-link {
    flex-shrink: 0; /* Prevents logo from shrinking */
    width: 160px; /* Set your desired logo width */
    display: block; /* Ensures the link behaves as a block */
}

.header-flex-container .logo-img {
    width: 100%; /* Makes the image responsive within its container */
    height: auto; /* Maintains aspect ratio */
    display: block; /* Removes bottom space under the image */
}

@media (max-width: 1074px){ 
	.header-flex-container .logo-img, div#gf_page_steps_19 { display:none!important;}
}
@media (min-width: 1074px){ 
	/* This is safer and targets *only* the heading inside form 19 */
	#gform_wrapper_19 .gform_heading {
		margin-top: -144px;
	}
	.header-flex-container .logo-img { margin-bottom: 15px; }
}
.cb-order-option-row td{
  text-align: left;
  border-bottom: 1px solid #f3f4f6;
}
.cb-order-option{
  font-size: 0.85rem;
  color: #4b5563;
  padding-left: 1.5rem;
}
/* Keep Unit price & Price columns on one line */
.cb-order-table th:nth-child(3),
.cb-order-table th:nth-child(4),
.cb-order-table td:nth-child(3),
.cb-order-table td:nth-child(4){
  white-space: nowrap;
}

/* Bold SKU in summary table */
.cb-order-sku{
  font-weight: 700;
}

/* Option (gift wrap) row styling */
.cb-order-option-row td{
  text-align: left;
  border-bottom: 1px solid #f3f4f6;
}
.cb-order-option{
  font-size: 0.85rem;
  color: #4b5563;
  padding-left: 1.5rem;
}

/* Hides the new Order Items Table field from the user */
.cb_force_hide_field {
    display: none !important;
    max-height: 0 !important;
    overflow: hidden !important;
}