/* ============================================================
   GLOBAL RESET & BODY
============================================================ */
html, body {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    font-family: "Poppins", sans-serif !important;
    color: #1d1d1d !important;
    background: #fff !important;
    -webkit-font-smoothing: antialiased !important;
}

/* Remove scrollbars and forced widths */
* {
    box-sizing: border-box !important;
    max-width: 100% !important;
}

/* ============================================================
   DREAMFI HEADER (ORIGINAL STRUCTURE)
============================================================ */

/* Main header only pushes content down */
.site-head {
    line-height: 1.15 !important;
    -webkit-text-size-adjust: 100% !important;
    font-size: 1.6rem !important;
    color: #1d1d1d !important;
    font-family: "Poppins", sans-serif !important;
    -webkit-font-smoothing: antialiased !important;
    display: block !important;
    padding-top: 9rem !important;      /* space reserved for fixed top bar */
    background: #fff !important;
}

/* Fixed top bar (logo + nav) */
.site-head__top-bar {
    line-height: 1.15 !important;
    -webkit-text-size-adjust: 100% !important;
    font-size: 1.6rem !important;
    color: #1d1d1d !important;
    font-family: "Poppins", sans-serif !important;
    -webkit-font-smoothing: antialiased !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1000 !important;
    background: #fff !important;
    height: 9rem !important;
}

/* Centered row inside top bar */
.site-head__top-bar .row {
    line-height: 1.15 !important;
    -webkit-text-size-adjust: 100% !important;
    font-size: 1.6rem !important;
    color: #1d1d1d !important;
    font-family: "Poppins", sans-serif !important;
    -webkit-font-smoothing: antialiased !important;
    box-sizing: border-box !important;
    position: relative !important;
    clear: both !important;
    margin: 0 auto !important;
    max-width: 140rem !important;
    padding: 0 5vw !important;
}

/* Title (logo) aligned to the left */
.site-head__title {
    line-height: 1.15 !important;
    -webkit-text-size-adjust: 100% !important;
    color: #1d1d1d !important;
    -webkit-font-smoothing: antialiased !important;
    font-size: 1em !important;
    margin: 0 !important;
    padding: 1.5rem 0 0 0 !important;      /* move logo slightly down */
    font-family: "Poppins", sans-serif !important;
    font-weight: normal !important;
    float: left !important;
}

