/* Redeployed 2026-09-08: the server copy was reverted by a backup restore,
   and WP Engine only ships files touched by new commits, so git believed
   this was already live. See _local-backups/security-review/. */
.design-instabox-sub-header .action-btns-design button,
.design-instabox-sub-header .action-btns-design button:hover,
.design-instabox-sub-header .action-btns-design button:focus {
  transform: none;
}

button.save-configurator-button {
  border: 1px solid #ffffff;
  color: #ffffff;
  background: transparent;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  padding: 12px 32px;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

button.save-configurator-button:hover,
button.save-configurator-button:focus {
  background: #ffffff;
  color: #419AF7;
  border-color: #ffffff;
}

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
}
footer .footer-menu-links-column ul li a {
  padding-left: 0px !important;
}

.chnage-config>div {
  margin: 0 !important;
}
:root {
  --instabox-primary: #419AF7;
  --instabox-primary-dark: #1f6ed4;
  --instabox-primary-hover: #68B2FF;
  --instabox-accent: #5CC77A;
  --instabox-muted: #6B7280;
  --instabox-text: #0f1b2f;
  --instabox-border: #E1E6F4;
  --instabox-neutral: #F7F9FF;
  --instabox-warning: #f8d7da;
  --instabox-info-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2720%27%20height%3D%2720%27%20viewBox%3D%270%200%2020%2020%27%20fill%3D%27none%27%3E%3Cpath%20d%3D%27M9.99965%201.25C12.3205%201.25%2014.5462%202.17194%2016.1873%203.813C17.8283%205.45406%2018.7503%207.67981%2018.7503%2010.0006C18.7503%2012.3214%2017.8283%2014.5472%2016.1873%2016.1883C14.5462%2017.8293%2012.3205%2018.7513%209.99965%2018.7513C7.67884%2018.7513%205.45308%2017.8293%203.81202%2016.1883C2.17096%2014.5472%201.24902%2012.3214%201.24902%2010.0006C1.24902%207.67981%202.17096%205.45406%203.81202%203.813C5.45308%202.17194%207.67884%201.25%209.99965%201.25ZM11.3121%206.6225C11.9621%206.6225%2012.4896%206.17125%2012.4896%205.5025C12.4896%204.83375%2011.9609%204.3825%2011.3121%204.3825C10.6621%204.3825%2010.1371%204.83375%2010.1371%205.5025C10.1371%206.17125%2010.6621%206.6225%2011.3121%206.6225ZM11.5409%2013.6563C11.5409%2013.5225%2011.5871%2013.175%2011.5609%2012.9775L10.5334%2014.16C10.3209%2014.3838%2010.0546%2014.5387%209.92965%2014.4975C9.87294%2014.4766%209.82553%2014.4362%209.79597%2014.3835C9.76641%2014.3308%209.75663%2014.2693%209.7684%2014.21L11.4809%208.8C11.6209%208.11375%2011.2359%207.4875%2010.4196%207.4075C9.5584%207.4075%208.2909%208.28125%207.51965%209.39C7.51965%209.5225%207.49465%209.8525%207.5209%2010.05L8.54715%208.86625C8.75965%208.645%209.00715%208.48875%209.13215%208.53125C9.19373%208.55335%209.2442%208.59872%209.27271%208.65762C9.30122%208.71651%209.30551%208.78423%209.28465%208.84625L7.58715%2014.23C7.3909%2014.86%207.76215%2015.4775%208.66215%2015.6175C9.98715%2015.6175%2010.7696%2014.765%2011.5421%2013.6563H11.5409Z%27%20fill%3D%27black%27/%3E%3C/svg%3E");
}

.instabox-shortcode {
  background: #ffffff;
  border-radius: 10px !important;
  font-family: 'Instrument Sans', 'Inter', sans-serif;
  color: var(--instabox-text);
}

.instabox-shortcode #custom-check-price {
  max-width: 960px;
  margin: 0 auto;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

.instabox-shortcode .design-insta-logo {
  text-align: center;
}

.instabox-shortcode .design-insta-logo h2 {
  font-size: clamp(28px, 4vw, 36px);
  font-weight: 800;
  letter-spacing: -0.01em;
  margin-bottom: 8px;
  color: var(--instabox-text);
  padding-top: 1rem;
}

.instabox-shortcode .design-insta-logo p {
  font-size: 18px;
  color: var(--instabox-muted);
  margin: 0 auto 24px;
  max-width: 560px;
}

.instabox-shortcode .boxconfig__content {
  display: flex;
  flex-direction: column;
  gap: 32px;
  border-radius: 10px !important;
}

.instabox-shortcode .boxconfig__controls {
  padding: 2rem;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.instabox-shortcode .boxconfig__controls h2,
.instabox-shortcode .boxconfig__controls h3,
.instabox-shortcode .boxconfig__controls label {
  font-family: 'Instrument Sans', 'Inter', sans-serif;
  color: var(--instabox-text);
}

.instabox-shortcode .boxconfig__controls p {
  color: var(--instabox-muted);
}

.instabox-shortcode :is(#measurements-section, #modal-measurements-section) {
  border: 0 !important;
  background: transparent;
  border-radius: 0;
  
  padding: 0;
}

.instabox-shortcode #measurements-section #wc-stripe-payment-request-wrapper,
.instabox-shortcode #measurements-section #wc-stripe-payment-request-button-separator {
  display: none !important;
}


.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) {
  position: relative;
  padding-top: 0;
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .interior-dimension h3 {
  grid-column: 1 / -1;
  width: 100%;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #0f1b2f;
  text-transform: uppercase;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .interior-dimension h3::after {
  content: '' !important;
  width: 20px;
  height: 20px;
  margin-left: auto;
  background-image: var(--instabox-info-icon);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0.55;
  transition: opacity 0.2s;
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .interior-dimension h3:hover::after {
  opacity: 1;
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex.interior-dimension {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 16px;
  align-items: stretch;
  background: #F8FAFD;
  border: 1px solid #E5EBF7;
  border-radius: 18px;
  padding: 20px;
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex>div {
  flex: 1 1 180px;
  background: #fff;
  border: 1px solid #D9E1F3;
  border-radius: 18px;
  padding: 16px 18px;
  transition: border-color 0.2s ease;
  box-shadow: none;
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex>div:focus-within {
  border-color: var(--instabox-primary);
  box-shadow: none;
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex__inner label {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5B6F96;
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
  padding: 0px !important;
    padding-bottom: 1rem !important;
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex__inner label::after {
  content: '';
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-position: center;
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .length-container label::after {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A//www.w3.org/2000/svg'%20width%3D'20'%20height%3D'20'%20viewBox%3D'0%200%2020%2020'%20fill%3D'none'%3E%3Cpath%20d%3D'M10%203l3.5%203.5H6.5L10%203zM10%2017l-3.5-3.5h7L10%2017z'%20fill%3D'%230F1B2F'/%3E%3Cpath%20d%3D'M10%2016V4'%20stroke%3D'%230F1B2F'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'/%3E%3C/svg%3E");
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .breadth-container label::after {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A//www.w3.org/2000/svg'%20width%3D'20'%20height%3D'20'%20viewBox%3D'0%200%2020%2020'%20fill%3D'none'%3E%3Cpath%20d%3D'M3%2010l3.5-3.5V13.5L3%2010zM17%2010l-3.5%203.5V6.5L17%2010z'%20fill%3D'%230F1B2F'/%3E%3Cpath%20d%3D'M16%2010H4'%20stroke%3D'%230F1B2F'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'/%3E%3C/svg%3E");
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .height-container label::after {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A//www.w3.org/2000/svg'%20width%3D'20'%20height%3D'20'%20viewBox%3D'0%200%2020%2020'%20fill%3D'none'%3E%3Cpath%20d%3D'M6%2015V5'%20stroke%3D'%230F1B2F'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'/%3E%3Cpath%20d%3D'M6%205L3.5%207.5'%20stroke%3D'%230F1B2F'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'/%3E%3Cpath%20d%3D'M6%205l2.5%202.5'%20stroke%3D'%230F1B2F'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'/%3E%3Cpath%20d%3D'M14%205v10'%20stroke%3D'%230F1B2F'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'/%3E%3Cpath%20d%3D'M14%2015l-2.5-2.5'%20stroke%3D'%230F1B2F'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'/%3E%3Cpath%20d%3D'M14%2015l2.5-2.5'%20stroke%3D'%230F1B2F'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'/%3E%3C/svg%3E");
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex__inner input {
  background: #fff;
  border: 1px solid #E1E6F4;
  border-radius: 12px;
  font-size: 28px;
  font-weight: 700;
  width: 100%;
  padding: 10px 14px;
  color: var(--instabox-text);
  box-shadow: none;
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex__inner input:focus {
  outline: none;
  border-color: var(--instabox-primary);
  box-shadow: none;
}

.instabox-shortcode .instabox-addon-wrapper {
  margin-top: 20px;
}

.instabox-shortcode .instabox-addon-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.instabox-shortcode .instabox-addon {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.instabox-shortcode .instabox-addon-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #5B6F96;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 12px;
}

.instabox-shortcode .instabox-addon-label::after {
  content: '' !important;
  width: 20px;
  height: 20px;
  justify-self: end;
  background-image: var(--instabox-info-icon);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  pointer-events: none !important;
  cursor: pointer !important;
  opacity: 0.55;
  transition: opacity 0.2s;
}

.instabox-shortcode .instabox-addon-label:hover::after {
  opacity: 1;
}

.instabox-shortcode .instabox-addon-label {
  cursor: pointer !important;
  pointer-events: auto !important;
}

.instabox-shortcode .instabox-addon-field {
  width: 100%;
}

.instabox-shortcode .instabox-addon-field select,
.instabox-shortcode .instabox-addon-field input[type="text"],
.instabox-shortcode .instabox-addon-field input[type="number"] {
  width: 100% !important;
  border: 1px solid #E1E6F4 !important;
  border-radius: 14px;
  background: #fff;
  padding: 14px 20px;
  font-size: 16px;
  font-weight: 600;
  color: var(--instabox-text);
  box-shadow: none;
  appearance: none;
  line-height: 1.2;
}

.instabox-shortcode .instabox-addon-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%235B6F96' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 44px;
  cursor: pointer;
}

.instabox-shortcode .instabox-addon-field input[readonly] {
  color: var(--instabox-text);
}

.instabox-shortcode .instabox-addon-field input::placeholder {
  color: var(--instabox-text);
  opacity: 1;
}

.instabox-shortcode .instabox-addon-input {
  width: 100% !important;
}

.instabox-shortcode .instabox-addon-field select:focus,
.instabox-shortcode .instabox-addon-field input:focus {
  outline: none;
  border-color: var(--instabox-primary) !important;
}

.instabox-shortcode .instabox-addon-source-hidden {
  display: none !important;
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex__inner.overflowed-container {
  border-color: #f97316;
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.2);
}

.instabox-shortcode .interior-dimension h3.renderForDimensions,
.instabox-shortcode .interior-dimension h3.renderForEmptyDimensions {
  color: #f97316;
}

.instabox-shortcode .Number-warning,
.instabox-shortcode .valid_number,
.instabox-shortcode .dimention-warning {
  display: none;
  margin-bottom: 12px;
  padding: 12px 16px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  background: var(--instabox-warning);
  color: #a30015;
  border: 1px solid #f0a0a8;
}


.instabox-shortcode .quantity_amount {
  background: #fff;
  border-radius: 18px;
  border: 1px solid #E4E7F0;
  padding: 24px;
  display: grid;
  gap: 20px;
}

.instabox-shortcode .Quantity_Div {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.instabox-shortcode .Quantity_Div input {
  border: 1px solid #CED7EE !important;
  border-radius: 14px;
  width: 100%;
  margin-left: 0;
  padding: 14px 18px;
  font-size: 18px;
  font-weight: 600;
  background: #fff;
}

.instabox-shortcode .Quantity_Div input:focus {
  outline: none;
  border-color: var(--instabox-primary) !important;
  box-shadow: 0 0 0 3px rgba(65, 154, 247, 0.15);
}

.instabox-shortcode .quantity_label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--instabox-text);
}


.instabox-shortcode .Total_div.row {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: stretch;
}

.instabox-shortcode .Total_div.row h3 {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--instabox-muted);
  text-transform: uppercase;
  margin: 0;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) {
  width: 100%;
  background: #fff;
  border: 1px solid #E4E7F0;
  border-radius: 18px;
  padding: 22px 26px;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) table {
  width: 100%;
  border-collapse: collapse;
  background: transparent !important;
  border: none !important;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) th,
.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) td {
  font-size: 15px;
  padding: 9px 0;
  background: transparent !important;
  border: none !important;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) th {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #5B647C;
  text-align: left;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) td {
  font-weight: 700;
  color: #0F172A;
  text-align: right;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) tr + tr {
  border-top: none;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) .instabox-total-row--grand th,
.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) .instabox-total-row--grand td {
  font-size: 22px;
  color: #23B26B;
  padding: 12px 0;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) .instabox-total-row--grand td {
  font-weight: 800;
  font-size: 24px;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) .instabox-total-row--grand {
  border-top: 1px solid #E3E9F5;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) .instabox-total-row--grand th,
.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) .instabox-total-row--grand td {
  border: none;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) .note_about_pricing {
  font-size: 13px;
  color: var(--instabox-muted);
  margin: 18px 0 0;
  text-align: center;
}

/* Configurator Action Card - Matches Figma Design */
.instabox-shortcode #configurator_action_button {
  
  background: #F1F8FF;
  border: 1px solid var(--instabox-primary);
  border-radius: 20px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}

.instabox-shortcode #configurator_action_button .instabox-action-card__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 38px;
  width: 100%;
  text-align: center;
}

.instabox-shortcode #configurator_action_button .instabox-action-card__headline {
  font-family: 'IvyPresto Headline', 'IvyMode', Georgia, serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  color: #000000;
  margin: 0;
}

.instabox-shortcode #configurator_action_button .instabox-action-card__primary-btn {
  background: var(--instabox-primary-hover);
  border: none;
  border-radius: 100px;
  color: #FFFFFF;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  padding: 20px 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.05s ease;
  min-width: 100%;
}

.instabox-shortcode #configurator_action_button .instabox-action-card__primary-btn:hover {
  background: var(--instabox-primary);
}

.instabox-shortcode #configurator_action_button .instabox-action-card__primary-btn:active {
  transform: scale(0.98);
}

.instabox-shortcode #configurator_action_button .instabox-action-card__primary-btn:disabled {
  background: #CBD4E9;
  color: #9AA5BE;
  cursor: not-allowed;
  opacity: 0.6;
}

.instabox-shortcode #configurator_action_button .instabox-action-card__btn-emoji {
  font-size: 26px;
  line-height: 24px;
  display: inline-flex;
  align-items: center;
}

.instabox-shortcode #configurator_action_button .instabox-action-card__btn-emoji svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.instabox-shortcode #configurator_action_button .instabox-action-card__btn-text {
  line-height: 24px;
}

.instabox-shortcode #configurator_action_button .instabox-action-card__divider {
  width: 100%;
  height: 0;
  border-top: 1px solid var(--instabox-border);
}

.instabox-shortcode #configurator_action_button #undertheactionbuttons {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  width: 100%;
  visibility: visible !important;
  opacity: 1;
}

.instabox-shortcode #configurator_action_button .instabox-action-card__footer-text {
  font-family: 'Instrument Sans', sans-serif;
  font-size: 18px;
  font-weight: 400;
  color: #000000;
  margin: 0;
  flex-shrink: 1;
  display: block;
  min-width: 0;
}

.instabox-shortcode #configurator_action_button .instabox-action-card__outline-btn {
  background: transparent;
  border: 1px solid var(--instabox-primary);
  border-radius: 100px;
  color: var(--instabox-primary);
  font-family: 'Instrument Sans', sans-serif;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  padding: 20px 30px;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, transform 0.05s ease;
  min-width: 250px;
  max-width: 100%;
  flex-shrink: 1;
  display: inline-block;
  white-space: nowrap;
}

.instabox-shortcode #configurator_action_button .instabox-action-card__outline-btn:hover {
  background: var(--instabox-primary-hover);
  color: #FFFFFF;
}

.instabox-shortcode #configurator_action_button .instabox-action-card__outline-btn:active {
  transform: scale(0.98);
}

.instabox-shortcode #configurator_action_button .instabox-action-card__outline-btn:disabled {
  border-color: #CBD4E9;
  color: #9AA5BE;
  cursor: not-allowed;
  opacity: 0.6;
}

#get_custom_quote {
  display: flex;
  justify-content: center;
  align-items: baseline;
  margin-top: 2%;
}

#get_custom_quote p {
  font-size: 18px;
  font-weight: 400;
  line-height: 21.96px;
  color: black;
}

#get_custom_quote h5 {
  font-size: 18px;
  font-weight: 700;
  line-height: 21.96px;
  margin-left: 1%;
  color: #419AF7;
  cursor: pointer;
}

#get_custom_quote h5:hover {
  text-decoration: underline;
}

@media (max-width: 1024px) {
  .instabox-shortcode .boxconfig__controls {
    padding: 32px;
  }

  .instabox-shortcode .boxconfig__content {
    gap: 24px;
  }

  .instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex>div {
    flex: 1 1 calc(50% - 12px);
  }

  .instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) {
    flex: 1 1 100%;
  }

  .instabox-shortcode .Total_div.row {
    gap: 16px;
  }

  .instabox-shortcode #configurator_action_button #undertheactionbuttons {
    flex-direction: column;
    gap: 20px;
    align-items: stretch;
  }

  .instabox-shortcode #configurator_action_button .instabox-action-card__footer-text {
    text-align: center;
  }

  .instabox-shortcode #configurator_action_button .instabox-action-card__outline-btn {
    width: 100%;
    max-width: 100%;
  }
}

