#productFileSetup.has-border-linear-gradient {
    border: 3px solid #7fc242; /* use your preferred green */
    border-radius: 50px !important;
    box-sizing: border-box;
    padding: 2rem;
    background: #f4f4f4;
}

/* Target the specific File Setup section columns */
.file-setup-col1 {
    flex: 2 1 0% !important;   /* Makes left column take up 2/3 width */
    max-width: 40% !important;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.file-setup-col2 {
    flex: 1 1 0% !important;   /* Makes right column take up 1/3 width */
    max-width: 60% !important;
    margin-left: 2vw;
    display: block;	
}

@media (max-width: 900px) {
    .file-setup-col1, .file-setup-col2 {
        max-width: 100% !important;
        flex: 1 1 100% !important;
        margin-left: 0 !important;
        justify-content: center;
        text-align: center;
    }
}

.file-setup-info {
  display: flex;
  gap: 40px;
  justify-content: center;
}
.file-setup-info > div {
  min-width: 120px;
  text-align: left;
  font-size: 1rem;
  line-height: 1.5;
}

/* 1. Center and contain the section, with minimal vertical padding */
#productFileSetup {
    max-width: 1200px;
    margin: 40px auto;
    width: 90%;
    box-sizing: border-box;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    min-height: unset !important;
    height: auto !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* 2. Remove extra space from columns */
#productFileSetup .columns,
#productFileSetup .column,
#productFileSetup .file-setup-col1,
#productFileSetup .file-setup-col2 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* 3. Tighten up the right column's text spacing (for tables) */
#productFileSetup .file-setup-info td, 
#productFileSetup .file-setup-info th {
    padding-top: 2px !important;
    padding-bottom: 2px !important;
    line-height: 1.1 !important;
}

/* 4. Tighten up the right column's text spacing (for divs/spans/br) */
#productFileSetup .file-setup-col2, 
#productFileSetup .file-setup-col2 * {
    line-height: 1.2 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* 5. Optionally, shrink font in right column for even less height */
#productFileSetup .file-setup-col2 {
    font-size: 0.97rem !important;
}

/* ######################################### */

.attributeHeader {
    display: inline-flex !important; /* makes the header inline */
    align-items: center !important;
    width: 160px !important;
    margin-right: 10px !important; /* space between label and dropdown */
}

.attribute-item {
    display: inline-flex !important; /* places options inline next to header */
    align-items: center !important;
    width: auto !important;
}

/* Ensure parent container supports inline elements */
#optionsContainer {
    display: flex !important; /* optional: better vertical alignment */
    align-items: center !important; /* vertically aligns items neatly */
}

.attribute-item.columns.is-multiline {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
}



.attribute-value-item,
select[id^="product_attribute_"],
button {
  border-radius: 0 !important;
  width: 300px !important;
}

.add-to-cart-wrapper {
  border: 2px solid #228B22; /* green border */
  padding: 24px;
  margin-top: 24px;
  border-radius: 0; /* makes corners square */
  background-color: #f1f9f1; /* optional: ensures consistent background */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.add-to-cart-wrapper .price {
  text-align: center;
}

.add-to-cart-wrapper .price div {
  display: inline-block; /* prevents full-width stretching */
  font-weight: bold;
  font-size: 1.25em;
}

.add-to-cart-wrapper .quantity-wrapper {
  visibility:hidden;
}

.bigpicture img.is-fullwidth {
    height: 400px !important;
    object-fit: contain !important;
}

/* ------------------------------------------------------------------
   ⬇⬇⬇  NEW 2025-08-07 – move the green frame & restyle price  ⬇⬇⬇
------------------------------------------------------------------ */

/* 1. Remove the old border from its original wrapper */
.add-to-cart-wrapper{
  border:none !important;
  background:transparent !important;
  padding:0rem 2rem!important;
  box-shadow:none !important;
}

/* 2. Re-apply the frame around Printing Time & Quantity rows
      (they already have unique wrapper classes courtesy of Infigo) */
.name_Printing_Time,
.name_Quantity{
  display:block;
  width:100%;
  background:#f1f9f1;
}

/* top half */
.name_Printing_Time{
  border:2px solid #228B22;
  border-bottom:none;
  padding:24px 24px 12px;
}

/* bottom half */
.name_Quantity{
  border:2px solid #228B22;
  border-top:none;
  padding:12px 24px 24px;
}

/* 3. Shrink & right-align the live price just under the new box */
.add-to-cart-wrapper .price{
  text-align:right !important;
  margin-top:8px;
}
.add-to-cart-wrapper .price .productPrice{
  font-size:2rem !important;
}

/* Push the entire framed box downward */
.name_Printing_Time{
  margin-top:40px !important;      /* adjust up or down as you like */
}

.add-to-cart-wrapper .price{ 
  margin-top:-35px !important; /* bigger number = larger gap */
}
/* ------------------------------------------------------------------ */

/* ------------------------------------------------------------------
   2025-08-07 — Upload-Art button tweaks
------------------------------------------------------------------ */