/* DreamFi logo */
.site-head__title a {
    display: block !important;
    background-image: url('https://dreamfi.nationalrelieftelecom.com/wp-content/uploads/2024/11/Recurso-3@0.5x.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    width: 200px !important;
    height: 50px !important;
    text-indent: -9999px !important;  /* hide text */
}

/* NAV: on the right side inside top bar */
.site-head__top-bar nav {
    line-height: 1.15 !important;
    -webkit-text-size-adjust: 100% !important;
    font-size: 1.6rem !important;
    color: #1d1d1d !important;
    font-family: "Poppins", sans-serif !important;
    -webkit-font-smoothing: antialiased !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
    align-items: center !important;
    height: 9rem !important;
    margin: 0 0.5rem 0 0 !important;
}

/* Every item inside nav */
.site-head__item {
    line-height: 1.15 !important;
    -webkit-text-size-adjust: 100% !important;
    font-size: 1.6rem !important;
    color: #1d1d1d !important;
    font-family: "Poppins", sans-serif !important;
    -webkit-font-smoothing: antialiased !important;
    flex: 0 1 auto !important;
    height: 9rem !important;
    z-index: 1001 !important;
    display: flex !important;
    align-items: center !important;
}

/* Header links/buttons (base) */
.site-head__toggle {
    background-color: transparent !important;
    text-decoration: none !important;
    display: block !important;
    text-align: center !important;
    box-sizing: border-box !important;
    border-left: 1px solid transparent !important;
    border-right: 1px solid transparent !important;
    padding: 0 1.5rem !important;
    font-size: 1.2rem !important;
    line-height: 9rem !important;
    height: 100% !important;
    transition: background 0.2s, color 0.2s !important;
    color: #000 !important;
}

.site-head__toggle span {
    display: inline-block !important;
    vertical-align: middle !important;
}

.site-head__toggle:hover {
    color: #4B207A !important;
}

/* Bag icon */
.site-head__toggle--bag::before {
    content: "🛍️" !important;
    margin-right: 6px !important;
}

/* Always show the bag toggle */
.site-head__toggle--bag {
    display: block !important;
}

/* Hide the Menu toggle */
.site-head__toggle--menu {
    display: none !important;
}

/* Cart dropdown hidden by default (BeQuick controls visibility) */
.site-head__cart.nav-toggle {
    display: none !important;
}

/* ============================================================
   PHONES + BYOD ROW (PRIMARY NAV)
============================================================ */

.primary-nav {
    line-height: 1.15 !important;
    -webkit-text-size-adjust: 100% !important;
    font-size: 1.6rem !important;
    color: #1d1d1d !important;
    font-family: "Poppins", sans-serif !important;
    -webkit-font-smoothing: antialiased !important;
    background: #fff !important;
}

/* Phones / BYOD list */
.primary-nav .nav-toggle__list {
    line-height: 1.15 !important;
    -webkit-text-size-adjust: 100% !important;
    font-size: 1.4rem !important;
    font-family: "Poppins", sans-serif !important;
    -webkit-font-smoothing: antialiased !important;
    color: #000 !important;
    list-style: none !important;
    overflow: visible !important;
    display: flex !important;
    justify-content: flex-end !important;
    text-align: right !important;
    margin: 0 auto !important;
    width: 100% !important;
    padding: 0 5vw !important;
    box-sizing: border-box !important;
}

.primary-nav .nav-toggle__list li {
    list-style: none !important;
    margin-left: 2rem !important;
}

.primary-nav a {
    text-decoration: none !important;
    color: #4B207A !important;
    font-weight: 700 !important;
}

/* ============================================================
   PAGE HEADER "Sign In / Register"
============================================================ */

header.page_head {
    border-top: none !important;
    border-bottom: none !important;
    margin-bottom: 0 !important;
    background: #FFFFFF !important;
    text-align: center !important;
}

.page_head h1,
header.page_head h1 {
    text-align: center !important;
    margin: 0 !important;
    font-size: 2.4rem !important;
    padding: 3rem 0 1.5rem !important;   /* slightly shorter */
    line-height: 1 !important;
    font-weight: 700 !important;
    color: #4B207A !important;
}

/* ============================================================
   SIGN IN / REGISTER – MAIN CONTAINER
============================================================ */

.session-form {
    position: relative !important;
    clear: both !important;
    margin: 0 auto 2rem auto !important;
    max-width: 1200px !important;
    padding: 0 5vw !important;

    display: flex !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 3rem !important;                 /* slightly smaller gap */
}

/* Each form takes ~half the width */
.session-form form {
    flex: 0 0 45% !important;
    margin: 0 !important;
}

/* ============================================================
   SIGN IN / REGISTER PANELS (FIELDSET)
============================================================ */

.session-form__option {
    margin: 0 !important;
    width: 100% !important;
    float: none !important;
    margin-bottom: 2rem !important;       /* less height */
    box-sizing: border-box !important;
    padding: 2.2rem !important;           /* less padding */
    border: 1px solid #d2d2d2 !important;
    border-radius: 8px !important;
    background: #fff !important;

    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;

    font-family: "Poppins", sans-serif !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #1d1d1d !important;
    -webkit-font-smoothing: antialiased !important;
}

.session-form__option.sign_in_form {
    width: 100% !important;
    float: none !important;
}

/* Paragraphs inside the panels */
.session-form__option p {
    -webkit-text-size-adjust: 100% !important;
    font-size: 14px !important;
    color: #1d1d1d !important;
    font-family: "Poppins", sans-serif !important;
    -webkit-font-smoothing: antialiased !important;
    line-height: 1.6 !important;
    margin: 0 0 1.5rem 0 !important;      /* less space below */
    padding: 0 !important;
}

/* Panel titles */
.session-form .subhead {
    color: #4B207A !important;
    font-size: 1.3rem !important;
    font-weight: bold !important;
    margin-bottom: 0.8rem !important;
    border-bottom: 3px solid #F2C94C !important;
    padding-bottom: 0.25rem !important;
}

/* ============================================================
   DL / LABEL / INPUT ALIGNMENT
============================================================ */

.session-form__option dl {
    margin: 0 0 1.5rem 0 !important;      /* less space between fields */
    padding: 0 !important;
}

.session-form__option dt,
.session-form__option dd {
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove default dd indent so input aligns with label */
.session-form__option dd {
    margin-left: 0 !important;
    margin-top: 0.4rem !important;
}

/* Labels above inputs */
.session-form__option label {
    display: block !important;
    -webkit-text-size-adjust: 100% !important;
    font-size: 14px !important;
    color: #1d1d1d !important;
    font-family: "Poppins", sans-serif !important;
    -webkit-font-smoothing: antialiased !important;
    line-height: 1.4 !important;
}

/* ============================================================
   INPUTS
============================================================ */

input[type="email"],
input[type="password"],
input[type="text"] {
    width: 100% !important;
    padding: 0.7rem !important;
    border-radius: 6px !important;
    border: 1px solid #ccc !important;
    font-size: 13px !important;
    font-family: "Poppins", sans-serif !important;
    margin-bottom: 0.6rem !important;
    text-align: left !important;
}

/* ============================================================
   FORM ACTIONS / BUTTONS
============================================================ */

/* Remove extra fieldset border around buttons */
.form_actions {
    border: none !important;
    padding: 0 !important;
    margin: 1.2rem 0 0 0 !important;      /* move up a bit */
}

/* Buttons */
button.button,
.button,
input.button,
input[type="submit"] {
    background: #4B207A !important;
    color: #fff !important;
    width: 100% !important;
    padding: 0.8rem !important;
    border-radius: 6px !important;
    border: none !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    font-family: "Poppins", sans-serif !important;
    cursor: pointer !important;
}

button:hover,
.button:hover,
input[type="submit"]:hover {
    background: #3a1760 !important;
}

/* Yellow secondary button (Send PIN) */
.button--secondary {
    background: #F2C94C !important;
    color: #333 !important;
}

.button--secondary:hover {
    background: #e6bb3e !important;
}

/* ============================================================
   FORGOT PASSWORD
============================================================ */

.form_footer a {
    display: block !important;
    text-align: center !important;
    font-weight: 700 !important;
    margin-top: 0.8rem !important;
    color: #4B207A !important;
    font-size: 13px !important;
    font-family: "Poppins", sans-serif !important;
}

.sign_in_form .form_footer {
    margin-top: 0.3rem !important;
}

/* ============================================================
   FOOTER
============================================================ */

.site-footer {
    text-align: center !important;
    padding: 1.5rem !important;
    margin-top: 2rem !important;
    font-size: 0.9rem !important;
    color: #4B207A !important;
    font-family: "Poppins", sans-serif !important;
}

/* ============================================================
   RESPONSIVE – MOBILE (up to 768px)
============================================================ */
@media (max-width: 768px) {

    /* HEADER / TOP BAR */
    .site-head {
        padding-top: 7rem !important; /* lower header in mobile */
    }

    .site-head__top-bar {
        height: 7rem !important;
    }

    .site-head__title {
        padding: 1rem 0 0 0 !important;
    }

    .site-head__top-bar .row {
        padding: 0 1.5rem !important;
    }

    .site-head__top-bar nav {
        height: 7rem !important;
        margin: 0 !important;
    }

    .site-head__item {
        height: 7rem !important;
    }

    .site-head__toggle {
        line-height: 7rem !important;
        font-size: 1rem !important;
        padding: 0 0.75rem !important;
    }

    /* PHONES / BYOD */
    .primary-nav .nav-toggle__list {
        font-size: 1.1rem !important;
        justify-content: center !important;
        padding: 0 1.5rem !important;
    }

    .primary-nav .nav-toggle__list li {
        margin-left: 1rem !important;
    }

    /* "Sign In / Register" title */
    .page_head h1,
    header.page_head h1 {
        font-size: 1.8rem !important;
        padding: 2.2rem 0 1rem !important;
    }

    /* FORMS CONTAINER */
    .session-form {
        flex-direction: column !important;    /* stack forms vertically */
        gap: 1.5rem !important;
        max-width: 100% !important;
        padding: 0 1.5rem !important;
    }

    .session-form form {
        flex: 0 0 100% !important;
    }

    /* SIGN IN / REGISTER CARDS */
    .session-form__option {
        padding: 1.8rem !important;
        margin-bottom: 1.2rem !important;
    }

    .session-form__option dl {
        margin-bottom: 1.2rem !important;
    }

    .form_actions {
        margin-top: 1rem !important;
    }

    /* FOOTER */
    .site-footer {
        margin-top: 1.5rem !important;
        padding: 1rem !important;
    }
}

/* ============================================================
   HEADER ADJUSTMENTS – AVOID OVERLAP ON MOBILE
============================================================ */

/* Do not inject long text inside bag span by default */
.site-head__toggle--bag span::before {
    content: "" !important;
}

/* On mobile: hide "Sign In or Register" and keep only bag icon */
@media (max-width: 768px) {

    /* Hide account button to avoid crowding header */
    .site-head__toggle--account {
        display: none !important;
    }

    /* Bag button with compact padding */
    .site-head__toggle--bag {
        padding: 0 0.75rem !important;
    }

    .site-head__toggle--bag span::before {
        content: "" !important;   /* no extra text, only icon (from ::before) */
    }
}

/* ============================================================
   HEADER DROPDOWN "WELCOME, CAMILO!"
============================================================ */

/* Make header item relative so dropdowns position correctly */
.site-head__item {
    position: relative !important;
}

/* Account dropdown (not the cart) hidden by default */
.site-head__item > .nav-toggle:not(.site-head__cart) {
    display: none !important;
    position: absolute !important;
    right: 0 !important;
    top: 100% !important;
    background: #fff !important;
    border: 1px solid #d2d2d2 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    padding: 0.5rem 0 !important;
    min-width: 220px !important;
    z-index: 2000 !important;
}

/* Show account dropdown on hover (desktop) */
.site-head__item:hover > .nav-toggle:not(.site-head__cart) {
    display: block !important;
}

/* Account dropdown list styles */
.site-head__item > .nav-toggle:not(.site-head__cart) .nav-toggle__list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.site-head__item > .nav-toggle:not(.site-head__cart) .nav-toggle__list li a {
    display: block !important;
    padding: 0.5rem 1.25rem !important;
    font-size: 0.9rem !important;
    color: #4B207A !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.site-head__item > .nav-toggle:not(.site-head__cart) .nav-toggle__list li a:hover {
    background: #f7f3ff !important;
}

/* ============================================================
   CART DROPDOWN (0 items in your bag)
============================================================ */

/* Ensure header item is relative (for both account and cart) */
.site-head__item {
    position: relative !important;
}

/* Generic header dropdown (account + bag) hidden by default */
.site-head__item > .nav-toggle {
    display: none !important;
    position: absolute !important;
    right: 0 !important;
    top: 100% !important;
    background: #fff !important;
    border: 1px solid #d2d2d2 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    z-index: 2000 !important;
}

/* Show dropdown (account or bag) on hover */
.site-head__item:hover > .nav-toggle {
    display: block !important;
}

/* Generic dropdown list styles */
.site-head__item > .nav-toggle .nav-toggle__list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0.5rem 0 !important;
}

.site-head__item > .nav-toggle .nav-toggle__list li a {
    display: block !important;
    padding: 0.5rem 1.25rem !important;
    font-size: 0.9rem !important;
    color: #4B207A !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.site-head__item > .nav-toggle .nav-toggle__list li a:hover {
    background: #f7f3ff !important;
}

/* Specific cart dropdown box */
.site-head__cart.nav-toggle {
    min-width: 260px !important;
    padding: 1rem 1.25rem !important;
}

/* Empty-cart title */
.site-head__cart .empty-message h1 {
    font-size: 1rem !important;
    margin: 0 0 0.5rem 0 !important;
}

/* "Activate Now" button inside cart dropdown */
.site-head__cart .empty-message p {
    margin: 0.5rem 0 0 0 !important;
}

/* ============================================================
   HEADER – EXTRA RESPONSIVE ADJUSTMENTS FOR MOBILE
============================================================ */
@media (max-width: 768px) {

    /* Compact header height on mobile */
    .site-head {
        padding-top: 7rem !important;
    }

    .site-head__top-bar {
        height: 7rem !important;
    }

    .site-head__top-bar .row {
        padding: 0 1.2rem !important;
    }

    .site-head__title {
        padding-top: 1rem !important;
    }

    .site-head__top-bar nav {
        height: 7rem !important;
        margin: 0 !important;
    }

    .site-head__item {
        height: 7rem !important;
    }

    .site-head__toggle {
        line-height: 7rem !important;
        font-size: 0.9rem !important;
        padding: 0 0.7rem !important;
    }

    /* Bag button: icon-only in mobile, no long text */
    .site-head__toggle--bag span {
        display: none !important;
    }

    .site-head__toggle--bag::before {
        margin-right: 0 !important;
    }

    /* Optional: compact "Sign In or Register" text */
    .site-head__toggle--account span {
        white-space: nowrap !important;
        font-size: 0.85rem !important;
    }

    /* Ensure dropdowns fit within viewport */
    .site-head__item .nav-toggle {
        right: 0 !important;
        left: auto !important;
        max-width: 90vw !important;
    }
}

/* ============================================================
   ACCOUNT PAGE HEADER (Your Account)
============================================================ */
.page_head__account {
    border-top: 0.1rem solid #d2d2d2 !important;
    border-bottom: 0.1rem solid #d2d2d2 !important;
    text-align: center !important;
    margin-bottom: 3rem !important;
    background: #FFFFFF !important;
    padding: 1.5rem 0 !important;
}

.page_head__account h1,
.page_head__account h1 a {
    font-family: "Poppins", sans-serif !important;
    font-size: 2.2rem !important;
    font-weight: 700 !important;
    color: #4B207A !important;   /* purple */
    text-decoration: none !important;
    margin: 0 !important;
}

/* ============================================================
   SMALL SECONDARY BUTTONS (Account area actions)
   Applies to:
   - Edit Personal Information
   - Change Password
   - Edit Security Questions
   - add a new address...
   - add a new card...
   - Configure Autopay
============================================================ */
.button.button--secondary.button--small {
    background: #4B207A !important;  /* purple */
    color: #fff !important;
    width: auto !important;
    padding: 0.7rem 1.4rem !important;
    border: none !important;
    box-shadow: none !important;
    text-transform: none !important;
    line-height: 1.4 !important;
    margin-left: 0 !important;
    margin-bottom: 0.5rem !important;
    display: inline-block !important;
}

/* ============================================================
   BUTTON LIST LAYOUT (Edit Personal Info / Change Password)
============================================================ */
.button-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.75rem !important;
    align-items: center !important;
}

.button-list .button {
    width: auto !important;
}

/* Stack buttons vertically on smaller screens if needed */
@media (max-width: 600px) {
    .button-list {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .button-list .button {
        width: 100% !important;
    }
}