/* Intermediate breakpoint for tablets/smaller screens to prevent button overflow */
@media (max-width: 900px) {
  .instabox-shortcode #configurator_action_button #undertheactionbuttons {
    flex-direction: column;
    gap: 20px;
    align-items: stretch;
  }

  .instabox-shortcode #configurator_action_button .instabox-action-card__footer-text {
    text-align: center;
  }

  .instabox-shortcode #configurator_action_button .instabox-action-card__outline-btn {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .instabox-shortcode #custom-check-price {
    padding: 0;
  }

  .instabox-shortcode :is(#measurements-section, #modal-measurements-section) {
    padding: 20px;
  }

  .instabox-shortcode .boxconfig__controls {
    padding: 24px;
    border-radius: 18px;
  }

  .instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex.interior-dimension {
    flex-direction: column;
  }

  .instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex>div {
    flex: 1 1 100%;
  }

  .instabox-shortcode .Quantity_Div input,
  .instabox-shortcode .shiping_div input {
    font-size: 16px;
    padding: 12px 16px;
  }

  .instabox-shortcode .quantity_amount {
    padding: 20px;
  }

  .instabox-shortcode #configurator_action_button {
    padding: 20px;
  }

  .instabox-shortcode #configurator_action_button .instabox-action-card__header {
    gap: 30px;
  }

  .instabox-shortcode #configurator_action_button .instabox-action-card__headline {
    font-size: 26px;
  }

  .instabox-shortcode #configurator_action_button .instabox-action-card__primary-btn,
  .instabox-shortcode #configurator_action_button .instabox-action-card__outline-btn {
    width: 100%;
    min-width: unset;
    padding: 16px 30px;
  }

  .instabox-shortcode #configurator_action_button #undertheactionbuttons {
    gap: 16px;
  }
}
.page-id-2472 .elementor-location-header {
  display: none !important;
}

.page-id-2472 footer {
  display: none !important;
}

.page-id-2472 #wpadminbar {
  display: none !important;
}

.page-id-2472 {
  overflow: hidden;
}

.page-id-2472 .entry-title {
  display: none;
}

.raq-form-fields {
  margin-bottom: 7%;
}

.raq-form-fields input {
  border: 0;
  border-bottom: 1px solid;
}

.raq-form-fields input::placeholder {
  font-size: 20px;
  font-weight: 700;
  line-height: 29.60px;
  color: #909090;
}

#DR_request_quote_form input {
  padding: 0 0 12px 0;
  border-radius: 0;
}

#DR_request_quote_form select {
  background: #F6F6F6;
  border: 0;
  appearance: none;
  background-image: url('http://localhost:8080/wp-content/uploads/2023/10/Vector.svg') !important;
  background-repeat: no-repeat !important;
  background-position-x: 94% !important;
  background-position-y: 25px !important;
  margin-right: 2rem;
  padding: 1rem;
  padding-right: 2rem;
  margin-top: 1%;
}

#DR_request_quote_form textarea {
  background: #F6F6F6;
  border: 0;
  height: 100px;
}

#DR_request_quote_form label {
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  line-height: 29.60px;
  /*     margin-bottom: 3%; */
}

#DR_request_quote_form p {
  font-size: 15px;
  font-weight: 400;
  line-height: 28px;
}

#DR_request_quote_form_heading {
  text-align: center;
  margin: 7% 0%;
}

#DR_request_quote_form_heading h2 {
  font-size: 32px;
  font-weight: 700;
  line-height: 38px;
}

#DR_request_quote_form_heading p {
  font-size: 20px;
  font-weight: 400;
  line-height: 28px;
}

#DR_request_quote_form_submit {
  text-align: center;
}

#DR_request_quote_form_submit button {
  background: #419AF7;
  color: white;
  border-color: #419AF7;
  padding: 18px 113px;
  border-radius: 30px;
  font-size: 20px;
  font-weight: 700;
  line-height: 24.4px;
}

#DR_request_quote_form_submit button:hover {
  opacity: 0.6;
}

#DR_request_quote_modal .modal-content {
  width: 713px;
  margin-left: -18%;
}

#DR_request_quote_modal .modal-body {
  width: 723px;
  padding: 44px;
}

#DR_request_quote_form_cross {
  position: absolute;
  right: 35px;
  cursor: pointer;
}

#col1 {
  height: 1035px !important;
  background: #419AF7;
  border-radius: 10px;
  margin-top: 10px;
  width: 50% !important
}

#custom-check-price {
  border: 0.5px solid #CCCCCC;
  border-radius: 0px !important;
}

.woocommerce .col2-set .col-1,
.woocommerce-page .col2-set .col-1 {
  float: left;
  width: 100%;
}

.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2 {
  float: right;
  width: 100%;
}



.action_buttons_box_heading {
  color: #000;
  text-align: center;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 38.4px;
}

.note_about_pricing {
  color: #777;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  margin-left: 4%;
}


.interior-dimension h3 {
  font-size: 20px;
}

.display-none {
  display: none !important;
}

.flex.interior-dimension .flex__inner label {
  font-weight: 700;
}

#custom-mailer-box-heading .elementor-widget-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.single-product .elementor-element.elementor-element-4ee36b50.elementor-skin-slideshow.elementor-aspect-ratio-11.elementor-widget-mobile__width-initial.elementor-widget.elementor-widget-media-carousel.e-widget-swiper .elementor-widget-container div:nth-child(2) {
  height: 120px;
}

#error-msg-quantity {
  margin-top: 6px;
}
#error-msg-quantity p {
  font-size: 14px;
  font-weight: 600;
  color: #D9534F;
  line-height: 1.4;
  width: auto;
  margin: 0;
}

#phonenumber-with-itsicon .elementor-widget-container {
  float: right;
  /* 	    margin-right: 15%; */
}

#header-menu-pages-links ul li {
  font-weight: 500;
}

#header-menu-pages-links ul li a {
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
}

#header-menu-pages-links ul li a:hover {
  text-decoration: underline;
}

#Login-menu-header .elementor-widget-container {
  border: 0px !important;
}

#Login-menu-header ul {
  display: flex;
}

#Login-menu-header ul li {
  margin-right: 3%;
}

#Login-menu-header ul li a {
  font-weight: 500;
  font-size: 21px;
  line-height: 30px;
}

#Login-menu-header ul li a:hover {
  text-decoration: underline;
}

#under-header-section {
  width: 99.2%;
}


body:not(.page-id-3167) #elementor-menu-cart__toggle_button:hover {
  background: #f5f5f5;
  padding: 10px 23px;
  border-radius: 50%;
}

.elementor.elementor-1082.elementor-location-single.post-11.product.type-product.status-publish.has-post-thumbnail.product_cat-mailer-box.first.instock.taxable.shipping-taxable.purchasable.product-type-simple.nyp-product.product :where(h1, h2, h3, h4, h5, h6, button, li, input) {
  font-family: "ivypresto-headline", serif !important;
}

.elementor.elementor-1082.elementor-location-single.post-11.product.type-product.status-publish.has-post-thumbnail.product_cat-mailer-box.first.instock.taxable.shipping-taxable.purchasable.product-type-simple.nyp-product.product :where(p, selectbox, span, a, b, button) {
  font-family: 'Instrument Sans' !important;
}

#DR_request_quote_modal :where(h2, label, input) {
  font-family: "ivypresto-headline", serif !important;
}


.shiping_label {
  font-family: 'Instrument Sans', 'Inter', sans-serif;
}

#price_modal_calculations h4 {
  font-family: 'Instrument Sans' !important;
}

:is(#measurment-one-config, #modal-measurment-one-config) .flex>div {
  flex-basis: 18%;
}

#get_custom_quote h5 {
  font-family: 'Instrument Sans' !important;
}

.Print_finish_tr{
  display: none;
}
@media only screen and (max-width: 1024px) {
  #mobile-menu-show-phone-number i {
    margin-right: 10px;
  }

 
  #addon-11-print-finish-8 {
    margin-left: 22%;
  }

  .Quantity_Div input {
    width: 531px;
    margin-left: 16.6%;
  }

  .shiping_div input {
    width: 323px;
    margin-left: 17%;
  }

  .interior-dimension h3 {
    font-size: 15px !important;
    font-weight: 600 !important;
  }

  .flex.interior-dimension h3:after {
    font-size: 11px !important;
    font-weight: 900 !important;
    padding: 4px 8px !important;
    top: 22% !important;
    left: 21% !important;
  }

  .instabox-addon[data-addon="material"] .instabox-addon-label::after {
    font-size: 12px;
    font-weight: 900;
    padding: 5px 8px;
    top: 7.5%;
    left: 14%;
  }

  .instabox-addon[data-addon="print-finish"] .instabox-addon-label::after {
    font-size: 12px !important;
    font-weight: 900 !important;
    padding: 5px 8px !important;
    top: 74% !important;
    left: 17% !important;
  }

  :is(#measurment-one-config, #modal-measurment-one-config) .flex>div {
    flex-basis: 15%;
  }

  .flex.interior-dimension .flex__inner label {
    font-weight: 600;
    padding: 5px 4px !important;
  }

  .quantity_label {
    font-size: 15.8px;
  }

  .shiping_div label {
    font-size: 15.5px;
  }

  #price_modal_calculations {
    margin-left: -3%;
  }

  #configurator_action_button #Fullscreen {
    margin-right: 5%;
    padding: unset;
    font-size: 12px;
  }

  #configurator_action_button button a {
    font-size: 12px;
  }

  #undertheactionbuttons p {
    font-size: 15px;
  }

  #undertheactionbuttons button {
    padding: 7px;

  }

  #get_custom_quote p {
    font-size: 15px;
  }

  #get_custom_quote h5 {
    font-size: 15px;
  }

  .quantity_amount {
    margin-top: -12%;
  }

  ul#menu-1-5949ad2 li a {
    font-family: Instrument Sans;
    font-size: 26px;
    font-weight: 700;
    line-height: 39px;
    letter-spacing: 0em;
    text-align: center;
    color: white;
    background: #419AF7;
  }

  ul#menu-1-e723e0f li a {
    font-family: Instrument Sans;
    font-size: 26px;
    font-weight: 700;
    line-height: 39px;
    letter-spacing: 0em;
    text-align: center;
    color: white;
    background: #419AF7;
  }

  .woocommerce div.product div.images img {
    height: 580px;
  }
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
  display: none !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image a {
  pointer-events: none;
  cursor: default;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img {
  transform: none !important;
}

/* Instabox preview toggle ------------------------------------------------ */

.instabox-preview-toggle,
.threeDswitch {
  position: absolute;
  left: 20px;
  right: auto;
  top: clamp(20px, 3vw, 40px);
  z-index: 100;
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.65);
  background: rgba(15, 23, 42, 0.85);
  color: #ffffff;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  /* removed 'transform' from transition to prevent positional jumping on toggle */
  transition: background 0.2s ease, border-color 0.2s ease;
}

.instabox-preview-toggle--active {
  background: rgba(15, 63, 122, 0.92);
  border-color: rgba(255, 255, 255, 0.85);
}

.instabox-preview-toggle__label {
  white-space: nowrap;
}

.instabox-preview-toggle__switch {
  position: relative;
  display: inline-flex;
  width: 66px;
  height: 34px;
  border-radius: 999px;
}

.instabox-preview-toggle__switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.instabox-preview-toggle__slider {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.65);
  transition: background 0.2s ease, border-color 0.2s ease;
}

.instabox-preview-toggle__slider::before {
  content: '';
  position: absolute;
  width: 26px;
  height: 26px;
  left: 4px;
  top: 50%;
  transform: translate(0, -50%);
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.25);
  transition: transform 0.2s ease;
}

.instabox-preview-toggle__switch input:checked + .instabox-preview-toggle__slider {
  background: #419AF7;
  border-color: #419AF7;
}

.instabox-preview-toggle__switch input:checked + .instabox-preview-toggle__slider::before {
  transform: translate(26px, -50%);
}

.static_image,
.TD {
  display: none;
}

.active--pw {
  display: block !important;
}

.instabox-artwork-button--enabled {
  background: #8F4820 !important;
  color: #ffffff !important;
  cursor: pointer;
}

.woocommerce-account .dnr-saved-designs {
  margin-top: 32px;
}

.dnr-saved-designs {
  background: #fbfcff;
  color: var(--instabox-text);
  font-family: 'Instrument Sans', 'Inter', sans-serif;
  display: flex;
  flex-direction: column;
  gap: clamp(18px, 2vw, 28px);
  width: 100%;
  max-width: 1200px;
  margin: 24px auto 32px; 
}

.dnr-saved-designs__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.dnr-saved-designs__eyebrow,
.dnr-saved-design-card__eyebrow {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #5B6F96;
  margin: 0 0 8px;
}

.dnr-saved-designs__title {
  font-size: clamp(28px, 5vw, 40px);
  font-weight: 800;
  letter-spacing: -0.01em;
  margin: 0 0 8px;
}

.dnr-saved-designs__description {
  color: var(--instabox-muted);
  font-size: 18px;
  max-width: 560px;
  margin: 0 0 8px;
}

.dnr-saved-designs__count {
  font-size: 14px;
  font-weight: 600;
  color: var(--instabox-muted);
  margin: 0;
}

.dnr-saved-designs__notice {
  border-radius: 18px;
  padding: 14px 18px;
  font-weight: 600;
  font-size: 14px;
}

.dnr-saved-designs__notice--success {
  border: 1px solid #A7F3D0;
  background: #ECFDF3;
  color: #065F46;
}

.dnr-saved-designs__notice--error {
  border: 1px solid #FCA5A5;
  background: #FEF2F2;
  color: #991B1B;
}

/* ── Tabs ─────────────────────────────────────────────────────────────── */
.dnr-saved-designs__tabs {
  display: flex;
  border-bottom: 2px solid #E4E7EC;
  margin-bottom: 20px;
}

.dnr-saved-designs__tab {
  all: unset;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 18px !important;
  border-bottom: 3px solid transparent !important;
  margin-bottom: -2px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #667085 !important;
  cursor: pointer !important;
  transition: color 0.15s, border-color 0.15s !important;
  background: transparent !important;
  border-radius: 0 !important;
  white-space: nowrap !important;
}

.dnr-saved-designs__tab:hover {
  color: #419af7 !important;
  background: transparent !important;
}

.dnr-saved-designs__tab.is-active {
  color: #419af7 !important;
  border-bottom-color: #419af7 !important;
}

.dnr-tab__count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 6px !important;
  border-radius: 99px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  background: #F2F4F7 !important;
  color: #667085 !important;
}

.dnr-saved-designs__tab.is-active .dnr-tab__count {
  background: #EFF8FF !important;
  color: #419af7 !important;
}

/* ── Panels ───────────────────────────────────────────────────────────── */
.dnr-saved-designs__panel { display: none; }
.dnr-saved-designs__panel.is-active { display: block; }

/* ── Card grid ────────────────────────────────────────────────────────── */
.dnr-saved-designs__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 900px) {
  .dnr-saved-designs__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .dnr-saved-designs__grid { grid-template-columns: 1fr; }
}

/* ── Rows ─────────────────────────────────────────────────────────────── */
.dnr-saved-designs__rows {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.dnr-saved-design-row {
  display: flex;
  align-items: center;
  gap: 16px;
  background: #fff;
  border: 1px solid var(--instabox-border, #e8edf5);
  border-radius: 14px;
  padding: 14px 16px;
  box-shadow: 0 2px 8px rgba(15,23,42,0.04);
  transition: box-shadow 0.15s;
}

.dnr-saved-design-row:hover { box-shadow: 0 4px 16px rgba(15,23,42,0.09); }

.dnr-saved-design-row--locked {
  border-color: #E9D7FE;
  background: #FDFCFF;
}

.dnr-saved-design-row__thumb {
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--instabox-neutral, #f7f9ff);
  display: flex;
  align-items: center;
  justify-content: center;
}

.dnr-saved-design-row__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dnr-saved-design-row__thumb-placeholder {
  font-size: 22px;
  font-weight: 700;
  color: var(--instabox-primary, #419af7);
}

.dnr-saved-design-row__info {
  flex: 1 1 0;
  min-width: 0;
}

.dnr-saved-design-row__name {
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 3px;
  color: var(--instabox-text, #101828);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dnr-saved-design-row__meta {
  font-size: 12px;
  color: #667085;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dnr-saved-design-card {
  border: 1px solid var(--instabox-border);
  border-radius: 18px;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: #fff;
  min-height: 100%;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
}

.dnr-saved-design-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.12);
}

.dnr-saved-design-card--locked {
  border-color: #E9D7FE;
  background: #FDFCFF;
}

.dnr-saved-design-card__lock-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: #F9F5FF;
  color: #6941C6;
  border: 1px solid #E9D7FE;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 10px;
  letter-spacing: 0.02em;
}

.dnr-saved-design-card__editable-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: #F0FDF4;
  color: #166534;
  border: 1px solid #BBF7D0;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 10px;
  letter-spacing: 0.02em;
}

/* ── Shared lock badge used in cart, checkout, and thank-you page ─────────── */
.dnr-locked-badge {
  display: inline-flex;
  align-items: center;
  background: #F9F5FF;
  color: #6941C6;
  border: 1px solid #E9D7FE;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 10px;
  letter-spacing: 0.02em;
  white-space: nowrap;
  vertical-align: middle;
  margin-left: 8px;
}

/* Admin order panel lock badge */
.dnr-admin-locked-badge {
  display: inline-flex;
  align-items: center;
  background: #F9F5FF;
  color: #6941C6;
  border: 1px solid #E9D7FE;
  border-radius: 20px;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 8px;
  letter-spacing: 0.02em;
  margin-left: 8px;
  vertical-align: middle;
}

/* Cart item design image fills the thumbnail frame */
.cart-product-item--instabox .product-thumbnail-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}

/* Thank-you page item header layout */
.dnr-thankyou-item__header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

/* Checkout sidebar item header with badge */
.dnr-order-item--instabox .dnr-order-item-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.dnr-saved-design-card__preview {
  border-radius: 16px;
  background: var(--instabox-neutral);
  aspect-ratio: 4 / 3;
  min-height: 130px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.dnr-saved-design-card__preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dnr-saved-design-card__preview-placeholder {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: rgba(65, 154, 247, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 700;
  color: var(--instabox-primary);
}

.dnr-saved-design-card__title {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 2px;
  color: var(--instabox-text);
}

.dnr-saved-design-card__meta {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 8px;
}

.dnr-saved-design-card__meta div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.dnr-saved-design-card__actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  margin-top: auto;
}

.dnr-saved-design-card__primary-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  flex: 1 1 auto;
  min-width: 0;
  align-items: stretch;
}

.dnr-saved-design-card__primary-actions .dnr-button {
  flex: 1 1 0;
  min-width: 0;
}

.dnr-saved-design-card__primary-actions .dnr-button--fill {
  width: auto;
}

.dnr-saved-design-card__primary-actions .dnr-button--fill:only-child {
  width: 100%;
}

