/* =============================================================
   main.css — project-level shared components.

   Loaded last of the theme stylesheets (see frontend/layouts/links.blade.php),
   and BEFORE @stack('styles'), so any page-scoped <style> block still wins.
   Put styles here when more than one page needs them.
   ============================================================= */


/* -------------------------------------------------------------
   Buttons — one shared pair used by cart, checkout, the account
   pages and the order-success page.
   `.btn-cart-primary` is inline-flex by default; add Bootstrap's
   `w-100` (or a page-scoped override) when a full-width block is
   wanted, as the cart page does.
   ------------------------------------------------------------- */
.btn-cart-primary {
    background: #e31c93;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 12px 18px;
    font-size: 15px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    text-decoration: none;
    transition: background .2s ease;
    cursor: pointer;
}

.btn-cart-primary:hover,
.btn-cart-primary:focus {
    background: #c6157a;
    color: #fff;
}

.btn-cart-primary:disabled,
.btn-cart-primary.disabled {
    opacity: .6;
    cursor: not-allowed;
}

.btn-cart-ghost {
    background: #fff;
    color: #e31c93;
    border: 1px solid #e31c93;
    border-radius: 8px;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background .2s ease, color .2s ease;
    cursor: pointer;
}

.btn-cart-ghost:hover,
.btn-cart-ghost:focus {
    background: #e31c93;
    color: #fff;
}


/* -------------------------------------------------------------
   Placeholder caret safety net.

   The caret must blink BEFORE the placeholder's first word. A placeholder
   that is floated or absolutely positioned leaves normal flow, which pushes
   the empty-value caret to the end of the dummy text and makes it read as
   real, already-typed input. style.css sets the correct base rule; this
   re-asserts it after every other stylesheet in case a vendor sheet
   reintroduces a float.
   ------------------------------------------------------------- */
input::placeholder,
textarea::placeholder {
    float: none;
    text-align: left;
}