/*  Scope everything to this product only  */
.add-to-cart-buttons-wrapper.column{
  /* unlock the column so it stretches full-width */
  flex:none !important;
  flex-basis:100% !important;
  max-width:100% !important;
  padding:0 !important;      /* remove side gutters */
  min-height:140px;          /* make the block taller */
  display:flex;
  align-items:center;        /* vertical-centre the button */
}

/*  Style the button itself  */
input.productvariantaddtocartbutton.catfish-button.multipart_product_start{
  -webkit-appearance:none !important;
  appearance:none !important;
  flex:1 1 auto !important;
  width:100% !important;
  padding:1.25rem 1rem !important;
  font-size:1.15rem !important;
  background:#00744b !important;   /* brand green */
  color:#fff !important;
  border:none !important;
  border-radius:8px !important;
  cursor:pointer !important;
  transition:background .2s;
}
input.productvariantaddtocartbutton.catfish-button.multipart_product_start:hover{
  background:#009f60 !important;   /* lighter on hover */
}

/* ------------------------------------------------------------------ */

/* One box around options + price + Upload button */
.arone-product-landing-page .column.details-wrapper {
  background: #faf8f0 !important;       /* off-white */
  border: 2px solid #d7d7d7 !important;
  border-radius: 12px !important;
  padding: 24px !important;              /* inner spacing */
  box-shadow: 0 2px 10px rgba(0,0,0,.06) !important;
}

/* Remove inner box so the outer one shows cleanly */
.arone-product-landing-page .details-wrapper .add-to-cart-wrapper {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Keep content flush inside the new box */
.arone-product-landing-page .details-wrapper .product-variant-list,
.arone-product-landing-page .details-wrapper .price-quantity-start-wrapper {
  margin: 0 !important;
}

/* Make the button sit nicely inside the box */
.arone-product-landing-page .details-wrapper .action-button-wrapper .catfish-button {
  display: block !important;
  width: 100% !important;
  margin-top: 16px !important;
}

.arone-product-landing-page .details-wrapper .action-button-wrapper .catfish-button {
    height: 60px !important;        /* increase button height */
    line-height: 30px !important;   /* keep text vertically centered */
}

.bizcard-upload input.productvariantaddtocartbutton.catfish-button.multipart_product_start {
    font-size: 1.5rem !important;   /* optional: make text a bit larger */
}

.arone-product-landing-page .details-wrapper .price::before {
    content: "Price:    ";
    font-weight: bold;
    font-size: 1.5rem;
    color: #333; /* match your text color */
}

.arone-product-landing-page .details-wrapper .add-to-cart-buttons-wrapper {
    margin-top: -100px !important; /* adjust to taste — smaller number pulls it closer */
}

/* Make the options box a positioning context */
.arone-product-landing-page .column.details-wrapper {
  position: relative;
}

/* Match number inputs to dropdown style */
input[type="number"].catfish-input,
input.catfish-input.number-quantity {
    border: 2px solid #639C3E ; /* same green as dropdown */
    border-radius: 4px !important;        /* match dropdown corners */
    padding: 8px 12px !important;         /* same padding */
    font-size: 1rem !important;           /* match font size */
    width: 100% !important;               /* full width like selects */
    box-sizing: border-box !important;
    background-color: #fff !important;
}

/* Optional: focus state to match dropdown */
input[type="number"].catfish-input:focus,
input.catfish-input.number-quantity:focus {
    outline: none !important;
    border: 2px solid #4b8b3b !important; /* same green as dropdown on focus */
    box-shadow: none !important; /* keep it clean */
}

/* make sure the label can host the popup */
.attributeHeader { position: relative; overflow: visible; }

/* keep the help icon tiny despite the global `button { width:300px !important }` */
.attributeHeader .help-dot{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  padding:0 !important;
  margin-left:6px !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  border-radius:50% !important;
  border:2px solid #7fc242 !important;
  background:#fff !important;
  box-shadow:none !important;
}

/* make the popup super minimal */
.help-card__bar{ display:none !important; }
.help-card{
  padding:6px 8px !important;
  border-radius:6px !important;
  border:1px solid #cfe6bf !important;
  box-shadow:0 6px 16px rgba(0,0,0,.10) !important;
  width:auto !important;
  max-width:280px !important;
}
.help-card__body{ padding:0 !important; font-size:.85rem !important; line-height:1.35 !important; }
.help-card__arrow{ width:10px !important; height:10px !important; top:-5px !important; left:12px !important; }

/* align the icon with the label text baseline */
.attributeHeader{
  align-items: baseline !important;   /* was center */
  gap: 6px !important;                /* nice spacing between text and ? */
  width: 165px !important;
}

/* perfectly center the “?” inside the circle, then nudge up 1px */
.attributeHeader .help-ico{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  position: relative; 
  top: -1px;                           /* tweak: try -1px to -2px if needed */
}

/* Wider tooltip box for the ? icons */
.attributeHeader .help-ico::after{
  max-width: min(90vw, 480px) !important;  /* allow up to ~480px on desktop */
  min-width: 260px !important;             /* don't collapse to a skinny column */
  white-space: normal !important;          /* wrap like a paragraph */
  line-height: 1.45 !important;
  font-size: .9rem !important;
  padding: 8px 10px !important;
  border: 1px solid #cfe6bf !important;
  border-radius: 6px !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.10) !important;
}