.dnr-saved-design-card__menu {
  position: relative;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

.dnr-saved-design-card__dropdown {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  min-width: 240px;
  max-width: 320px;
  background: #ffffff;
  border-radius: 20px;
  border: 1px solid rgba(65, 154, 247, 0.08);
  box-shadow: 0 24px 60px rgba(8, 15, 52, 0.18);
  padding: 16px 0 8px;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.dnr-saved-design-card__dropdown::before {
  content: '';
  position: absolute;
  width: 12px;
  height: 12px;
  background: #ffffff;
  border-left: 1px solid rgba(65, 154, 247, 0.08);
  border-top: 1px solid rgba(65, 154, 247, 0.08);
  transform: rotate(45deg);
  top: -7px;
  right: 18px;
}

.dnr-saved-design-card__dropdown.is-open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.dnr-saved-design-card__dropdown.is-open--upward::before {
  top: auto;
  bottom: -7px;
  transform: rotate(225deg);
}

.dnr-saved-design-card__dropdown[hidden] {
  display: none !important;
}

.dnr-dropdown__group {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 4px 0 12px;
  margin: 0;
  list-style: none;
}

.dnr-dropdown__group form {
  margin: 0;
  width: 100%;
}

.dnr-dropdown__group form + form {
  margin-top: 0;
}

.dnr-dropdown__group form + form .dnr-dropdown__item {
  border-top: 1px solid rgba(9, 27, 65, 0.08);
}

/* Menu rows always span the full dropdown width */
.dnr-dropdown__group .dnr-dropdown__item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
  text-align: left;
}

/* Keep the open menu above the footer and neighboring cards */
.dnr-saved-design-card:focus-within,
.dnr-saved-design-card:has(.dnr-saved-design-card__dropdown.is-open) {
  z-index: 240;
}

.dnr-saved-designs__grid,
.dnr-saved-designs {
  overflow: visible;
}

.dnr-dropdown__item {
  width: 100%;
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 12px 20px;
  font-size: 15px !important;
  font-weight: 600;
  text-align: left;
  color: #091B41 !important;
  font-family: 'Instrument Sans Medium', 'Instrument Sans', 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
  appearance: none;
  display: block;
  line-height: 1.25;
  box-shadow: none !important;
}

.dnr-dropdown__item:hover,
.dnr-dropdown__item:focus,
.dnr-dropdown__item:focus-visible {
  background: #F1F7FF !important;
  color: #0F62FE !important;
  outline: none;
}

/* .dnr-dropdown__item--disabled / .dnr-coming-soon-tag removed Aug 2026 —
   they only ever styled the "Duplicate — Coming soon" placeholder, which is
   now a working action. */

.dnr-dropdown__item--danger {
  color: #B91C1C !important;
}

.dnr-dropdown__item--danger:hover,
.dnr-dropdown__item--danger:focus {
  background: rgba(248, 113, 113, 0.12) !important;
  color: #B91C1C !important;
}

.dnr-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 14px;
  border: 1px solid var(--instabox-border);
  padding: 12px 22px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-family: 'Instrument Sans', 'Inter', sans-serif;
  line-height: 1.1;
  color: var(--instabox-text);
  text-decoration: none;
  background: #fff;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  cursor: pointer;
  min-height: 44px;
}

.dnr-button--fill {
  flex: 1 1 auto;
  width: 100%;
}

.woocommerce-account .dnr-button,
.woocommerce-account .dnr-button:visited,
.woocommerce-account .dnr-button:focus,
.woocommerce-account .dnr-button:hover,
.woocommerce-account a.button,
.woocommerce-account a.button:visited,
.woocommerce-account a.button:focus,
.woocommerce-account a.button:hover,
.woocommerce-account .button,
.woocommerce-account .woocommerce-button,
.woocommerce-account .woocommerce-Button {
  text-decoration: none !important;
}

.dnr-button:focus {
  outline: 2px solid var(--instabox-primary-hover);
  outline-offset: 2px;
}

.dnr-button--primary {
  background: var(--instabox-primary);
  border-color: var(--instabox-primary);
  color: #fff;
}

.dnr-button--primary:hover {
  background: var(--instabox-primary-hover);
  border-color: var(--instabox-primary-hover);
  color: #fff;
}

.dnr-button--secondary {
  background: #E7F0FF;
  border-color: #E7F0FF;
  color: #0F172A;
}

.dnr-button--secondary:hover {
  background: #dce6fb;
  border-color: #dce6fb;
  color: #0F172A;
}

.dnr-button--ghost {
  background: transparent;
  border-color: rgba(65, 154, 247, 0.45);
  color: var(--instabox-primary);
}

.dnr-button--ghost:hover {
  background: var(--instabox-primary-hover);
  color: #fff;
  border-color: var(--instabox-primary-hover);
}

.dnr-button--danger {
  background: #FEF2F2;
  border-color: #FECACA;
  color: #B91C1C;
}

.dnr-button--danger:hover {
  background: #FEE2E2;
  border-color: #FCA5A5;
  color: #991B1B;
}

.dnr-button--icon {
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 12px;
  flex: 0 0 auto;
}

.dnr-button--gear {
  background: #E7F0FF !important;
  border-color: #E7F0FF !important;
  color: #0F172A !important;
  box-shadow: none !important;
}

.dnr-button--gear:hover,
.dnr-button--gear:focus-visible {
  background: #dce6fb !important;
  border-color: #dce6fb !important;
  color: #0F172A !important;
}

.dnr-button--disabled,
.dnr-button[aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}

body.dnr-modal-open {
  overflow: hidden;
}

.dnr-delete-modal {
  position: fixed;
  inset: 0;
  z-index: 1050;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.dnr-delete-modal.is-visible {
  display: flex;
}

.dnr-delete-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
}

.dnr-delete-modal__dialog {
  position: relative;
  background: #fff;
  border-radius: 24px;
  padding: 32px;
  max-width: 420px;
  width: 100%;
  box-shadow: 0 25px 80px rgba(15, 23, 42, 0.25);
  z-index: 1;
}

.dnr-delete-modal__content h3 {
  margin: 0 0 12px;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.dnr-delete-modal__content p {
  margin: 0 0 24px;
  color: var(--instabox-muted);
  font-size: 15px;
}

.dnr-delete-modal__actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

@media (max-width: 520px) {
  .dnr-delete-modal__dialog {
    padding: 24px;
  }

  .dnr-delete-modal__actions {
    flex-direction: column-reverse;
  }

  .dnr-delete-modal__actions .dnr-button {
    width: 100%;
  }
}

.dnr-button__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
}

.dnr-button__icon svg {
  width: 100%;
  height: 100%;
}

.dnr-saved-designs__empty {
  border: 1px dashed rgba(65, 154, 247, 0.4);
  border-radius: 24px;
  padding: clamp(24px, 4vw, 48px);
  text-align: center;
  background: var(--instabox-neutral);
}

.dnr-saved-designs__empty h2,
.dnr-saved-designs__empty h3 {
  margin: 0 0 12px;
  font-size: clamp(24px, 4vw, 32px);
  font-weight: 800;
  letter-spacing: -0.005em;
}

.dnr-saved-designs__empty p {
  margin: 0 auto 16px;
  max-width: 520px;
  color: var(--instabox-muted);
  font-size: 16px;
}

.dnr-saved-designs--loggedout .dnr-saved-designs__empty {
  background: #fff;
}

@media (max-width: 640px) {
  .dnr-saved-designs__header {
    flex-direction: column;
  }

  .dnr-button:not(.dnr-button--icon) {
    width: 100%;
  }

  .dnr-saved-design-card__primary-actions .dnr-button:not(.dnr-button--icon) {
    width: auto;
  }
}

.instabox-artwork-button--disabled,
#artwork[disabled] {
  background: #D4DCE8 !important;
  color: rgba(15, 23, 42, 0.4) !important;
  cursor: not-allowed;
}

body .instabox-tooltip {
  min-width: 220px;
  max-width: 320px;
  width: auto;
  z-index: 1400;
  background: #1a1a2e;
  color: #e2e2f0;
  font-family: 'Instrument Sans', 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0;
  text-transform: none;
  padding: 14px 18px;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.22), 0 2px 8px rgba(0, 0, 0, 0.12);
  pointer-events: auto;
  animation: instaboxTooltipIn 0.18s ease-out;
}

@keyframes instaboxTooltipIn {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}

@media (max-width: 640px) {
  body .instabox-tooltip {
    max-width: calc(100vw - 32px);
  }
}

#Warning-msg-on-mobile {
  display: none;
}

@media only screen and (max-width: 788px) {
  #DR_request_quote_modal .modal-content {
    margin-left: -21%;
  }

  .flex.interior-dimension h3:after {
    left: 29% !important;
  }

  .instabox-addon[data-addon="material"] .instabox-addon-label::after {
    left: 19% !important;
  }

  #Custom-check-price-heading h2.elementor-heading-title.elementor-size-default {
    font-size: 18px !important;
  }

  #col1 {
    height: 62% !important;
  }

  #error-msg-quantity p {
    width: auto;
  }

 

  #addon-11-print-finish-8 {
    margin-left: 24%;
  }

  .instabox-addon[data-addon="print-finish"] .instabox-addon-label::after {
    left: 24% !important;
  }

  #price_modal_calculations {
    margin-left: 1%;
  }

  #undertheactionbuttons p {
    font-size: 11px;
  }

  #configurator_action_button #Fullscreen {
    margin-right: 3%;
    padding: unset;
    font-size: 8px;
  }

  #configurator_action_button button a {
    font-size: 9px;
  }

  #configurator_action_button p {
    top: 49%;
    font-size: 10px;
    margin-bottom: unset !important;
  }

  #get_custom_quote h5 {
    font-size: 13px;
  }

  #get_custom_quote p {
    font-size: 13px;
  }

  #custom-check-price .elementor-46 .elementor-element.elementor-element-51264c6 .elementor-heading-title {
    font-size: 24px;
  }

  .quantity_amount {
    margin-top: -17%;
  }

  ul#menu-1-5949ad2 li a {
    font-family: Instrument Sans;
    font-size: 26px;
    font-weight: 700;
    line-height: 39px;
    letter-spacing: 0em;
    text-align: center;
    color: white;
    background: #419AF7;
  }

  ul#menu-1-e723e0f li a {
    font-family: Instrument Sans;
    font-size: 26px;
    font-weight: 700;
    line-height: 39px;
    letter-spacing: 0em;
    text-align: center;
    color: white;
    background: #419AF7;
  }

  .note_about_pricing {
    margin-left: 10%;
  }
}

#Warning-msg-on-mobile {
  display: none;
}

@media only screen and (max-width: 767px) {
  #Warning-msg-on-mobile {
    display: block;
    width: fit-content;
    height: 1px;
    padding: 0 !important;
    margin: 0 auto;
    margin-bottom: -12% !important;
    z-index: 2;
  }

  #col1 {
    height: 70% !important;
    background: transparent;
    border-radius: 7px;
  }

  #Warning-msg-on-mobile .elementor-widget-container {
    border-radius: 50px;
  }

  #Warning-msg-on-mobile .elementor-icon-box-wrapper {
    display: flex;
    align-items: stretch;
    padding: 10px 27px 0px;
  }

  #col1 {
    margin-top: -34px;
  }

  #custom-check-price {
    display: none;
  }

  #threeDswitch,
  .instabox-preview-toggle {
    display: none;
  }

  #main-measurement-section .elementor-container.elementor-column-gap-no {
    min-height: unset !important;
  }

  #custom-mailer-box-heading .elementor-heading-title.elementor-size-default {
    display: grid;
    text-align: center;
    font-size: 35px;
    font-weight: 700;
    align-items: center;
    justify-items: center;
    margin: auto;
  }

  #custom-heading-byline p {
    font-size: 15px;
    font-weight: 400;
    text-align: center;
  }
  #cart_redesign .multiple_products{
    flex-direction: column;
    gap: 10px !important;
  }
  .woocommerce-cart .entry-title{
    padding: 10px 0px !important;
    margin: 0px !important;
  }
  .image-details .top-row h2{
    font-size: 22px !important;
  }
	
  #cart_redesign .multiple_products{
    padding: 15px 0px ;
  }
  #cart_redesign .col-md-4{
    margin: 15px 0px !important;
  }
  .total-table-detail-div .show_details_against_order{
    margin:0px !important;
  }
}
section.elementor-section.elementor-top-section.elementor-element.elementor-element-f2f7123.elementor-hidden-desktop.elementor-hidden-mobile.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default ul#menu-1-cd2fe80 {
  display: flex;
}

section.elementor-section.elementor-top-section.elementor-element.elementor-element-f2f7123.elementor-hidden-desktop.elementor-hidden-mobile.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default ul#menu-1-cd2fe80 li a {
  font-family: Instrument Sans;
    border: 1px solid var(--instabox-border) !important;
    border-radius: 12px;
    width: 100%;
    margin-left: 0;
    padding: 14px 18px;
    font-size: 18px;
    font-weight: 600;
}

section.elementor-section.elementor-top-section.elementor-element.elementor-element-f2f7123.elementor-hidden-desktop.elementor-hidden-mobile.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default ul#menu-1-cd2fe80 li {
    display: flex;
    flex-direction: column;
    gap: 12px;
}


section.elementor-section.elementor-top-section.elementor-element.elementor-element-7e9dc2b.elementor-hidden-desktop.elementor-hidden-tablet.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default ul#menu-1-37ef9ad li a {
  font-family: Instrument Sans;
    margin-top: 0;
    padding: 16px 0 32px;
    border-top: 1px solid var(--instabox-border);
    border-bottom: 1px solid var(--instabox-border);
  font-weight: 500;
  line-height: 15px;
  letter-spacing: 0em;
    border: 1px solid var(--instabox-border) !important;
    border-radius: 12px;
    width: 100%;
    margin-left: 0;
    padding: 14px 18px;
    background: #fff;
    color: var(--instabox-muted);
  margin-right: 2%;

}
#elementor-menu-cart__toggle_button .elementor-button-icon:before {
  top: 1.3em !important;
}

.element_DN {
  display: none !important;
}

#menu-for-mobile-tablet li a,
#menu-for-mobile-tablet li button {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: none;
  border-radius: 16px;
  padding: 18px 24px;
  width: 100%;
  min-height: 58px;
  background: var(--instabox-primary);
  color: #ffffff;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 26px;
  font-weight: 700;
  line-height: 39px;
  letter-spacing: 0em;
  text-transform: uppercase;
  box-shadow: 0px 12px 25px rgba(65, 154, 247, 0.25);
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

#menu-for-mobile-tablet li a:hover,
#menu-for-mobile-tablet li button:hover {
  background: var(--instabox-primary-dark);
  box-shadow: 0px 14px 30px rgba(31, 110, 212, 0.35);
}

#menu-for-mobile-tablet li:last-child {
  border-top: 1px solid rgba(255, 255, 255, 0.35);
  margin-top: 10%;
}

#header-menu-on-mbl-tblt .modal-content {
  background: #419AF7;
  border-radius: 24px;
  padding: 32px 24px;
}

#on-tablet-trigering-icon .elementor-widget-container {
  text-align: center;
}

#header-menu-on-mbl-tblt .modal-content {
  background: #419AF7;
  border-radius: 24px;
  padding: 32px 24px;
}

#on-tablet-trigering-icon .elementor-widget-container {
  text-align: center;
}

.empty-col-4 {
  width: 5% !important;
}

@media only screen and (max-width: 1640px) {
  .empty-col-4 {
    width: 20% !important;
  }
}

.action-btns-design {
  text-align: end;
}


.design-instabox-header {
  width: 100%;
  margin: 0;
  padding: 20px 5vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #ffffff;
  box-shadow: inset 0 -1px 0 #e6ecf5;
}

.design-instabox-header .first-column-header,
.design-instabox-header .second-column-header {
  display: flex;
  align-items: center;
  gap: 16px;
}

.design-instabox-header .first-column-header,
.design-instabox-header .second-column-header {
  flex: 0 1 50%;
}

.design-instabox-header .second-column-header {
  justify-content: flex-end;
  gap: 24px;
}

.design-instabox-header .add-to-cart-btn button,
.add-to-cart-btn button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  background: #419AF7;
  color: #ffffff;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 14px 36px;
  font-family: "Instrument Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;
  cursor: pointer;
  box-shadow: none;
  transition: background-color 0.2s ease, color 0.2s ease;
  transform: none !important;
}

.design-instabox-header .add-to-cart-btn button:hover,
.design-instabox-header .add-to-cart-btn button:focus-visible,
.add-to-cart-btn button:hover,
.add-to-cart-btn button:focus-visible {
  background: #1d8bff;
  color: #ffffff;
  outline: none;
}

.design-instabox-header .add-to-cart-btn button:active,
.add-to-cart-btn button:active {
  background: #0f5edc;
}

.design-instabox-sub-header {
  width: 100%;
  margin: 0;
  background: #419AF7;
  color: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 5vw;
  border-radius: 0;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.08);
}

.design-instabox-sub-header .back-to-history a {
  color: #ffffff;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.5px;
  text-decoration: none;
}

.design-instabox-sub-header .back-to-history a:hover,
.design-instabox-sub-header .back-to-history a:focus {
  text-decoration: underline;
}

.design-instabox-sub-header .projectnamediv {
  display: flex;
  align-items: center;
  justify-content: center;
}

