/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* Daisy overrides */

/*
 "join-strict" class that joins all its first level children.
 It only works with direct children so "join-item" is no longer necessary.
 It does nothing to margins or padding and you need to specify "flex-row" or "flex-column" manually.

 Logic:

 first and not last: remove bottom border radius
 not first and last: remove top border radius
 not first and not last: remove all border radiuses

 not first: remove top or left border depending on orientation
*/


/*vertical*/
.join-strict.join-vertical > :first-child:not(:last-child) {
	border-end-start-radius: 0;
	border-end-end-radius: 0;
}

.join-strict.join-vertical > :not(:first-child):last-child {
	border-start-start-radius: 0;
	border-start-end-radius: 0;
}

.join-strict.join-vertical > :not(:first-child):not(:last-child) {
	border-start-start-radius: 0;
	border-start-end-radius: 0;
	border-end-start-radius: 0;
	border-end-end-radius: 0;
}

.join-strict.join-vertical > :not(:first-child) {
	border-block-start: 0;
}

/*horizontal*/

.join-strict.join-horizontal > :first-child:not(:last-child) {
	border-start-end-radius: 0;
	border-end-end-radius: 0;
}

.join-strict.join-horizontal > :not(:first-child):last-child {
	border-start-start-radius: 0;
	border-end-start-radius: 0;
}

.join-strict.join-horizontal > :not(:first-child):not(:last-child) {
	border-start-start-radius: 0;
	border-start-end-radius: 0;
	border-end-start-radius: 0;
	border-end-end-radius: 0;
}

.join-strict.join-horizontal > :not(:first-child) {
	border-inline-start: 0;
}

/* Payment method accordion radio buttons */
.collapse input[type="radio"]:checked ~ .collapse-title .payment-radio {
	border-color: oklch(var(--n));
}

.collapse input[type="radio"]:checked ~ .collapse-title .payment-radio-dot {
	display: block;
}

.label {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.card-bordered > .overflow-x-auto > .table tbody tr:last-child {
  border-bottom: 0;
}

/* EveryLayout - Grid */

.l-grid {
  display: grid;
}

@supports (width: min(1rem, 100%)) {
  .l-grid-40 { grid-template-columns: repeat(auto-fit, minmax(min(10rem, 100%), 1fr)); }
  .l-grid-44 { grid-template-columns: repeat(auto-fit, minmax(min(11rem, 100%), 1fr)); }
  .l-grid-48 { grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr)); }
  .l-grid-52 { grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr)); }
  .l-grid-56 { grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr)); }
  .l-grid-60 { grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr)); }
  .l-grid-64 { grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr)); }
  .l-grid-72 { grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr)); }
  .l-grid-80 { grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr)); }
  .l-grid-96 { grid-template-columns: repeat(auto-fit, minmax(min(24rem, 100%), 1fr)); }
}

/* Custom components */

.form-controls { /* TW: .flex.flex-wrap.gap-4 */
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.form-control-full { flex: 1 1 clamp(28ch, 100%, 100%); }

.form-control-1\/3 { flex: 1 1 clamp(28ch, calc(33.3333% - 1rem), 100%); }
.form-control-2\/3 { flex: 1 1 clamp(28ch, calc(66.6666% - 0.5rem), 100%); }

.form-control-1\/4 { flex: 1 1 clamp(28ch, calc(25% - 1rem), 100%); }
.form-control-2\/4,
.form-control-1\/2 { flex: 1 1 clamp(28ch, calc(50% - 0.5rem), 100%); }
.form-control-3\/4 { flex: 1 1 clamp(28ch, calc(75% - 0.5rem), 100%); }

.input-checkout,
.select-checkout {
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
  background-color: var(--fallback-sc,oklch(var(--sc)/1));
  line-height: 1rem;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

.input-checkout:focus,
.select-checkout:focus {
  outline-offset: 1px;
  outline-color: var(--fallback-n,oklch(var(--n)/.8));
  z-index: 2;
}

.input-checkout.input-error,
.select-checkout.select-error {
  z-index: 1
}

.input-checkout.input-error:focus,
.select-checkout.select-error:focus {
  --tw-border-opacity: 1;
  border-color: var(--fallback-er, oklch(var(--er) / var(--tw-border-opacity)));
  outline-color: var(--fallback-er, oklch(var(--er) / 1));
  z-index: 2;
}

.join .join-item.join-item-rounded-es:first-child:not(:last-child),
.join :first-child:not(:last-child) .join-item.join-item-rounded-es {
  border-start-start-radius: 0;
  border-start-end-radius: 0;
  border-end-start-radius: inherit;
  border-end-end-radius: 0;
}

.join .join-item.join-item-rounded-ee:last-child:not(:first-child),
.join :last-child:not(:first-child) .join-item.join-item-rounded-ee {
  border-start-start-radius: 0;
  border-start-end-radius: 0;
  border-end-start-radius: 0;
  border-end-end-radius: inherit;
}

.join .join-item.join-item-rounded-none.join-item-rounded-none.join-item-rounded-none {
  border-start-start-radius: 0;
  border-start-end-radius: 0;
  border-end-start-radius: 0;
  border-end-end-radius: 0;
}

/* Tooltip */
.tooltip {
  position: absolute;
  z-index: 50;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 0.25rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: white;
  background-color: var(--fallback-bc, oklch(var(--bc) / 1));
  border-radius: 0.25rem;
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  pointer-events: none;
  white-space: nowrap;
}

/* Landing page fonts (Fontshare) */
@import url('https://api.fontshare.com/v2/css?f[]=clash-display@400,500,600,700&f[]=satoshi@400,500,700&display=swap');