/* (Optional) even wider on large screens */
@media (min-width: 1200px){
  .attributeHeader .help-ico::after{
    max-width: 560px !important;
  }
}
/* center the tooltip under the icon */
.attributeHeader .help-ico::after{
  left: 50% !important;
  transform: translateX(-50%) !important;
}

/* ############################################################# */


/* Pull the button closer to the price */
.arone-product-landing-page .details-wrapper .add-to-cart-buttons-wrapper {
  margin-top: 0px !important; /* small positive gap instead of big space */
}



/* Price: small bottom gap to the button */
.add-to-cart-wrapper .price {
  margin-bottom: 0px !important;
}

/* Let the wrapper size itself and start at the top */
.add-to-cart-buttons-wrapper.column {
  min-height: auto !important;       /* remove the 140px tall box */
  align-items: flex-start !important; /* no vertical centering */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Small, consistent gap between price and button wrapper */
.add-to-cart-wrapper .price {
  margin-bottom: 0px !important;     /* was none / negative earlier */
}

/* Keep the wrapper close to the price */
.arone-product-landing-page .details-wrapper .add-to-cart-buttons-wrapper {
  margin-top: 0px !important;        /* tighten as needed: 0–10px */
}

/* Remove the hidden quantity row’s space under the price */
.add-to-cart-wrapper .quantity-wrapper {
  display: none !important;     /* instead of visibility:hidden */
}

/* All step buttons in one-page checkout */
.one-page-checkout .catfish-button {
  border-radius: 30px !important;
  flex: 0 0 auto !important;   /* don’t let flex grow */
  display: inline-flex !important;
  justify-content: center;
  width: 180px !important;      /* pick your exact size (e.g., 170–200px) */
  text-align: center !important;
}

.one-page-checkout {
  max-width: 80rem !important;
}

/* ############################################################# */

#cartform td.product.cart--productinfo > div.summaryShortDescription,
#cartform td.product.cart--productinfo .warning-box,
#cartform td.product.cart--productinfo [id^="warning-box_"] { display: none !important; }

/* Put all text/info in the second column */
#cartform td.product.cart--productinfo .rawAttributeInfo,
#cartform td.product.cart--productinfo .product-name,
#cartform td.product.cart--productinfo .review-wrapper,
#cartform td.product.cart--productinfo .product-details,
#cartform td.product.cart--productinfo .attributes {
  grid-column: 2 !important;
  text-align: left !important;
  white-space: nowrap !important;
}
#cartform td.product.cart--productinfo > div {
  display: grid !important;
  grid-template-columns: 120px 1fr;   /* adjust 120px to your thumbnail width */
  column-gap: 32px;
  align-items: start;
}

.cart--quantities,
.cart--single-price,
#cartform table.cart.is-fullwidth thead th:first-child,
#cartform table.cart.is-fullwidth tbody td:first-child {
  display: none !important;
}

/* Desktop only (adjust the breakpoint if needed) */
@media (min-width: 769px) {

  /* Keep the <th> in the layout but hide its text so widths don't shift */
  table.cart.is-fullwidth thead th.cart--quantities {
    color: transparent;             /* text hidden, cell still occupies space */
  }

  table.cart.is-fullwidth thead th.cart--pictures {
    visibility: hidden;             /* retains width */
  }

  /* Optional: also hide the 'Total' heading to free visual space without collapsing the column */
  table.cart.is-fullwidth thead th.cart--total {
    visibility: hidden;             /* retains width */
  }

  /* Draw the real 'Qty.' label over the quantity column */
  .one-page-checkout table.cart.is-fullwidth tbody tr:first-child td.cart--quantity,
  .one-page-checkout table.cart.is-fullwidth tbody tr:first-of-type td.cart--itemtotal {
    position: relative;
  }
  .one-page-checkout table.cart.is-fullwidth tbody tr:first-child td.cart--quantity::before {
    content: "Qty.";
    position: absolute;
    left: 0;
    top: -1.6em;                     /* tweak to match your header row height */
    font-weight: 700;                /* match your <th> style */
    /* font-size: 16px;              /* uncomment/adjust to match your header size */
  }
  .one-page-checkout table.cart.is-fullwidth tbody tr:first-of-type td.cart--itemtotal::before {
    content: "Price";
    position: absolute;
    left: 0;
    top: -1.6em;         /* same offset as above */
    font-weight: 700;
    white-space: nowrap;
    pointer-events: none;
  }
}

.one-page-checkout .cart-item-row::before {
  background: none;
}

.one-page-checkout .checkout-confirm-order-load {
  border-style: solid;
  border-radius: 0.75rem;
  border-color: var(--Primary-color);
  padding: 16px;
}