.project-name-chip {
  border: 1px solid rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  border-radius: 999px;
  padding: 10px 24px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: none;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.project-name-chip:hover,
.project-name-chip:focus-visible {
  background: #ffffff;
  color: #0f172a;
  border-color: #ffffff;
}

.project-name-chip__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.project-name-chip:hover .project-name-chip__icon,
.project-name-chip:focus-visible .project-name-chip__icon {
  opacity: 1;
  transform: translateX(0);
}

.project-name-chip__label {
  white-space: nowrap;
  max-width: 320px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.project-name-chip--mobile {
  width: 100%;
  justify-content: center;
  margin: 12px 0;
}

.design-instabox-sub-header .action-btns-design {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.design-instabox-sub-header .action-btns-design button.share-button {
  border: 1px solid rgba(255, 255, 255, 0.5);
  color: #ffffff;
  background: transparent;
  padding: 10px 28px;
  border-radius: 8px;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
}

.design-instabox-sub-header .save-configurator-button {
  border: 1px solid rgba(255, 255, 255, 0.9);
  color: #ffffff;
  text-transform: uppercase;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 18px;
  font-weight: 700;
  padding: 10px 36px;
  border-radius: 8px;
  background: transparent;
}

.design-instabox-sub-header .save-configurator-button {
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.design-instabox-sub-header .save-configurator-button:hover,
.design-instabox-sub-header .save-configurator-button:focus {
  background: #ffffff;
  color: #419AF7;
  transform: none;
}

.design-insta-logo img {
  width: 245px;
  height: 59px;
}

.design-instabox-sub-header .action-btns-design button,
.design-instabox-sub-header .action-btns-design button:hover,
.design-instabox-sub-header .action-btns-design button:focus {
  transform: none;
}

.design-view-div {
  width: 100%;
}

.design-insta3dbox-content {
  overflow-x: hidden;
}

.setting-modal-block {
  display: flex;
  gap: 15px;
  align-items: flex-start;
}

.setting-modal-block h2 {
  font-family: Futura;
  font-size: 18px;
  font-weight: 800;
  line-height: 23px;
  letter-spacing: 0em;
  text-align: left;
  margin: 0;
}

.setting-modal-block p {
  font-family: Proxima Nova;
  font-size: 12px;
  font-weight: 400;
  line-height: 15px;
  letter-spacing: 0em;
  text-align: left;
  margin: 0;
}

.setting-modal-block a {
  font-family: Futura;
  font-size: 18px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: 0em;
  text-align: left;
  color: #419AF7;

}

.col-md-1.cart-icon-with-counter {
  /* 		width: fit-content; */
  display: flex !important;
  justify-content: flex-end !important;
}

.design-view-div h3 {
  font-family: "ivypresto-headline", serif !important;
  font-size: 40px;
  font-weight: 700;
  line-height: 59px;
  letter-spacing: 0em;
  text-align: left;
}

.threeD-view-div h3 {
  font-family: "ivypresto-headline", serif !important;
  font-size: 40px;
  font-weight: 700;
  line-height: 59px;
  letter-spacing: 0em;
  text-align: left;
}

#enter_project_name {
  border: 0;
  background: transparent;
  border-bottom: 1px solid;
  font-family: Futura;
  font-size: 20px;
  font-weight: 800;
  line-height: 26px;
  letter-spacing: 0em;
  text-align: left;
  color: black;
  width: 410px;
  max-width: 410px !important;
}

.threeD-view-div img {
  height: 785px;
}

.back-to-history {
  font-family: Futura;
  font-size: 20px;
  font-weight: 800;
  line-height: 26px;
  letter-spacing: 0em;
  text-align: left;
}

.cart-icon-counter-design {
  display: grid;
}

.cart-icon-counter-design span {
  width: fit-content;
  margin-top: -30% !important;
  margin-left: 8px;
  background: #D9534F;
  color: white;
  padding: 0px 5px;
  border-radius: 50px;
  font-size: 11px !important;
}

#instabox-design-header-menu .modal-dialog {
  margin: 0;
  margin-top: 5%;
  margin-left: 1%;
  width: 260px;
}

#instabox-design-header-menu .modal-content {
  border-radius: 5px;
  box-shadow: 1px 9px 10px #00000040;
}

.list-give-flex {
  display: flex;
  justify-content: space-between;
}

#instabox-design-header-menu ul {
  list-style: none;
  padding: 10px 10px;
}

#instabox-design-header-menu ul li h4 {
  font-family: Instrument Sans;
  font-size: 18px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: 0em;
  text-align: left;
}

#instabox-design-header-menu ul li:nth-child(even) {
  border-bottom: 1px solid #D9D9D9;
}

#instabox-design-header-menu ul li {
  padding-bottom: 10px;
}

#instabox-design-header-menu ul li:nth-child(3) {
  padding-top: 15px;
}

#instabox-design-header-menu ul li:nth-child(5) {
  padding-top: 15px;
}

#instabox-design-header-menu ul li:nth-child(7) {
  padding-top: 15px;
}

.product-addon-select {
  display: flex;
  align-items: flex-end;
  padding-bottom: 25px;
}

/* Modal action buttons - let inline styles in order-admin.php handle these */

.back-to-history a {
  text-decoration: none;
  color: white;
}


.design-insta3dbox-content .design-summary {
  margin: 4px 0 0;
  /* padding: 12px 16px;
  border: 1px solid #e4e7ec;
  border-radius: 12px;
  background: #f8fafc; */
  display: flex;
  flex-direction: column;
  gap: 1px;
  font-family: 'Instrument Sans', sans-serif;
  color: #101828;
}

.design-insta3dbox-content .design-summary__row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
  line-height: 1.4;
  align-items: center;

}

.design-insta3dbox-content .design-summary__label {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #475467;
}

.design-insta3dbox-content .design-summary__value {
  font-weight: 600;
  text-align: right;
}

.design-insta3dbox-content .design-summary__dimensions .design-summary__value {
  font-size: 12px;
  font-weight: 600;
}

.design-insta3dbox-content .design-summary__total .design-summary__value {
  font-size: 12px;
  color: #419AF7;
}

@media (max-width: 575px) {
  .design-insta3dbox-content .design-summary__row {
    flex-direction: column;
    align-items: flex-start;
  }

  .design-insta3dbox-content .design-summary__value {
    text-align: left;
  }
}


@media only screen and (min-width: 1024px) {
  .page-template-design-instabox-page .elementor-location-header {
    display: none;
  }

  .show_mobile_sub_header {
    display: none;
  }
}

@media only screen and (max-width: 1023px) {
  .design-insta3dbox-content .design-instabox-header {
    display: none !important;
  }

  .show_mobile_sub_header {
    background: #419AF7;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0% 2%;
    height: 70px;
  }

  .design-instabox-sub-header {
    display: none !important;
  }


}

/* Cart Page Redesigning CSS */
#cart_redesign {
  margin-bottom: 8%;
}

#cart_redesign .row.multiple_products {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 40px;
}

#cart_redesign .col-md-8.cart-items-column {
  flex: 1;
}

#cart_redesign .col-md-4 {
  flex: 0 0 400px;
  position: sticky;
  top: 20px;
}

#cart_redesign .cart-product-item {
  margin-bottom: 40px;
}

.image-details {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 19px;
}

/* Title + "Locked for production" badge on one line, tight */
.image-details .top-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.image-details .top-row h2 {
  font-family: IvyPresto Headline;
  font-size: 32px;
  font-weight: 700;
  line-height: 38.4px;
  letter-spacing: 0em;
  text-align: left;
  margin: 0;
}

.unit-cost-value,
.cart-line-total {
  font-family: 'Instrument Sans', sans-serif;
  font-size: 20px;
  font-weight: 400;
  color: #000;
}

.cart-line-total {
  font-family: 'Instrument Sans bold', sans-serif;
  color: #5CC77A;
  margin-bottom: 12px;
}

/* Three Column Grid Layout */
.cart-product-grid {
  display: grid;
  grid-template-columns: minmax(240px, 300px) auto 1fr;
  gap: 0 40px;
  align-items: start;
}

.product-thumbnail {
  grid-row: 1 / -1;
  max-width: 300px;
}

.product-thumbnail-frame {
  display: inline-flex;
  padding: 18px 22px 26px;
  border-radius: 24px;
  background: #FFFFFF;  
}

.product-thumbnail a,
.product-thumbnail img {
  display: block;
}

.product-thumbnail img {
  width: 240px;
  height: auto;
}

.product-labels,
.product-values {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.product-labels {
  min-width: max-content;
}

.product-labels p,
.product-values p,
.product-values .unit-cost-value,
.product-values .cart-line-total {
  margin: 0;
  padding: 0;
  line-height: 1.2;
  display: flex;
  align-items: center;
}

.heading-label-td {
  font-family: 'Instrument Sans bold', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #000;
}

.text-data-td,
.unit-cost-value {
  font-family: 'Instrument Sans Regular', sans-serif;
  font-size: 20px;
  font-weight: 400;
  color: #000;
}

/* ================================================================
   CART PAGE - Quantity Input Field Styling
   ================================================================ */
.quantity-input-wrapper {
  position: relative;
  margin: 0;
  padding: 0;
}

.quantity-input-wrapper .quantity {
  display: block;
  width: 100%;
  max-width: 282px;
}

.quantity-input-wrapper .quantity label,
.quantity-input-wrapper .screen-reader-text {
  display: none !important;
}

.quantity-input-wrapper .quantity input.qty {
  background: #f2f2f2;
  border: 1px solid #419AF7;
  border-radius: 8px;
  width: 100%;
  height: auto;
  min-height: 32px;
  padding: 8px 16px;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 20px;
  font-weight: 400;
  color: #000;
  text-align: left;
  line-height: 1.2;
  -webkit-appearance: none;
  -moz-appearance: textfield;
  appearance: textfield;
}

.quantity-input-wrapper .quantity input.qty::-webkit-inner-spin-button,
.quantity-input-wrapper .quantity input.qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* ================================================================
   CART PAGE - Action Row Container (Quantity + Remove/Edit Buttons)
   ================================================================ */
/* Quantity + Action Row */
#cart_redesign .product-values .cart-action-row,
.woocommerce-cart .product-values .cart-action-row,
.cart-product-grid .product-values .cart-action-row {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 16px 0 0 !important;
}

#cart_redesign .cart-action-row .quantity-input-wrapper,
.woocommerce-cart .cart-action-row .quantity-input-wrapper,
.cart-product-grid .cart-action-row .quantity-input-wrapper {
  width: 100% !important;
  max-width: 100% !important;
}

/* ================================================================
   CART PAGE - Remove/Edit Action Buttons (Table Layout)
   Uses table-cell display to prevent overlap with padding-based spacing
   ================================================================ */
/* Action Links Wrapper - Nuclear Reset */
#cart_redesign .cart-action-row .action-links-wrapper,
.woocommerce-cart .cart-action-row .action-links-wrapper,
.cart-product-grid .cart-action-row .action-links-wrapper {
  display: table !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-spacing: 0 !important;
  table-layout: auto !important;
}

#cart_redesign .cart-action-row .action-links-wrapper a,
.woocommerce-cart .cart-action-row .action-links-wrapper a,
.cart-product-grid .cart-action-row .action-links-wrapper a {
  
  font-family: 'Instrument Sans bold', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 24px !important;
  text-decoration: none !important;
  color: #419AF7 !important;
  white-space: nowrap !important;
  transition: opacity 0.2s ease !important;
  margin: 0 !important;
  padding: 0 32px 0 0 !important;
  position: static !important;
  width: auto !important;
  vertical-align: middle !important;
}

#cart_redesign .cart-action-row .action-links-wrapper a:last-child {
  padding-right: 0 !important;
}

#cart_redesign .cart-action-row .action-links-wrapper a span,
.woocommerce-cart .cart-action-row .action-links-wrapper a span,
.cart-product-grid .cart-action-row .action-links-wrapper a span {
  display: inline !important;
  margin-left: 8px !important;
}

#cart_redesign .cart-action-row .action-links-wrapper a svg,
.woocommerce-cart .cart-action-row .action-links-wrapper a svg,
.cart-product-grid .cart-action-row .action-links-wrapper a svg {
  display: inline-block !important;
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  vertical-align: middle !important;
}

#cart_redesign .cart-action-row .action-links a:hover,
.woocommerce-cart .cart-action-row .action-links a:hover,
.cart-product-grid .cart-action-row .action-links a:hover {
  opacity: 0.7 !important;
  color: #419AF7 !important;
  background-color: transparent !important;
  border-color: transparent !important;
}

#cart_redesign .cart-action-row .action-links a svg,
.woocommerce-cart .cart-action-row .action-links a svg,
.cart-product-grid .cart-action-row .action-links a svg {
  width: 24px !important;
  height: 24px !important;
  flex-shrink: 0 !important;
  display: block !important;
  margin: 0 !important;
}

.cart-product-item > .action-links {
  display: none !important;
}

.show_details_against_order td {
  padding: 0;
}

.show_details_against_order td input {
  border: 0;
  background: #F2F2F2;
  border-radius: 0;
  font-family: Instrument Sans;
  font-size: 20px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: left;
  border: 1px solid #419AF7;
  margin-top: 16px;
}

.show_details_against_order td .heading-label-td {
  font-family: 'Instrument Sans' ;
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: left;
  margin: 16px 0px 0px 0px;
}

.show_details_against_order td .text-data-td {
  font-family: 'Instrument Sans' ;
  font-size: 20px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: left;
  margin: 16px 0px 0px 0px;
}

.process-to-checkout-div {
  text-align: center;
  background: #F1F8FF;
  border: 2px solid #419AF7;
  border-radius: 16px;
  padding: 32px 24px;
  width: 100%;
}

.subtotal-in-checkout-block {
  display: grid;
  /* 	align-items: center;
  justify-content: space-between; */
  margin-bottom: 10%;
}

.subtotal-in-checkout-block>div {
  display: flex;
  justify-content: space-between;
  align-content: space-between;
}

.process-to-checkout-div a {
  text-decoration: none !important;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
  color: #FFFFFF;
  background: var(--instabox-primary, #419AF7);
  padding: 18px 24px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border: 1px solid var(--instabox-primary, #419AF7);
  transition: background 150ms ease, border-color 150ms ease;
}

.process-to-checkout-div a:hover,
.process-to-checkout-div a:focus-visible {
  background: var(--instabox-primary-hover, #68B2FF);
  border-color: var(--instabox-primary-hover, #68B2FF);
}

.coupon-code-div {
  text-align: left;
  background: #f8fafc;
  border: 1px solid #d0d5dd;
  border-radius: 16px;
  padding: 32px 28px;
  margin-top: 25px;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
}

.coupon-code-div h3 {
  font-family: Instrument Sans;
  font-size: 20px;
  font-weight: 700;
  line-height: 28px;
  letter-spacing: 0em;
  color: #101828;
  margin: 0 0 16px;
}

.legacy-coupon-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  font-family: 'Instrument Sans', sans-serif;
}

.legacy-coupon-form label:not(.screen-reader-text) {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #475467;
}


.legacy-coupon-fieldset {
  display: flex;
  align-items: center;
  gap: 16px;
}

.legacy-coupon-fieldset input[type="text"] {
  flex: 1;
  min-height: 56px;
  border-radius: 999px;
  border: 1px solid #d0d5dd;
  background: #ffffff;
  font-size: 16px;
  font-weight: 500;
  color: #101828;
  padding: 0 24px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.legacy-coupon-fieldset input[type="text"]::placeholder {
  color: #98a2b3;
}

.legacy-coupon-fieldset input[type="text"]:focus {
  outline: none;
  border-color: #419af7;
  box-shadow: 0 0 0 3px rgba(65, 154, 247, 0.25);
}

.legacy-coupon-apply {
  min-width: 168px;
  min-height: 56px;
  border-radius: 14px;
  border: 1px solid var(--instabox-primary, #419AF7) !important;
  background: var(--instabox-primary, #419AF7) !important;
  color: #ffffff !important;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0 28px;
  cursor: pointer;
  text-align: center;
  transition: background 150ms ease, border-color 150ms ease;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  appearance: none;
  box-shadow: none;
}

.legacy-coupon-apply:hover,
.legacy-coupon-apply:focus-visible {
  background: var(--instabox-primary-hover, #68B2FF) !important;
  border-color: var(--instabox-primary-hover, #68B2FF) !important;
  color: #ffffff !important;
}

.legacy-coupon-form--submitting .legacy-coupon-apply {
  opacity: 0.7;
  cursor: wait;
}

.legacy-coupon-feedback {
  font-size: 14px;
  line-height: 20px;
  color: #475467;
  min-height: 20px;
}

.legacy-coupon-feedback.legacy-coupon-success {
  color: #039855;
}

.legacy-coupon-feedback.legacy-coupon-error {
  color: #d92d20;
}

.legacy-coupon-feedback.legacy-coupon-pending {
  color: #344054;
}

.coupon-code-div button[name="update_cart"] {
  display: none !important;
}

.woocommerce-cart #content {
  width: 100%;
  max-width: 1430px;
  margin: 0 auto;
  padding: 0px 15px;
}

.woocommerce-cart #content .page-content {
  display:block;
}

body.legacy-cart-active.woocommerce-cart #content .page-content {
  display:none !important;
}
.woocommerce-cart .entry-title {
  border-bottom: 1px solid #CCCCCC;
  font-family: IvyPresto Headline;
  font-size: 65px;
  font-weight: 700;
  line-height: 96px;
  letter-spacing: 0em;
  text-align: left;
  min-width: 100%;
  margin-bottom: 40px;
  padding: 10px 0px;

}

.show_details_against_order tr td:last-child {
  padding-left: 10px;
}

.subtotal-in-checkout-block h3 {
  font-family: Instrument Sans;
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: left;
}

.subtotal-in-checkout-block span {
  font-family: Instrument Sans;
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: left;
}

#cart_redesign .cart-subtotal-td{
  margin-bottom: 16px;
  }
.show_details_against_order .woocommerce-Price-amount {
  font-size: 20px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: left;
  margin: 16px 0px 0px 0px;
  color: #5cc77a;
  font-family: 'Instrument Sans bold' !important;
}
.unit_cost_price_tr .amount span{
  font-weight: 400 !important;
  color: black !important;
  font-family: 'Instrument Sans Regular' !important;
}


@media only screen and (max-width: 1024px) {
  .process-to-checkout-div a {
    font-size: 13px;
  }

  .coupon-code-div {
    padding: 28px 24px;
  }

  .coupon-code-div h3 {
    font-size: 18px;
    line-height: 26px;
  }
}

@media only screen and (max-width: 1023px) {
  .legacy-coupon-fieldset {
    flex-direction: column;
    align-items: stretch;
  }

  .legacy-coupon-fieldset input[type="text"],
  .legacy-coupon-apply {
    width: 100%;
  }
  
  /* ================================================================
     CART PAGE - Mobile Responsive Styles (below 1023px)
     - Restructures grid to block layout
     - Adds pseudo-labels to values
     - Adjusts quantity input and action buttons
     ================================================================ */
  /* Mobile: Restructure the entire grid */
  .cart-product-grid {
    display: block !important;
  }
  
  /* Image full width on top */
  .product-thumbnail {
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
  }
  
  .product-thumbnail-frame {
    padding: 12px 16px 18px;
    display: inline-block;
  }
  
  .product-thumbnail img {
    width: 160px;
    max-width: 100%;
  }
  
  /* Create a table-like layout with labels and values */
  .product-labels,
  .product-values {
    display: block !important;
    width: auto !important;
    float: none !important;
  }
  
  /* Each label and corresponding value on same row */
  .product-labels p,
  .product-values p,
  .product-values .unit-cost-value,
  .product-values .cart-line-total,
  .product-values .quantity-input-wrapper,
  .product-values .action-links {
    display: flex;
    width: 100%;
    margin-bottom: 8px;
    justify-content: space-between;
  }
  
  /* Create pseudo-table rows using CSS grid on each item */
  .product-labels {
    display: none !important;
  }
  
  /* Show values only, with labels as prefix */
  .product-values {
    display: block !important;
    width: 100% !important;
  }
  
  .product-values p,
  .product-values .unit-cost-value,
  .product-values .cart-line-total {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
    font-size: 16px;
    line-height: 1.5;
  }

  .product-values .quantity-input-wrapper {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin-bottom: 16px;
  }
  
  .product-values .quantity-input-wrapper::before {
    content: "Quantity:";
    font-weight: 700;
    min-width: 140px;
    margin-right: 4px;
  }
  
  .product-values .quantity-input-wrapper .quantity {
    flex: 1 1 auto;
    max-width: 100%;
  }
  
  .product-values p:nth-child(1)::before {
    content: "Project Name:";
  }
  
  .product-values p:nth-child(2)::before {
    content: "Size (L x W x H):";
  }
  
  .product-values p:nth-child(3)::before {
    content: "Material:";
  }
  
  .product-values p:nth-child(4)::before {
    content: "Printed sides:";
  }
  
  .product-values p:nth-child(5)::before {
    content: "Shipping:";
  }
  
  .product-values .unit-cost-value::before {
    content: "Unit Cost:";
    color: #000;
  }
  
  .product-values .cart-line-total::before {
    content: "Total:";
    color: #000;
  }

  .product-values p::before,
  .product-values .unit-cost-value::before,
  .product-values .cart-line-total::before {
    font-weight: 700;
    display: inline-flex;
    min-width: 140px;
    margin-right: 4px;
  }
  
  /* Mobile font sizes */
  .heading-label-td,
  .text-data-td,
  .unit-cost-value,
  .cart-line-total {
    font-size: 16px;
    line-height: 1.4;
  }
  
  .cart-line-total {
    font-size: 18px;
    margin-bottom: 16px;
  }
  
  .image-details .top-row h2 {
    font-size: 24px;
    line-height: 1.3;
    margin-bottom: 16px;
  }
  
  .quantity-input-wrapper {
    margin-top: 12px;
    margin-bottom: 12px;
  }
  
  .quantity-input-wrapper .quantity input.qty {
    width: 100%;
    max-width: 100%;
    font-size: 16px;
  }
  
  /* Action buttons on mobile */
  #cart_redesign .product-values .cart-action-row,
  .woocommerce-cart .product-values .cart-action-row,
  .cart-product-grid .product-values .cart-action-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    position: relative !important;
    min-height: auto !important;
    margin-top: 16px !important;
  }

  #cart_redesign .cart-action-row .action-links-wrapper,
  .woocommerce-cart .cart-action-row .action-links-wrapper,
  .cart-product-grid .cart-action-row .action-links-wrapper {
    display: table !important;
    width: 100% !important;
    border-spacing: 0 !important;
  }
  
  #cart_redesign .cart-action-row .action-links-wrapper a,
  .woocommerce-cart .cart-action-row .action-links-wrapper a,
  .cart-product-grid .cart-action-row .action-links-wrapper a {
    font-size: 16px !important;
    line-height: 20px !important;
    
    white-space: nowrap !important;
    vertical-align: middle !important;
    padding: 0 24px 0 0 !important;
  }

  #cart_redesign .cart-action-row .action-links-wrapper a:last-child {
    padding-right: 0 !important;
  }
  
  #cart_redesign .cart-action-row .action-links-wrapper a span,
  .woocommerce-cart .cart-action-row .action-links-wrapper a span,
  .cart-product-grid .cart-action-row .action-links-wrapper a span {
    margin-left: 6px !important;
  }
  
  #cart_redesign .cart-action-row .action-links-wrapper a svg,
  .woocommerce-cart .cart-action-row .action-links-wrapper a svg,
  .cart-product-grid .cart-action-row .action-links-wrapper a svg {
    width: 20px !important;
    height: 20px !important;
  }  /* Cart item spacing */
  #cart_redesign .cart-product-item {
    margin-bottom: 40px;
    padding-bottom: 32px;
    border-bottom: 1px solid #e0e0e0;
  }
  
  #cart_redesign .cart-product-item:last-child {
    border-bottom: none;
  }
  
  /* Sidebar full width */
  #cart_redesign .row.multiple_products {
    flex-direction: column;
    gap: 32px;
  }
  
  #cart_redesign .col-md-8.cart-items-column,
  #cart_redesign .col-md-4 {
    flex: 1 1 100%;
    width: 100%;
  }
  
  #cart_redesign .col-md-4 {
    position: static;
    margin-top: 0;
  }
}

.cart-quantity-td {
  vertical-align: middle;
}

.cart-quantity-td h3 {
  margin: 0;
}

#update_cart_upon_quantity {
  margin-top: 3%;
  background: #419AF7;
  color: white;
  border: 0;
  font-weight: 900;
}

@media only screen and (max-width: 1023px) {
  #cart_redesign .image-details {
    text-align: left;
    display: flex;
    flex-direction: column;
    margin-bottom: 16px;
  }

  .image-details .top-row h2 {
    font-family: IvyPresto Headline;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    margin-bottom: 8px;
  }

  .cart-quantity-td {
    vertical-align: middle;
  }

  .cart-quantity-td h3 {
    margin: 0;
  }

  .show_details_against_order td .heading-label-td {
    font-size: 14px;
    font-weight: 700;
    line-height: 17px;
  }

  .show_details_against_order td .text-data-td {
    font-size: 14px;
    font-weight: 400;
    line-height: 17px;
  }

  td.Total_for-mobile {
    font-family: Instrument Sans;
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
    color: #5CC77A;
    padding-top: 20px !important;
  }

  .subtotal-in-checkout-block {
    margin-bottom: 10%;
  }

  .process-to-checkout-div a {
    padding: 20px 15px;
  }

  .woocommerce-cart .entry-title {
    font-family: IvyPresto Headline;
    font-size: 30px;
    font-weight: 700;
    line-height: 44px;
    text-align: left;
    width: 100%;
    padding: 10px 0px;
    border: 0;
    border-bottom: 1px solid #cccccc;
    margin-bottom: 20px !important;
  }
}

.checkout-coupon-codes-div {
 margin-top: .4rem;
  padding: clamp(24px, 4vw, 36px);
  background: linear-gradient(180deg, rgba(65, 154, 247, 0.08) 0%, rgba(65, 154, 247, 0.02) 100%);
  border: 1px solid #D7E6FB;
  border-radius: 28px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.checkout-coupon-codes-div > p:first-of-type {
  font-size: 16px;
  color: #475569;
  margin: 0;
}

.checkout-coupon-codes-div .woocommerce-form-coupon-toggle,
.checkout-coupon-codes-div .woocommerce-form-coupon-toggle .woocommerce-info {
  display: none !important;
}

.checkout-coupon-codes-div form.checkout_coupon {
  margin: 0;
  padding: 0;
}

.checkout-coupon-codes-div form.checkout_coupon .legacy-coupon-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.checkout-coupon-codes-div .legacy-coupon-description {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: #475467;
}

.checkout-coupon-codes-div .legacy-coupon-fieldset {
  display: flex;
  width: 100%;
  gap: 16px;
  align-items: stretch;
}

.checkout-coupon-codes-div .clear {
  display: none;
}

.checkout-coupon-codes-div #coupon_code {
  flex: 1 1 auto;
  min-width: 220px;
  width: 100%;
  min-height: 56px;
  border: 1px solid var(--instabox-border);
  border-radius: 14px;
  padding: 16px 18px;
  font-size: 16px;
  font-weight: 600;
  color: #0F172A;
  background: #fff;
}

.checkout-coupon-codes-div #coupon_code::placeholder {
  color: #94A3B8;
}

.checkout-coupon-codes-div button.button[name="apply_coupon"] {
  flex: 0 0 auto;
  min-height: 56px;
  border-radius: 14px;
  padding: 0 32px;
  font-family: 'Instrument Sans', 'Inter', sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: var(--instabox-primary);
  border: 1px solid var(--instabox-primary);
  color: #fff;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.checkout-coupon-codes-div button.button[name="apply_coupon"]:hover,
.checkout-coupon-codes-div button.button[name="apply_coupon"]:focus-visible {
  background: var(--instabox-primary-hover);
  border-color: var(--instabox-primary-hover);
  transform: translateY(-1px);
}

@media (max-width: 640px) {
  .checkout-coupon-codes-div .legacy-coupon-fieldset {
    flex-direction: column;
  }

  .checkout-coupon-codes-div #coupon_code {
    min-width: 0;
  }

  .checkout-coupon-codes-div button.button[name="apply_coupon"] {
    width: 100%;
  }
}

@media only screen and (max-width: 425px) {

  /* .process-to-checkout-div {
    height: 160px;
  } */
  .subtotal-in-checkout-block {
    margin-bottom: 10%;
  }

  #stripe-payment-data p.form-row.woocommerce-SavedPaymentMethods-saveNew.woocommerce-validated {
    align-items: flex-start;
  }

  #cart_redesign .show_details_against_order td {
    width: 40% !important;
  }

  .show_details_against_order td .heading-label-td {
    font-size: 14px;
  }

  .show_details_against_order td .text-data-td {
    font-size: 14px;
  }

  .show_details_against_order td input {
    font-size: 12px;
  }

  .coupon-code-div .coupon #coupon_code {
    font-size: 12px;
  }

  .subtotal-in-checkout-block h3 {
    font-size: 15px;
  }

  .subtotal-in-checkout-block span {
    font-size: 15px;
  }

  .product-values > .action-links svg {
    width: 18px;
  }

  #custom-mailer-box-heading .elementor-heading-title.elementor-size-default {
    font-size: 20px;
  }
}

@media only screen and (max-width: 375px) {

  .product-values > .action-links svg {
    width: 16px;
  }
}

@media only screen and (max-width: 320px) {
  .product-values > .action-links svg {
    width: 16px;
  }
}


/* Checkout Page Redesign CSS */






body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details {
  display: grid;
}

body.woocommerce-checkout:not(.woocommerce-order-received) table.shop_table.woocommerce-checkout-review-order-table {
  width: 48% !important;
  border-radius: 5px !important;
  border: 1px solid #419AF7 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) table.shop_table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping :where(th, td, tr) {
  border: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) table.shop_table.woocommerce-checkout-review-order-table tr:not(.woocommerce-shipping-totals.shipping) {
  display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading {
  font-family: IvyPresto Headline;
  font-size: 40px;
  font-weight: 700;
  line-height: 59px;
  letter-spacing: 0em;
  text-align: left;
  margin: 5% 0% 1%;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment {
  width: 48%;
  background: #f7f9fc;
  border: 1px solid #ccc;
  margin-bottom: 7%;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order {
  display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-privacy-policy-text {
  display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #ship-to-different-address {
  margin-top: 10%;
}

.new_placeorder_button {
  margin-top: clamp(24px, 6vw, 72px);
}


body.woocommerce-checkout:not(.woocommerce-order-received) p.form-row.form-row-wide.create-account.woocommerce-validated label {
  display: flex;
  align-items: flex-start;
}

body.woocommerce-checkout:not(.woocommerce-order-received) p.form-row.form-row-wide.create-account.woocommerce-validated input {
  width: 20px;
  height: 20px;
}

label.woocommerce-form__label.woocommerce-form__label-for-checkbox.checkbox {
  display: flex;
  align-items: center;
  gap: 14px;
}

label.woocommerce-form__label.woocommerce-form__label-for-checkbox.checkbox #ship-to-different-address-checkbox {
  width: 20px;
  height: 20px;
}

button#place_order {
  width: 100%;
  padding: 18px 32px !important;
  margin: clamp(24px, 4vw, 40px) 0 0;
  font-family: 'Instrument Sans', 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
  background: var(--instabox-primary);
  border: 1px solid var(--instabox-primary);
  border-radius: 14px;
  color: #fff;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

button#place_order:hover:not(:disabled) {
  background: var(--instabox-primary-hover);
  border-color: var(--instabox-primary-hover);
  transform: translateY(-1px);
}

button#place_order:disabled,
button#place_order.disabled,
button#place_order[disabled] {
  background: #EFF2F8;
  border-color: #E0E5F2;
  color: #9AA5BE;
  box-shadow: none;
  cursor: not-allowed;
}

#ship-to-different-address label.woocommerce-form__label.woocommerce-form__label-for-checkbox.checkbox span {
  font-family: IvyPresto Headline;
  font-size: 32px;
  font-weight: 500;
  line-height: 59px;
  letter-spacing: 0em;
  text-align: left;
  margin-top: -2%;
  text-transform: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .entry-title {
  font-family: IvyPresto Headline;
  font-size: 65px;
  font-weight: 700;
  line-height: 96px;
  letter-spacing: 0em;
  text-align: left;
  margin-bottom: 4%;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details label {
  text-transform: capitalize;
  font-family: Instrument Sans;
  font-size: 20px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: left;
  color: #000000;
  
}

body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details input {
  font-family: Instrument Sans;
  font-size: 20px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: left;
  color: #7D7D7D;
  border: 1px solid #A3A3A3 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details input.input-text,
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details textarea {
  border-radius: 12px;
  padding: 10px 18px;
  min-height: 48px;
  background: #fff;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details select,
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .select2-container .select2-selection--single {
  font-family: Instrument Sans;
  font-size: 20px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0em;
  color: #7D7D7D;
  border: 1px solid #A3A3A3 !important;
  border-radius: 12px;
  /*padding: 10px 44px 10px 18px; */
  min-height: 48px;
  width: 100%;
  background-color: #fff;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%237D7D7D' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
  background-size: 12px auto;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .select2-container .select2-selection--single {
  height: auto;
  background-color: #fff;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .select2-selection--single .select2-selection__rendered {
  padding: 10px 44px 10px 18px;
  line-height: 24px;
  color: #7D7D7D;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .select2-selection--single .select2-selection__arrow {
  top: 50%;
  transform: translateY(-50%);
  right: 18px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details textarea {
  font-family: Instrument Sans;
  font-size: 20px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: left;
  color: #7D7D7D;
  border: 1px solid #A3A3A3 !important;
}

/* Thank You Page Experience CSS */
body.woocommerce-order-received {
  background: #f7f9fc;
}

body.woocommerce-order-received .entry-title {
  display: none;
}

body.woocommerce-order-received .woocommerce-order {
  max-width: 1100px;
  margin: 0 auto 80px;
}

body.woocommerce-order-received .woocommerce-notice--success.woocommerce-thankyou-order-received {
  margin-bottom: 32px;
  font-family: Instrument Sans;
  font-size: 20px;
  font-weight: 700;
  color: #0f9d58;
  background: #f1fff5;
  border: 1px solid #86efac;
  border-radius: 999px;
  padding: 12px 28px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

body.woocommerce-order-received ul.woocommerce-order-overview {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 24px;
  margin: 0 0 40px;
  padding: 0;
}

body.woocommerce-order-received ul.woocommerce-order-overview li {
  background: #f1f8ff;
  border: 1px solid #cfe4ff;
  border-radius: 12px;
  padding: 16px 20px;
  font-family: Instrument Sans;
  text-transform: none;
  color: #475467;
}

body.woocommerce-order-received ul.woocommerce-order-overview li strong {
  display: block;
  margin-top: 8px;
  font-size: 22px;
  line-height: 28px;
  color: #101828;
}

body.woocommerce-order-received ul.woocommerce-order-overview li:nth-child(odd) strong {
  color: #5cc77a;
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .woocommerce-order-downloads {
  margin-top: 40px;
  border: 1px solid #e4e7ec;
  border-radius: 16px;
  padding: 32px;
  background: #ffffff;
}

.woocommerce .woocommerce-customer-details address {
  border-radius: 24px;
  padding: 24px;
}

body.woocommerce-order-received .woocommerce-order-details h2,
body.woocommerce-order-received .woocommerce-customer-details h2 {
  font-family: IvyPresto Headline;
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 24px;
  border-bottom: 1px solid #e4e7ec;
  padding-bottom: 12px;
}

body.woocommerce-order-received table.woocommerce-table--order-details {
  width: 100%;
  border-collapse: collapse;
}

body.woocommerce-order-received table.woocommerce-table--order-details th,
body.woocommerce-order-received table.woocommerce-table--order-details td {
  font-family: Instrument Sans;
  font-size: 18px;
  line-height: 26px;
  color: #344054;
  padding: 16px 0;
  border-bottom: 1px solid #e4e7ec;
}

body.woocommerce-order-received table.woocommerce-table--order-details th {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 14px;
  color: #475467;
}

body.woocommerce-order-received table.woocommerce-table--order-details tfoot th,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot td {
  font-size: 20px;
  font-weight: 700;
  color: #101828;
}

body.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child td,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child th {
  font-size: 24px;
  color: #5cc77a;
  border-bottom: 0;
}

/* Custom thank-you layout */
#custom-order-details {
  margin: 48px auto;
}

.dnr-thankyou {
  background: #ffffff;
  border: 1px solid #e4e7ec;
  border-radius: 24px;
  padding: 48px;
  box-shadow: 0 24px 60px rgba(16, 24, 40, 0.08);
}

.dnr-thankyou__hero {
  text-align: center;
  margin-bottom: 40px;
}

.dnr-thankyou__eyebrow {
  font-family: IvyPresto Headline;
  font-size: 18px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #98a2b3;
  margin-bottom: 12px;
}

.dnr-thankyou__hero h2 {
  font-family: IvyPresto Headline;
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 12px;
}

.dnr-thankyou__hero p {
  font-family: Instrument Sans;
  font-size: 20px;
  color: #475467;
  margin: 0 auto 12px;
  max-width: 700px;
}

.dnr-thankyou__contact,
.dnr-thankyou__meta {
  font-family: Instrument Sans;
  font-size: 16px;
  color: #667085;
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

.dnr-thankyou__status {
  margin-top: 28px;
}

.dnr-thankyou__status img {
  max-width: 520px;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.dnr-thankyou__items {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.dnr-thankyou-item {
  display: flex;
  gap: 24px;
  padding: 24px;
  border: 1px solid #e4e7ec;
  border-radius: 16px;
  align-items: flex-start;
}

.dnr-thankyou-item__media img {
  width: 160px;
  height: auto;
  border-radius: 12px;
  object-fit: cover;
}

.dnr-thankyou-item__header h3 {
  font-family: IvyPresto Headline;
  font-size: 28px;
  margin: 0;
}

.dnr-thankyou-item__qty {
  font-family: Instrument Sans;
  font-size: 16px;
  color: #475467;
  margin: 4px 0 16px;
}

.dnr-thankyou-item__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.dnr-thankyou-meta-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 32px;
  margin: 0 0 8px;
  padding: 0;
}

.dnr-thankyou-meta-list__row {
  display: flex;
  gap: 8px;
  min-width: 160px;
  font-family: Instrument Sans;
  font-size: 17px;
  color: #101828;
}

.dnr-thankyou-meta-list__row dt {
  font-weight: 700;
  margin: 0;
}

.dnr-thankyou-meta-list__row dd {
  margin: 0;
  font-weight: 400;
  color: #475467;
}

.dnr-thankyou-meta-list__row a {
  color: #419af7;
  font-weight: 600;
}

.dnr-thankyou-item__totals {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}

.dnr-thankyou-item__label {
  display: block;
  font-family: Instrument Sans;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #98a2b3;
}

.dnr-thankyou-item__totals strong,
.dnr-thankyou-item__totals strong * {
  font-family: 'Instrument Sans', sans-serif;
}

.dnr-thankyou-item__totals strong {
  display: block;
  font-size: 20px;
  font-weight: 700;
  color: #101828;
}

.dnr-thankyou__summary {
  margin-top: 40px;
  border-top: 1px solid #e4e7ec;
  padding-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.dnr-thankyou-summary__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  font-family: Instrument Sans;
  font-size: 20px;
  color: #101828;
  padding: 6px 0;
}

.dnr-thankyou-summary__row strong,
.dnr-thankyou-summary__row strong * {
  font-family: 'Instrument Sans', sans-serif;
}

.dnr-thankyou-summary__row strong {
  font-size: 24px;
  font-weight: 700;
  color: #101828;
}

.dnr-thankyou-summary__row--grand strong {
  color: #50b673;
  font-size: 32px;
}

@media only screen and (max-width: 1023px) {
  .dnr-thankyou {
    padding: 32px;
  }

  .dnr-thankyou-item {
    flex-direction: column;
    align-items: stretch;
  }

  .dnr-thankyou-item__media img {
    width: 100%;
  }
}

@media only screen and (max-width: 640px) {
  .dnr-thankyou {
    padding: 24px;
  }

  .dnr-thankyou-summary__row {
    flex-direction: column;
    gap: 4px;
  }

  .dnr-thankyou-meta-list {
    flex-direction: column;
    gap: 6px;
  }

  .dnr-thankyou__status img {
    max-width: 100%;
  }
}

body.woocommerce-order-received .woocommerce-customer-details address {
  font-style: normal;
  font-family: Instrument Sans;
  color: #475467;
  margin: 0;
  line-height: 28px;
}

body.woocommerce-order-received a.button,
body.woocommerce-order-received .woocommerce-button {
  background: #419af7;
  color: #ffffff !important;
  border-radius: 999px;
  border: 0;
  padding: 14px 36px;
  font-family: Instrument Sans;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background 0.2s ease;
}

body.woocommerce-order-received a.button:hover,
body.woocommerce-order-received .woocommerce-button:hover {
  background: #1e73be;
  color: #ffffff;
}

body.woocommerce-order-received .woocommerce-order-downloads table {
  width: 100%;
  border-collapse: collapse;
}

body.woocommerce-order-received .woocommerce-order-downloads table th,
body.woocommerce-order-received .woocommerce-order-downloads table td {
  padding: 12px 0;
  border-bottom: 1px solid #e4e7ec;
}

@media only screen and (max-width: 1023px) {
  body.woocommerce-order-received .woocommerce-order {
    margin: 0 16px 64px;
  }

  body.woocommerce-order-received ul.woocommerce-order-overview {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 16px;
  }

  body.woocommerce-order-received .woocommerce-order-details,
  body.woocommerce-order-received .woocommerce-customer-details,
  body.woocommerce-order-received .woocommerce-order-downloads {
    padding: 24px;
  }
}

@media only screen and (max-width: 640px) {
  body.woocommerce-order-received ul.woocommerce-order-overview {
    grid-template-columns: 1fr;
  }

  body.woocommerce-order-received .woocommerce-notice--success.woocommerce-thankyou-order-received {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  body.woocommerce-order-received table.woocommerce-table--order-details th,
  body.woocommerce-order-received table.woocommerce-table--order-details td {
    font-size: 16px;
  }
}

@media (max-width: 1023px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-title {
    font-size: 30px !important;
    line-height: 44px !important;
    margin: 0 0 25px 0;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .dnr-checkout-grid {
    grid-template-columns: 1fr;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .dnr-checkout-sidebar {
    position: static;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .dnr-checkout-main {
    gap: 32px;
  }

  .check-out-design-page {
    position: static;
    top: auto;
    margin-top: 24px;
  }

  .dnr-card,
  body.woocommerce-checkout:not(.woocommerce-order-received) #payment {
    padding: 24px;
  }

  .dnr-order-item {
    flex-direction: column;
  }

  .dnr-order-media {
    width: 100%;
  }
}

/* --------------------------------------------------------------
  Account dashboard redesign (global layout + hero)
-------------------------------------------------------------- */

body.woocommerce-account {
  background: var(--instabox-neutral, #f7f9ff);
  padding-bottom: 40px;
}

body.woocommerce-account .woocommerce {
  display: grid;
  gap: 32px;
  grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
  grid-template-areas:
    "dnr-account-hero dnr-account-hero"
    "dnr-account-nav dnr-account-content";
  width: 100%;
  margin: 0 auto;
  padding: 1rem;
  box-sizing: border-box;
}

/* Account hero card (welcome banner) */
.dnr-account-hero {
  grid-area: dnr-account-hero;
  background: #fff;
  border: 1px solid var(--instabox-border, #e1e6f4);
  border-radius: 32px;
  padding: 2rem;
  display: flex;
  flex-direction: row;
  gap: clamp(24px, 4vw, 60px);
  align-items: center;
  overflow: hidden;
}

.dnr-account-hero__eyebrow {
  font-family: 'Instrument Sans SemiBold', 'Instrument Sans', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
  margin: 0;
  color: var(--instabox-muted, #6b7280);
}

.dnr-account-hero__title {
  margin: 0;
  font-size: clamp(32px, 6vw, 56px);
  line-height: 1.1;
  font-family: 'IvyPresto Headline', 'Instrument Sans', serif;
  color: var(--instabox-text, #0f1b2f);
}

.dnr-account-hero__email {
  margin: 0;
  font-size: 16px;
  color: #9aa4ba;
}

.dnr-account-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.dnr-account-hero__cta {
  border-radius: 14px;
  padding: 14px 20px;
  font-size: 13px;
  font-family: 'Instrument Sans SemiBold', 'Instrument Sans', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  border: 1px solid transparent;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.dnr-account-hero__cta--primary {
  background: var(--instabox-primary, #419af7);
  border-color: var(--instabox-primary, #419af7);
  color: #fff;
}

.dnr-account-hero__cta--primary:hover,
.dnr-account-hero__cta--primary:focus {
  background: var(--instabox-primary-hover, #68b2ff);
  border-color: var(--instabox-primary-hover, #68b2ff);
  color: #fff;
}

.dnr-account-hero__cta--ghost {
  border-color: rgba(65, 154, 247, 0.4);
  color: var(--instabox-primary, #419af7);
  background: transparent;
}

.dnr-account-hero__cta--ghost:hover,
.dnr-account-hero__cta--ghost:focus {
  background: var(--instabox-primary-hover, #68b2ff);
  border-color: var(--instabox-primary-hover, #68b2ff);
  color: #fff;
}


.dnr-account-hero__content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.dnr-account-hero__art {
  width: 100%;
  text-align: right;
}

.dnr-account-hero__art img {
  max-width: min(420px, 100%);
  width: 100%;
  height: auto;
  display: block;
  margin-left: auto;
  filter: drop-shadow(0 20px 35px rgba(15, 27, 47, 0.18));
}

@media (max-width: 768px) {
  .dnr-account-hero {
    flex-direction: column;
    text-align: center;
    padding: 28px 24px;
  }

  .dnr-account-hero__content {
    align-items: center;
  }

  .dnr-account-hero__art {
    text-align: center;
    order: -1;
  }

  .dnr-account-hero__art img {
    margin: 0 auto;
    max-width: 320px;
  }
}

/* Account navigation sidebar */
body.woocommerce-account .woocommerce-MyAccount-navigation {
  grid-area: dnr-account-nav;
  align-self: start;
  position: sticky;
  top: 120px;
  background: #fff;
  border: 1px solid var(--instabox-border, #e1e6f4);
  border-radius: 28px;
  padding: 24px;
  box-shadow: 0 8px 32px rgba(15, 27, 47, 0.05);
  width: 100%;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0;
  position: relative;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  text-decoration: none;
  padding: 14px 18px;
  border-radius: 16px;
  border: 1px solid transparent;
  color: var(--instabox-text, #0f1b2f);
  font-family: 'Instrument Sans Medium', 'Instrument Sans', sans-serif;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  background: rgba(255, 255, 255, 0.84);
  width: 100%;
  min-height: 54px;
  box-shadow: 0 6px 22px rgba(15, 27, 47, 0.04);
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a::after {
  content: '›';
  font-size: 18px;
  color: var(--instabox-muted, #6b7280);
  margin-left: auto;
  transition: transform 0.2s ease, color 0.2s ease;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation li a:focus {
  border-color: rgba(65, 154, 247, 0.4);
  color: var(--instabox-primary, #419af7);
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: rgba(65, 154, 247, 0.12);
  border-color: var(--instabox-primary, #419af7);
  color: var(--instabox-primary, #419af7);  
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::after {
  color: var(--instabox-primary, #419af7);
  transform: translateX(2px);
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active::before {
  content: '';
  position: absolute;
  left: 8px;
  top: 10px;
  bottom: 10px;
  width: 4px;
  border-radius: 999px;
  background: var(--instabox-primary, #419af7);
}

@media (max-width: 1024px) {
  body.woocommerce-account {
    padding: 24px 0;
  }

  body.woocommerce-account .woocommerce {
    grid-template-columns: 1fr;
    grid-template-areas:
      "dnr-account-hero"
      "dnr-account-nav"
      "dnr-account-content";
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation {
    position: static;
    top: auto;
    border-radius: 22px;
    padding: 20px;
  }

  body.woocommerce-account .woocommerce-MyAccount-content {
    padding: 24px;
  }
}

@media (max-width: 640px) {
  body.woocommerce-account .woocommerce-MyAccount-navigation {
    padding: 16px 12px;
    box-shadow: 0 4px 16px rgba(15, 27, 47, 0.04);
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    flex-direction: row;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation li {
    flex: 0 0 auto;
    /* min-width: 150px; */
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation li::before {
    display: none;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation li a {
    box-shadow: none;
    border: 1px solid rgba(65, 154, 247, 0.2);
    justify-content: center;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation li a::after {
    display: none;
  }
}

@media (min-width: 576px) {
  .page-header .entry-title,
  .site-footer .footer-inner,
  .site-footer:not(.dynamic-footer),
  .site-header .header-inner,
  .site-header:not(.dynamic-header),
  body:not([class*=elementor-page-]) .site-main {
    max-width: 100% !important;
  }
}

@media (min-width: 768px) {
  .page-header .entry-title,
  .site-footer .footer-inner,
  .site-footer:not(.dynamic-footer),
  .site-header .header-inner,
  .site-header:not(.dynamic-header),
  body:not([class*=elementor-page-]) .site-main {
    max-width: 100% !important;
  }
}

@media (min-width: 1200px) {
  .page-header .entry-title,
  .site-footer .footer-inner,
  .site-footer:not(.dynamic-footer),
  .site-header .header-inner,
  .site-header:not(.dynamic-header),
  body:not([class*=elementor-page-]) .site-main {
    max-width: 1400px !important;
  }
}

/* Account main content card */
body.woocommerce-account .woocommerce-MyAccount-content {
  grid-area: dnr-account-content;
  background: #fff;
  border: 1px solid var(--instabox-border, #e1e6f4);
  border-radius: 32px;
  padding: 32px;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  float: none;
}

body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
  font-family: 'Instrument Sans SemiBold', 'Instrument Sans', sans-serif;
  color: var(--instabox-text, #0f1b2f);
}

/* Account tables (orders, downloads, etc.) */
body.woocommerce-account table.shop_table {
  border: 1px solid var(--instabox-border, #e1e6f4);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  border-collapse: collapse;
}

body.woocommerce-account table.shop_table thead {
  background: transparent;
}

body.woocommerce-account table.shop_table th {
  font-family: 'Instrument Sans Medium', 'Instrument Sans', sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 12px;
  color: var(--instabox-muted, #6b7280);
}

body.woocommerce-account table.shop_table td,
body.woocommerce-account table.shop_table th {
  border-color: var(--instabox-border, #e7ecfa);
  border-width: 0 0 1px 0;
  padding: 16px 20px;
}

body.woocommerce-account table.shop_table tr:last-child td {
  border-bottom: 0;
}

body.woocommerce-account table.shop_table td:last-child,
body.woocommerce-account table.shop_table th:last-child {
  padding-right: 28px;
  text-align: right;
}

body.woocommerce-account table.shop_table td:last-child {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

body.woocommerce-account a.button,
body.woocommerce-account button,
body.woocommerce-account input[type="submit"],
body.woocommerce-account .woocommerce-button {
  border-radius: 14px;
  border: 1px solid var(--instabox-primary, #419af7);
  background: var(--instabox-primary, #419af7);
  color: #fff;
  font-family: 'Instrument Sans SemiBold', 'Instrument Sans', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 14px 24px;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

body.woocommerce-account a.button:hover,
body.woocommerce-account button:hover,
body.woocommerce-account input[type="submit"]:hover,
body.woocommerce-account .woocommerce-button:hover,
body.woocommerce-account a.button:focus,
body.woocommerce-account button:focus,
body.woocommerce-account input[type="submit"]:focus,
body.woocommerce-account .woocommerce-button:focus {
  background: var(--instabox-primary-hover, #68b2ff);
  border-color: var(--instabox-primary-hover, #68b2ff);
  color: #fff;
}
/* Responsive account table wrapper */
.dnr-account-table-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.dnr-account-table-wrapper::-webkit-scrollbar {
  height: 6px;
}

.dnr-account-table-wrapper::-webkit-scrollbar-thumb {
  background: rgba(15, 27, 47, 0.2);
  border-radius: 999px;
}

/* Mobile/tablet order cards */
@media (max-width: 768px) {
  .dnr-account-table-wrapper {
    margin: 0;
    padding: 0;
  }

  body.woocommerce-account table.shop_table,
  .woocommerce table.shop_table_responsive,
  .woocommerce-page table.shop_table_responsive {
    min-width: 100%;
    border: none;
    background: transparent;
  }

  body.woocommerce-account table.shop_table thead,
  .woocommerce table.shop_table_responsive thead,
  .woocommerce-page table.shop_table_responsive thead {
    display: none;
  }

  body.woocommerce-account table.shop_table tbody tr,
  .woocommerce table.shop_table_responsive tr,
  .woocommerce-page table.shop_table_responsive tr {
    display: flex;
    flex-direction: column;
    gap: 10px;
    border: 1px solid rgba(15, 27, 47, 0.1);
    border-radius: 22px;
    padding: 20px;
    margin-bottom: 18px;
    background: #fff;
  }

  body.woocommerce-account table.shop_table td,
  body.woocommerce-account table.shop_table th,
  .woocommerce table.shop_table_responsive td,
  .woocommerce table.shop_table_responsive th,
  .woocommerce-page table.shop_table_responsive td,
  .woocommerce-page table.shop_table_responsive th {
    padding: 0;
    border: none;
    font-size: 14px;
  }

  body.woocommerce-account table.shop_table td,
  .woocommerce table.shop_table_responsive td,
  .woocommerce-page table.shop_table_responsive td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    width: 100%;
    color: var(--instabox-text, #0f1b2f);
  }

  body.woocommerce-account table.shop_table td::before,
  .woocommerce table.shop_table_responsive td::before,
  .woocommerce-page table.shop_table_responsive td::before {
    content: attr(data-title);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--instabox-muted, #6b7280);
  }

  body.woocommerce-account table.shop_table td:last-child,
  .woocommerce table.shop_table_responsive td:last-child,
  .woocommerce-page table.shop_table_responsive td:last-child {
    justify-content: flex-end;
  }

  body.woocommerce-account table.shop_table td .button,
  .woocommerce table.shop_table_responsive td .button,
  .woocommerce-page table.shop_table_responsive td .button {
    width: auto;
    justify-content: center;
    align-self: flex-start;
  }
}

/* Extra-small order cards */
@media (max-width: 540px) {
  body.woocommerce-account table.shop_table tbody tr,
  .woocommerce table.shop_table_responsive tr,
  .woocommerce-page table.shop_table_responsive tr {
    padding: 16px;
    gap: 12px;
  }

  body.woocommerce-account table.shop_table td,
  .woocommerce table.shop_table_responsive td,
  .woocommerce-page table.shop_table_responsive td {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  body.woocommerce-account table.shop_table td::before,
  .woocommerce table.shop_table_responsive td::before,
  .woocommerce-page table.shop_table_responsive td::before {
    font-size: 11px;
    letter-spacing: 0.1em;
  }

  body.woocommerce-account table.shop_table td:last-child,
  .woocommerce table.shop_table_responsive td:last-child,
  .woocommerce-page table.shop_table_responsive td:last-child {
    width: 100%;
  }
}

/* Account forms */
body.woocommerce-account form .input-text,
body.woocommerce-account form select,
body.woocommerce-account form textarea {
  border-radius: 14px;
  border: 1px solid var(--instabox-border, #e1e6f4);
  padding: 12px 14px;
  font-family: 'Instrument Sans Regular', 'Instrument Sans', sans-serif;
  color: var(--instabox-text, #0f1b2f);
  width: 100%;
  box-sizing: border-box;
}

body.woocommerce-account form label {
  font-family: 'Instrument Sans Medium', 'Instrument Sans', sans-serif;
  color: var(--instabox-text, #0f1b2f);
  margin-bottom: 6px;
}

/* Account alerts */
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-error,
body.woocommerce-account .woocommerce-info {
  border-radius: 16px;
  border: 1px solid var(--instabox-border, #e1e6f4);
  font-family: 'Instrument Sans Regular', 'Instrument Sans', sans-serif;
}

@media (max-width: 1024px) {
  body.woocommerce-account .woocommerce {
    display: flex;
        flex-direction: column;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation {
    position: static;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    flex-direction: row;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation li {
    flex: 0 0 auto;
  }
}

@media (max-width: 640px) {
  .dnr-account-hero {
    padding: 24px;
    border-radius: 24px;
  }

  .dnr-account-hero__title {
    font-size: 26px;
  }

  body.woocommerce-account .woocommerce-MyAccount-content {
    padding: 24px;
    border-radius: 24px;
  }
}

@media (max-width: 767px) {
  .dnr-card,
  body.woocommerce-checkout:not(.woocommerce-order-received) #payment,
  .check-out-design-page {
    padding: 20px;
  }

  .dnr-card-title {
    font-size: 22px;
  }

  .dnr-order-product {
    font-size: 16px;
  }
}


/* Checkout layout + order card overrides (Jan 2026) */
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
  width: 100%;
  display: block;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details {
  width: 100%;
  max-width: none;
  margin: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details.dnr-checkout-columns {
  display: flex;
      flex-direction: column;
  /*grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));*/
  gap: 1rem;
}

.dnr-checkout-column {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.dnr-checkout-column .dnr-payment-card {
  margin-top: 8px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review {
  width: 100%;
  max-width: none;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 0;
  background: transparent;
  border: 0;
}

.woocommerce-checkout:not(.woocommerce-order-received) .dnr-checkout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 640px);
  gap: clamp(32px, 4vw, 80px);
  align-items: flex-start;
  width: 100%;
}

.woocommerce-checkout:not(.woocommerce-order-received) .dnr-checkout-main {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.woocommerce-checkout:not(.woocommerce-order-received) .dnr-checkout-sidebar {
  position: static;
  top: auto;
  align-self: flex-start;
  width: 100%;
}

.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading {
  display: none;
}

.dnr-card,
.woocommerce-checkout:not(.woocommerce-order-received) #payment {
  background: #ffffff;
  border: 1px solid #E4E7EC;
  border-radius: 28px;
  padding: 32px;
}

.woocommerce-checkout:not(.woocommerce-order-received) #payment {
  width: 100% !important;
  margin-bottom: 0;
}

.woocommerce-checkout:not(.woocommerce-order-received) #payment .form-row.place-order,
.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-privacy-policy-text {
  display: none !important;
}

.woocommerce-checkout:not(.woocommerce-order-received) table.shop_table.woocommerce-checkout-review-order-table {
  position: absolute !important;
  left: -10000px;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px);
}

.check-out-design-page {
  background: #EDF6FF;
  border-radius: 32px;
  padding: 32px;
  /* box-shadow: 0 25px 60px rgba(13, 48, 94, 0.15);*/
  color: #0F172A;
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: static;
  top: auto;
  width: 100%;
  border: 1px solid #C3DAF5;

}

.check-out-design-page .order-heading-details {
  font-family: 'IvyPresto Headline';
  font-size: 34px;
  line-height: 44px;
  color: #0F172A;
  margin: 0;
}
.order-card-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.order-card-eyebrow {
  font-family: 'Instrument Sans bold';
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #5B6F96;
  margin: 0;
}

.order-card-blurb {
  margin: 0;
  font-size: 16px;
  color: #516182;
}


.check-out-design-page table.show_details_against_order_checkout {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 20px;
}

.check-out-design-page table.show_details_against_order_checkout tr {
  border-bottom: 1px solid rgba(15, 23, 42, 0.1);
}

.check-out-design-page table.show_details_against_order_checkout td {
  padding: 6px 0 14px;
}

.check-out-design-page .heading-label-td {
  font-family: 'Instrument Sans bold' !important;
  font-size: 13px !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #5B6F96;
}

.check-out-design-page .text-data-td {
  font-family: 'Instrument Sans Medium' !important;
  font-size: 18px !important;
  color: #0F172A;
}

.check-out-design-page .text-data-td a {
  color: #0F4F93;
  text-decoration: underline;
}

.check-out-design-page img {
  width: 100%;
  max-width: 260px;
  border-radius: 24px;
  background: #FFFFFF;
  padding: 16px;
}
.dnr-order-items {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.dnr-order-item {
  display: flex;
  gap: 20px;
  background: #ffffff;
  border-radius: 28px;
  border: 1px solid rgba(65, 154, 247, 0.35);
  padding: 24px;
}

.dnr-order-media {
  flex: 0 0 150px;
  border-radius: 24px;  
  display: flex;
  align-items: center;
  justify-content: center;
}

.dnr-order-media img {
  max-width: 150px;
  width: 100%;
  height: auto;
}

.dnr-order-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.dnr-order-item-head {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.dnr-order-product {
  font-family: 'IvyPresto Headline';
  font-size: 18px;
  margin: 0;
}

.dnr-order-specs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px 16px;
}

.dnr-spec-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.dnr-order-specs dt {
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #5B6F96;
  font-family: 'Instrument Sans bold';
}

.dnr-order-specs dd {
  margin: 0;
  font-size: 14px;
  font-family: 'Instrument Sans Medium';
  color: #0F172A;
}

.dnr-order-specs a {
  color: #1C66C7;
  text-decoration: underline;
  font-weight: 600;
}

.dnr-order-price {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  border-top: 1px solid rgba(15, 23, 42, 0.15);
  padding-top: 12px;
}

.dnr-price-label {
  margin: 0;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #5B6F96;
}

.dnr-price-value {
  margin: 2px 0 0;
  font-size: 17px;
  font-family: 'Instrument Sans bold';
  color: #0F172A;
}

.check-out-design-page .overall-shipping-check-out,
.check-out-design-page .overall-total-check-out {
  color: #0F172A;
  border: 0;
}

.check-out-design-page .overall-shipping-check-out h3,
.check-out-design-page .overall-total-check-out h3 {
  margin: 0;
  color: #5B6F96;
}

.check-out-design-page .overall-shipping-check-out {
  border-top: 1px solid rgba(15, 23, 42, 0.15);
  padding-top: 12px;
}

.check-out-design-page .overall-shipping-check-out span,
.check-out-design-page .overall-total-check-out span {
  font-size: 17px !important;
  font-family: 'Instrument Sans bold' !important;
  color: #0F172A;
}

.check-out-design-page .overall-shipping-check-out h3,
.check-out-design-page .overall-total-check-out h3 {
  font-size: 14px !important;
}

.check-out-design-page .overall-total-check-out {
  padding-top: 8px;
  margin: 12px 0 0 !important;
  border-top: 1px solid rgba(15, 23, 42, 0.15);
}

/* Applied coupon rows, mirrored from #order_review (see form-checkout.php).
   Label and its Remove link share the first line; the amount sits below,
   like the other summary rows, without the 16px the base row rules add. */
.check-out-design-page .dnr-discount-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 10px;
}

.check-out-design-page .dnr-discount-row h3 {
  flex: 0 1 auto;
  margin: 0 !important;
}

.check-out-design-page .dnr-discount-row .dnr-discount-remove {
  margin: 0 !important;
  font-size: 13px !important;
  font-family: inherit !important;
  line-height: 1;
  color: #5B6F96;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.check-out-design-page .dnr-discount-row .dnr-discount-remove:hover,
.check-out-design-page .dnr-discount-row .dnr-discount-remove:focus-visible {
  color: #0F172A;
}

.check-out-design-page .dnr-discount-row .dnr-price-value {
  flex: 1 1 100%;
  margin: 4px 0 0 !important;
  color: #15803D;
}

.check-out-design-page .new_placeorder_button {
  margin: 0 !important;
}

.check-out-design-page .new_placeorder_button #place_order {
  width: 100% !important;
  margin: clamp(24px, 4vw, 40px) 0 0 !important;
  background: var(--instabox-primary) !important;
  border: 1px solid var(--instabox-primary) !important;
}
.dnr-card-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 20px;
}

.dnr-card-eyebrow {
  font-family: 'Instrument Sans bold';
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #5B6F96;
  margin: 0;
}

.dnr-card-title {
  font-family: 'IvyPresto Headline';
  font-size: 24px;
  line-height: 1.3;
  color: #0F172A;
  margin: 0;
}

.dnr-card-subline {
  font-size: 16px;
  color: #5B6F96;
  margin: 0;
}

.dnr-card-body {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.dnr-shipping-card .woocommerce-shipping-methods {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.dnr-shipping-card .woocommerce-shipping-methods li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid #C3DAF5;
  border-radius: 20px;
  padding: 16px 20px;
  background: #F5F9FF;
  font-family: 'Instrument Sans Medium';
  color: #0F172A;
}

.dnr-shipping-card .woocommerce-shipping-methods li.dnr-shipping-selected {
  border-color: #1C66C7;
  box-shadow: 0 0 0 2px rgba(28, 102, 199, 0.12);
  background: #EAF2FF;
}

.dnr-shipping-card .woocommerce-shipping-methods li label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex: 1;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
}

.dnr-shipping-card .woocommerce-shipping-methods li .woocommerce-Price-amount {
  margin-left: auto;
  font-size: 18px;
  font-family: 'Instrument Sans bold';
}

.dnr-shipping-card input[type="radio"] {
  width: 18px;
  height: 18px;
  accent-color: #1C66C7;
}

.dnr-shipping-card .woocommerce-shipping-destination,
.dnr-shipping-card .woocommerce-shipping-calculator {
  font-size: 14px;
  color: #5B6F96;
}

.dnr-shipping-placeholder {
  font-size: 16px;
  color: #5B6F96;
  margin: 0;
}

.woocommerce-checkout:not(.woocommerce-order-received) .new_placeorder_button #place_order {
  width: 100% !important;
  margin: 0 !important;
  font-family: 'Instrument Sans Medium';
}


@media (max-width: 1023px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-title {
    font-size: 30px !important;
    line-height: 44px !important;
    margin: 0 0 25px;
  }

  .woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
    display: block !important;
  }

  .check-out-design-page {
    position: static;
    top: auto;
    margin-bottom: 24px;
  }

  .woocommerce-checkout:not(.woocommerce-order-received) #order_review {
    gap: 16px;
  }

  .woocommerce-checkout:not(.woocommerce-order-received) #payment {
    padding: 24px;
  }
}

/* =========================================================
   Design page – sidebar layout
   ========================================================= */

.dnr-design-body {
  display: flex;
  align-items: flex-start;
  padding: 16px;
  gap: 16px;
}

/* Sidebar card — light blue-gray background, rounded */
.dnr-sidebar {
  width: 300px;
  flex-shrink: 0;
  position: sticky;
  top: 16px;
  background: #EEF1F8;
  border-radius: 16px;
  overflow: hidden;
  max-height: calc(100vh - 32px);
  display: flex;
  flex-direction: column;
  transition: width 0.2s ease;
  z-index: 10;
}

.dnr-sidebar--collapsed {
  width: 56px;
  overflow: visible;
}

.dnr-sidebar--collapsed .dnr-sidebar__inner {
  display: none;
}

/* Collapsed icon column */
.dnr-sidebar__collapsed-nav {
  display: none;
  flex-direction: column;
  align-items: center;
  padding: 8px 0 16px;
  gap: 4px;
}

.dnr-sidebar--collapsed .dnr-sidebar__collapsed-nav {
  display: flex;
}

.dnr-sidebar__collapsed-icon {
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  color: #344054 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

.dnr-sidebar__collapsed-icon:hover {
  background: rgba(0,0,0,0.07) !important;
  color: #000 !important;
}

/* Tooltip for collapsed sidebar icons */
.dnr-sidebar__collapsed-icon[data-tooltip] {
  position: relative !important;
}

.dnr-sidebar__collapsed-icon[data-tooltip]::after {
  content: attr(data-tooltip);
  position: absolute;
  left: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%);
  background: #1a1a2e;
  color: #fff;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s ease;
  z-index: 200;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
}

.dnr-sidebar--collapsed .dnr-sidebar__collapsed-icon[data-tooltip]:hover::after {
  opacity: 1;
}

/* Toggle button wrap — top right */
.dnr-sidebar__toggle-wrap {
  display: flex;
  justify-content: flex-end;
  padding: 14px 14px 0;
  flex-shrink: 0;
}

.dnr-sidebar--collapsed .dnr-sidebar__toggle-wrap {
  justify-content: center;
  padding: 14px 0 0;
}

/* Toggle button — reset ALL global styles, then apply ours */
.dnr-sidebar__toggle {
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  background: #fff !important;
  border: none !important;
  padding: 6px !important;
  margin: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  color: #000 !important;
  border-radius: 8px !important;
  opacity: 0.85;
}

.dnr-sidebar__toggle:hover {
  opacity: 1 !important;
  background: #f2f4f7 !important;
}

/* Inner scrollable content */
.dnr-sidebar__inner {
  overflow-y: auto;
  padding: 14px 14px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Section group */
.dnr-sidebar__group-label {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #000 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 8px !important;
  display: block !important;
  font-family: inherit !important;
}

.dnr-sidebar__group-label--icon {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* Project name input — reset then style */
.dnr-sidebar__project-input {
  all: unset !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
  color: #101828 !important;
  background: #fff !important;
  border-radius: 8px !important;
  font-family: inherit !important;
  cursor: text !important;
}

.dnr-sidebar__project-input::placeholder {
  color: #adb5bd !important;
}

/* Specs header row */
.dnr-sidebar__specs-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

/* "Edit Specs" button — looks like a link */
.dnr-sidebar__edit-specs {
  all: unset !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #419af7 !important;
  cursor: pointer !important;
  font-family: inherit !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.dnr-sidebar__edit-specs:hover {
  text-decoration: underline !important;
}

/* Specs white card */
.dnr-sidebar__specs-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}

.dnr-sidebar__spec-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  border-bottom: 1px solid #F0F2F5;
}

.dnr-sidebar__spec-row:last-child {
  border-bottom: none;
}

.dnr-sidebar__spec-label {
  font-size: 12px;
  font-weight: 500;
  color: #344054;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-family: inherit;
}

.dnr-sidebar__spec-val {
  font-size: 12px;
  font-weight: 600;
  color: #101828;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  text-align: right;
  font-family: inherit;
}

/* Saved designs white card */
.dnr-sidebar__designs-card {
  background: transparent;
  border-radius: 10px;
  overflow: visible;
}

.dnr-sidebar__loading {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px;
  font-size: 13px;
  color: #667085;
}

.dnr-sidebar__spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid #d0d5dd;
  border-top-color: #419af7;
  border-radius: 50%;
  animation: dnr-spin 0.7s linear infinite;
  flex-shrink: 0;
}

@keyframes dnr-spin {
  to { transform: rotate(360deg); }
}

.dnr-sidebar__empty {
  padding: 14px;
  font-size: 13px;
  color: #667085;
  margin: 0;
  font-family: inherit;
}

/* Not logged in — full-width gradient blue button */
.dnr-sidebar__login-btn {
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 16px !important;
  background: linear-gradient(90deg, #3E90E8 0%, #70B1F7 100%) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
  font-family: inherit !important;
  border-radius: 10px !important;
  line-height: 1.4 !important;
}

.dnr-sidebar__login-btn:hover {
  background: linear-gradient(90deg, #2f7fd4 0%, #5a9fe6 100%) !important;
}

.dnr-sidebar__login-arrow {
  font-size: 22px;
  font-weight: 300;
  line-height: 1;
  flex-shrink: 0;
  margin-left: 10px;
  color: #fff;
}

/* Design cards inside the white card */
.dnr-sidebar__card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  margin: 6px;
  cursor: pointer;
  border-radius: 10px;
  background: #E3E6EC;
  transition: filter 0.1s;
}

.dnr-sidebar__card:hover {
  filter: brightness(0.95);
}

.dnr-sidebar__card--active {
  background: #6B96E8;
  color: #fff;
}

.dnr-sidebar__card-thumb {
  width: 52px;
  height: 52px;
  object-fit: cover;
  border-radius: 8px;
  border: 2px solid rgba(255, 255, 255, 0.7);
  flex-shrink: 0;
  background: #f2f4f7;
}

.dnr-sidebar__card-body {
  flex: 1;
  min-width: 0;
}

.dnr-sidebar__card-name {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: inherit !important;
  margin: 0 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  line-height: 1.3 !important;
  font-family: inherit !important;
}

.dnr-sidebar__card-arrow {
  font-size: 22px;
  line-height: 1;
  opacity: 0.6;
  flex-shrink: 0;
  color: inherit;
  font-weight: 300;
}

/* Start new design button */
.dnr-sidebar__new-design-btn {
  all: unset !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-top: 10px !important;
  padding: 10px 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #344054 !important;
  text-align: center !important;
  cursor: pointer !important;
  background: transparent !important;
  border: none !important;
  font-family: inherit !important;
  opacity: 0.75;
}

.dnr-sidebar__new-design-btn:hover {
  opacity: 1 !important;
  color: #101828 !important;
}

/* Add to Cart button */
.dnr-sidebar__add-to-cart {
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 12px !important;
  background: linear-gradient(90deg, #3E90E8 0%, #70B1F7 100%) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  font-family: inherit !important;
  letter-spacing: 0.02em !important;
}

.dnr-sidebar__add-to-cart:hover {
  background: linear-gradient(90deg, #2f7fd4 0%, #5a9fe6 100%) !important;
}

/* Cart section — no top border */
.dnr-sidebar__group--cart {
  border-top: none;
  padding-top: 0;
}

/* Main area */
.dnr-design-main {
  flex: 1;
  min-width: 0;
}

/* Hide sidebar on mobile */
@media (max-width: 1023px) {
  .dnr-sidebar { display: none; }
  .dnr-design-body { padding: 0; }
}

/* ============================================================================
   Option A — compress the "Customize & Check Prices" panel
   ----------------------------------------------------------------------------
   The panel ran ~1320px at the real column width. Not because any one field
   was large, but because every block was its own rounded card with its own
   padding, the three dimensions were cards inside a card, and the action card
   spent 38px of gap under a 32px serif headline.

   CSS rather than markup: the same panel renders twice, on the product page
   and in the configurator modal, from two files that nothing reconciles.

   SPECIFICITY MATTERS HERE and a first attempt got it wrong. The originals are
   scoped with ids (#configurator_action_button, #measurment-one-config) or
   with an element on the end (.boxconfig__controls h2), so class-only
   overrides silently lost and the page looked untouched. Every selector below
   matches or exceeds the rule it is replacing.

   Tooltips are unaffected: .interior-dimension h3 and .instabox-addon-label
   keep their classes and their ::after info icon at the right edge of their
   own column, which is where the right-40px hit zone looks for it.
   ========================================================================== */

.instabox-shortcode .boxconfig__controls {
  padding: 1.25rem 1.5rem;
  gap: 0.85rem;
}

/* Beats `.boxconfig__controls h2` (0,2,1) with (0,3,1). */
.instabox-shortcode .boxconfig__controls .design-insta-logo {
  text-align: left;
}

.instabox-shortcode .boxconfig__controls .design-insta-logo h2 {
  font-size: 22px;
  margin-bottom: 2px;
  padding-top: 0;
}

.instabox-shortcode .boxconfig__controls .design-insta-logo p {
  font-size: 13px;
  margin: 0;
  max-width: none;
}

/* ── Size and options become one card with a divider, not two ── */

.instabox-shortcode :is(#measurements-section, #modal-measurements-section) {
  border: 1px solid #E5EBF7 !important;
  border-radius: 14px;
  overflow: hidden;
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex.interior-dimension {
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 10px;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 14px 16px;
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .interior-dimension h3 {
  font-size: 11px;
  gap: 8px;
}

/* Each dimension was a white card inside the tinted group. Now it is a field. */
.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex > div {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  flex-basis: 100px;
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex__inner label {
  font-size: 10px;
  letter-spacing: 0.05em;
  gap: 4px;
  padding-bottom: 5px !important;
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex__inner label::after {
  width: 12px;
  height: 12px;
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex__inner input {
  font-size: 19px;
  padding: 8px 10px;
  border-radius: 9px;
}

.instabox-shortcode .instabox-addon-wrapper {
  margin-top: 0;
  padding: 14px 16px;
  border-top: 1px solid #E5EBF7;
}

.instabox-shortcode .instabox-addon-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
}

.instabox-shortcode .instabox-addon {
  gap: 5px;
}

.instabox-shortcode .instabox-addon-label,
.instabox-shortcode .quantity_label {
  font-size: 10px;
  letter-spacing: 0.06em;
}

.instabox-shortcode .instabox-addon-label::after {
  width: 15px;
  height: 15px;
}

.instabox-shortcode .instabox-addon-input,
.instabox-shortcode .Quantity_Div input {
  padding: 10px 12px;
  font-size: 14px;
  border-radius: 9px;
}

/* ── Quantity, shipping and the total ── */

.instabox-shortcode #col-custom-prices > .quantity_amount:not(.instabox-addon-wrapper) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
  align-items: end;
}

.instabox-shortcode #col-custom-prices > .quantity_amount:not(.instabox-addon-wrapper) > .Total_div.row {
  grid-column: 1 / -1;
  gap: 0;
}

.instabox-shortcode .Quantity_Div {
  gap: 5px;
}

.instabox-shortcode .Total_div.row h3 {
  display: none;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) {
  padding: 12px 16px;
  border-radius: 12px;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) table {
  display: block;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) tbody {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 16px;
  width: 100%;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) tr {
  display: flex;
  align-items: baseline;
  gap: 6px;
  border: 0;
  padding: 0;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) :is(th, td) {
  border: 0;
  padding: 0;
  font-size: 11px;
  font-weight: 600;
  text-align: left;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) .instabox-total-row--grand {
  margin-left: auto;
  gap: 8px;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) .instabox-total-row--grand td {
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
}

.instabox-shortcode .note_about_pricing {
  margin: 6px 0 0;
  font-size: 11px;
  text-align: left;
}

/* ── Action card: a 32px serif headline over 38px of gap, then two full-size
      buttons stacked with a rule between them. All id-scoped, so these are
      too. ── */

.instabox-shortcode #configurator_action_button {
  padding: 16px 18px;
  gap: 10px;
}

.instabox-shortcode #configurator_action_button .instabox-action-card__header {
  gap: 12px;
}

.instabox-shortcode #configurator_action_button .instabox-action-card__headline {
  font-family: 'Instrument Sans', sans-serif;
  font-size: 17px;
  line-height: 1.3;
}

.instabox-shortcode #configurator_action_button .instabox-action-card__primary-btn {
  padding: 14px 24px;
  font-size: 14px;
  border-radius: 10px;
}

.instabox-shortcode #configurator_action_button .instabox-action-card__divider {
  display: none;
}

.instabox-shortcode #configurator_action_button #undertheactionbuttons {
  justify-content: center;
  gap: 8px;
}

.instabox-shortcode #configurator_action_button .instabox-action-card__footer-text {
  font-size: 13px;
}

/* The dieline route is a secondary path, not a second call to action. */
.instabox-shortcode #configurator_action_button .instabox-action-card__outline-btn {
  border: 0;
  border-radius: 0;
  padding: 0;
  min-width: 0;
  font-size: 13px;
  text-transform: none;
  letter-spacing: 0;
  text-decoration: underline;
  background: transparent;
}

.instabox-shortcode #configurator_action_button .instabox-action-card__outline-btn:hover {
  background: transparent;
  color: var(--instabox-primary-hover);
}

@media (max-width: 640px) {
  .instabox-shortcode .instabox-addon-grid,
  .instabox-shortcode #col-custom-prices > .quantity_amount:not(.instabox-addon-wrapper) {
    grid-template-columns: 1fr;
  }
}

/* --- Option A, corrections found by reading the served file ----------------
   Two rules above were written against selectors that do not match.

   1. .design-insta-logo is a SIBLING of .boxconfig__controls, not a
      descendant, so `.boxconfig__controls .design-insta-logo h2` matched
      nothing and the heading kept its clamp(28px, 4vw, 36px). Its real parent
      is .boxconfig.
   2. The option selects are styled by `.instabox-addon-field select` (0,2,1),
      which beats a class-only `.instabox-addon-input` (0,2,0). Matching the
      element selector is what makes the padding apply.

   Labels also drop to sentence case here, as in the approved mock: five
   uppercase letterspaced labels stacked down a panel all read as headings,
   which is how the old layout managed to make every field look equally
   important.                                                               */

.instabox-shortcode .boxconfig .design-insta-logo {
  text-align: left;
}

.instabox-shortcode .boxconfig .design-insta-logo h2 {
  font-size: 22px;
  margin-bottom: 2px;
  padding-top: 0;
}

.instabox-shortcode .boxconfig .design-insta-logo p {
  font-size: 13px;
  margin: 0;
  max-width: none;
}

.instabox-shortcode .instabox-addon-field select,
.instabox-shortcode .instabox-addon-field input {
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 9px;
}

/* Sentence case: a label should name a field, not announce a section. */
.instabox-shortcode .instabox-addon-label,
.instabox-shortcode .quantity_label,
.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex__inner label,
.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .interior-dimension h3 {
  text-transform: none;
  letter-spacing: 0.01em;
  font-size: 12px;
  font-weight: 600;
}

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .interior-dimension h3 {
  font-weight: 700;
  color: #5B6F96;
}

.instabox-shortcode .Quantity_Div input {
  font-size: 14px;
  padding: 10px 12px;
}

/* --- Option A: three equal dimension columns -------------------------------
   repeat(auto-fit, minmax(110px, 1fr)) reads as "as many 110px tracks as fit".
   In the mock that column was 640px wide and produced three. On the real page
   it is about 950px, so it lays out eight and the three inputs sit in the
   first three, leaving the right half of the card empty.

   There are always exactly three dimensions, so say three. The media query
   below is what handles narrow screens, rather than a track count that
   changes meaning with the width of the column.                            */

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex.interior-dimension {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 560px) {
  .instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex.interior-dimension {
    grid-template-columns: 1fr;
  }
}

/* --- Option A: the grouping the mock actually showed -----------------------
   Size, the options, quantity and shipping are ONE card, shipping sitting in
   it as a grey footer strip. The price is a bar of its own beneath. Quantity
   and shipping used to live in the second card with the total, which is why
   the containers never matched however the type was tuned.

   This needed the markup, not CSS: elements cannot be reparented with styles.
   Safe to do, because #modal-measurment-one-config appears in this stylesheet
   but in no PHP - the modal mirrors the live fields at runtime rather than
   holding a second copy, so there is one panel to change, not two.          */

.instabox-shortcode .instabox-size-hint {
  margin: 8px 0 0;
  font-size: 11px;
  color: var(--instabox-muted);
}

/* Quantity is now a cell in the options grid like any other field. */
.instabox-shortcode .instabox-addon-grid .Quantity_Div {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.instabox-shortcode .instabox-addon-grid .Quantity_Div input.newquantity {
  width: 100%;
  margin-left: 0;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 600;
  border: 1px solid #E1E6F4;
  border-radius: 9px;
  background: #fff;
}

/* Shipping: a statement at the foot of the card, not a field to fill in. */
.instabox-shortcode .instabox-shipping-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-top: 1px solid #E5EBF7;
  background: #F7F9FC;
}

.instabox-shortcode .instabox-shipping-strip .instabox-addon-label {
  margin: 0;
  display: flex;
  flex: 0 0 auto;
}

.instabox-shortcode .instabox-shipping-strip .instabox-addon-field {
  width: auto;
  flex: 1 1 auto;
}

.instabox-shortcode .instabox-shipping-strip .instabox-addon-field input {
  width: 100% !important;
  border: 0 !important;
  background: transparent;
  padding: 0;
  text-align: right;
  font-size: 13px;
  font-weight: 600;
  color: var(--instabox-text);
}

/* The second card now holds only the price. */
.instabox-shortcode #col-custom-prices > .quantity_amount:not(.instabox-addon-wrapper) {
  display: block;
  border: 0;
  padding: 0;
  background: transparent;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background: #F7F9FC;
  border: 1px solid #E5EBF7;
  padding: 14px 18px;
  border-radius: 14px;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) table {
  width: 100%;
}

/* The figure speaks for itself; the word TOTAL beside it does not. */
.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) .instabox-total-row--grand th {
  display: none;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) .instabox-total-row--grand td {
  font-size: 28px;
  color: #15803D;
}

.instabox-shortcode .note_about_pricing {
  width: 100%;
  margin: 2px 0 0;
  font-size: 11px;
  text-align: left;
  color: var(--instabox-muted);
}

/* --- Option A: three rules that were losing, found by extraction -----------
   Each of these was written earlier and beaten by an existing rule. Read out
   of the file rather than reasoned about, which is what should have happened
   the first time.

   1. The shipping strip stacked and centred because .instabox-addon sets
      flex-direction: column. Setting display: flex again does not undo a
      direction already declared.
   2. "Total price includes shipping and handling" stayed centred 18px down
      because its rule is scoped :is(#price_modal_calculations, …) — id
      specificity (1,2,0) against a class-only (0,2,0).
   3. The hairline above the total is a border-top on .instabox-total-row--grand
      from the same id-scoped block. It belonged to a three-row table; on one
      line it reads as a stray rule.

   Also: .quantity_amount carries border + background + 24px padding, and the
   options wrapper shares that class, so the card drew a second card inside
   itself.                                                                   */

.instabox-shortcode .instabox-addon.instabox-shipping-strip {
  flex-direction: row;
  width: 100%;
}

.instabox-shortcode .quantity_amount.instabox-addon-wrapper {
  border: 0;
  background: transparent;
  padding: 14px 16px;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) .note_about_pricing {
  margin: 4px 0 0;
  text-align: left;
  font-size: 11px;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) .instabox-total-row--grand {
  border-top: 0;
}

/* Material, Printed sides and Quantity fit one row; print finish is disabled,
   so a two-column grid left Quantity alone on a row of its own. */
.instabox-shortcode .instabox-addon-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 720px) {
  .instabox-shortcode .instabox-addon-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .instabox-shortcode .instabox-addon-grid {
    grid-template-columns: 1fr;
  }
}

/* --- Option A: divider, and the gap under the price figures ----------------
   `border: 0` on .quantity_amount.instabox-addon-wrapper removed the card's
   own inner border AND the border-top added earlier as the divider between
   the size section and the options. Put the divider back explicitly.

   The pricing note sat a long way below the figures because the table above
   it keeps its default margin; the 4px set on the note was never the gap
   being seen.                                                              */

.instabox-shortcode .quantity_amount.instabox-addon-wrapper {
  border-top: 1px solid #E5EBF7;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) table {
  margin: 0;
}

.instabox-shortcode :is(#price_modal_calculations, #modal-price_modal_calculations) tbody {
  margin: 0;
}

/* The dieline link is a sentence, not a shout. */
.instabox-shortcode #configurator_action_button .instabox-action-card__outline-btn {
  font-weight: 700;
}

/* --- Option A: heading gutter, matched card widths, exact price bar --------
   The heading sits in .boxconfig, OUTSIDE .boxconfig__controls, so the
   controls' padding never applied to it and it pressed against the container
   edge. It gets its own gutter, matched to the controls below it.

   The price card was wider than the other two because it was a Bootstrap
   .row holding .col-md-4 and .col-md-7: .row carries negative side margins
   and the columns carry percentage widths, so it hung outside the padding box
   its siblings respect. It is a plain block now, so all three cards share one
   width without anything needing to be told to line up.                     */

.instabox-shortcode .boxconfig .design-insta-logo {
  padding: 1.25rem 1.5rem 0;
}

/* One box for every card in the column. */
.instabox-shortcode #col-custom-prices > * {
  margin-left: 0;
  margin-right: 0;
  width: auto;
  max-width: none;
}

/* ── The price bar, as drawn in the mock ── */

.instabox-shortcode .Total_div {
  display: block;
}

.instabox-shortcode #price_modal_calculations.instabox-total-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  background: #F7F9FC;
  border: 1px solid #E5EBF7;
  border-radius: 14px;
  width: auto;
}

.instabox-shortcode .instabox-total-summary__figures {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.instabox-shortcode .instabox-total-line {
  margin: 0;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5B6F96;
}

.instabox-shortcode .instabox-total-summary .note_about_pricing {
  margin: 0;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  text-align: left;
  color: #94A3B8;
}

.instabox-shortcode .instabox-total-amount {
  flex: 0 0 auto;
  font-size: 30px;
  font-weight: 800;
  line-height: 1;
  color: #15803D;
  white-space: nowrap;
}

/* --- Dimension glyphs were being cropped, not scaled -----------------------
   The length/width/depth arrows are 20x20 SVGs set as background-image on
   .flex__inner label::after, which declares background-repeat and
   background-position but never background-size. Without it the image keeps
   its natural 20px and the box simply clips it: at the original 16px the
   arrowheads lost 2px a side, and shrinking the box to 12px cut them off
   outright. background-size: contain is what was missing all along.        */

.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .flex__inner label::after {
  width: 14px;
  height: 14px;
  background-size: contain;
}

/* One size for every info icon in the panel.
   The Size row's icon is declared separately from the field labels' - 20px on
   .interior-dimension h3::after against the 15px set on
   .instabox-addon-label::after - so compressing one left the other behind.
   Both are stated here together, which is the only way they stay equal. */

.instabox-shortcode .instabox-addon-label::after,
.instabox-shortcode :is(#measurment-one-config, #modal-measurment-one-config) .interior-dimension h3::after {
  width: 16px;
  height: 16px;
  background-size: contain;
}

/* --- [dnr_box_preview]: both panes from one height -------------------------
   The static image and the 3D container are sized from --dnr-preview-height,
   set once by dnr_box_preview_height(). They cannot disagree, so the toggle
   that sits over them cannot move when you switch.

   The !important on the container's height is deliberate and, I hope,
   temporary: a JS function in Elementor template #2398 still assigns
   style.height = "806px" at runtime, and an inline style beats a stylesheet.
   Remove that line from the template and this can come off.                 */

.dnr-box-preview {
  position: relative;
  width: 100%;
}

.dnr-box-preview .static_image,
.dnr-box-preview .TD {
  width: 100%;
  height: var(--dnr-preview-height);
  margin: 0;
}

/* The SDK owns this element's inline styles; it only has to fill its wrapper. */
.dnr-box-preview #configurator-container {
  width: 100%;
  height: 100%;
}

.dnr-box-preview .dnr-box-preview__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  box-shadow: none;
}

.dnr-box-preview .TD {
  border: 0;
}

/* Only the pane carrying active--pw shows; swithchTD() moves that class. */
.dnr-box-preview .static_image,
.dnr-box-preview .TD {
  display: none;
}

.dnr-box-preview .static_image.active--pw,
.dnr-box-preview .TD.active--pw {
  display: block !important;
}

.dnr-box-preview .TD.active--pw {
  display: flex !important;
}

@media only screen and (max-width: 768px) {
  .dnr-box-preview {
    --dnr-preview-height: 50vh;
  }
}

/* Keep the preview's contents inside the preview.
   The image was escaping its pane and drawing over the site header. The cause
   is not visible from the server - markup, custom property and rules all
   render correctly - so rather than guess at which inherited rule moves it,
   the wrapper is made a containing block that clips, and the image is pinned
   to normal flow. Whatever was displacing it, it cannot now leave the pane. */

.dnr-box-preview {
  overflow: hidden;
  isolation: isolate;
}

.dnr-box-preview .static_image {
  position: relative;
  overflow: hidden;
}

.dnr-box-preview .dnr-box-preview__image {
  position: relative;
  inset: auto;
  margin: 0;
  max-width: 100%;
  max-height: 100%;
  transform: none;
}

/* --- The SDK's iframe, and where the toggle sits --------------------------
   The configurator is created with iframeHeight: "auto", so the SDK sizes its
   own iframe. It mounts while .TD is display:none, measures nothing, and the
   iframe ends up a few pixels tall. What used to hide this was swithchTD()
   writing height:851px inline onto the container on every toggle - the fourth
   place that number was declared, and the reason removing it exposed this.

   Sizing the iframe here instead means it fills whatever the wrapper is,
   whenever it appears, without a number being restated. */

.dnr-box-preview #configurator-container > iframe,
.dnr-box-preview #configurator-container iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: 100%;
  border: 0;
  display: block;
}

.dnr-box-preview #configurator-container {
  align-items: stretch;
}

/* Sit the toggle nearer the top of the pane. */
.dnr-box-preview .threeDswitch {
  top: 16px;
  left: 16px;
}

/* --- The "added to cart" confirmation --------------------------------------
   Content only. Header, footer and page chrome come from the theme, which is
   why this is an ordinary page and not a rewrite: Elementor's Theme Builder
   resolves its templates against a real queried post, so on a virtual URL it
   had nothing to hang conditions on and the footer rendered as unstyled links
   with its icon fonts showing as empty blocks.                              */

.dnr-cart-added {
  max-width: 640px;
  margin: 0 auto;
  padding: 56px 24px 72px;
  text-align: center;
}

.dnr-cart-added__eyebrow {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #5B6F96;
}

.dnr-cart-added__title {
  margin: 0 0 12px;
  font-size: clamp(28px, 4vw, 38px);
  font-weight: 800;
  letter-spacing: -0.01em;
}

.dnr-cart-added__lede {
  margin: 0 auto 32px;
  max-width: 460px;
  font-size: 16px;
  color: #5B6F96;
}

.dnr-cart-added__render {
  display: block;
  width: 100%;
  max-width: 380px;
  height: auto;
  margin: 0 auto 36px;
}

.dnr-cart-added__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.dnr-cart-added__btn {
  flex: 1 1 220px;
  max-width: 280px;
  padding: 16px 24px;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 12px;
}

.dnr-cart-added__btn--primary {
  color: #fff;
  background: #419AF7;
  border: 2px solid #419AF7;
}

.dnr-cart-added__btn--secondary {
  color: #419AF7;
  background: #fff;
  border: 2px solid #419AF7;
}

.dnr-cart-added__cart-link {
  margin: 28px 0 0;
  font-size: 14px;
}

.dnr-cart-added__cart-link a {
  color: #5B6F96;
}
