/* =====================================================================
   FurniHaven - customer pages: My Orders, My Account, Contact Us
   (loaded last so it refines the older .user-section styles)
   ===================================================================== */

.user-page{max-width:1020px;padding:34px 36px 38px;background:rgba(255,253,248,.95);border:1px solid #e0d8cb;border-radius:24px;box-shadow:0 14px 40px rgba(36,56,46,.08)}

/* ---------- page header ---------- */
.page-head{text-align:center;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid #eadfcf;position:relative}
.page-head::after{content:"";position:absolute;left:50%;bottom:-2px;width:64px;height:3px;border-radius:3px;background:var(--gold);transform:translateX(-50%)}
.page-eyebrow{display:inline-block;font-size:10px;font-weight:bold;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.user-page .page-head h2{font-family:Georgia,serif;font-size:34px;color:var(--forest);margin:0 0 8px}
.user-page .page-head p{font-size:13px;color:#777d77;margin:0 auto;max-width:520px;line-height:1.6}

/* ---------- buttons ---------- */
.pg-btn,.pg-btn:link,.pg-btn:visited{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 22px;border:1.5px solid var(--forest);border-radius:999px;background:var(--forest);color:#fff;font:inherit;font-size:12px;font-weight:bold;letter-spacing:.4px;cursor:pointer;text-decoration:none!important;transition:background .18s,transform .18s,box-shadow .18s,color .18s}
.pg-btn:hover{background:var(--sage-dark);border-color:var(--sage-dark);color:#fff;transform:translateY(-1px);box-shadow:0 6px 16px rgba(36,56,46,.18)}
.pg-btn-outline,.pg-btn-outline:link,.pg-btn-outline:visited{background:transparent;color:var(--forest)}
.pg-btn-outline:hover{background:var(--forest);color:#fff}
.pg-btn-ghost,.pg-btn-ghost:link,.pg-btn-ghost:visited{background:#f3eee4;border-color:#f3eee4;color:var(--forest)}
.pg-btn-ghost:hover{background:#e8dccb;border-color:#e8dccb;color:var(--forest);box-shadow:none}
.pg-btn-danger,.pg-btn-danger:link,.pg-btn-danger:visited{background:#a24848;border-color:#a24848;color:#fff;padding:9px 18px}
.pg-btn-danger:hover{background:#873636;border-color:#873636}

/* ---------- empty / login states ---------- */
.state-card{text-align:center;padding:46px 24px;background:#fff;border:1px dashed #d8cdbd;border-radius:18px}
.state-icon{width:66px;height:66px;margin:0 auto 14px;border-radius:50%;background:#f3eee4;display:flex;align-items:center;justify-content:center;font-size:28px}
.state-card h3{font-family:Georgia,serif;color:var(--forest);font-size:20px;margin-bottom:6px}
.state-card p{font-size:13px;color:#777d77;max-width:380px;margin:0 auto 18px;line-height:1.6}
.state-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.state-card.filter-empty{padding:26px;margin-top:6px}
.state-card.filter-empty p{margin:0}

/* ---------- shared form look ---------- */
.pg-card{background:#fff;border:1px solid #e3dbcf;border-radius:18px;padding:24px 26px;box-shadow:0 6px 20px rgba(36,56,46,.06)}
.pg-card-head{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #f0e9dc}
.pg-card-head h3{font-family:Georgia,serif;color:var(--forest);font-size:19px}
.pg-card-head small{display:block;color:#777d77;font-size:11.5px;margin-top:4px}
.pg-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pg-grid .form-field.full{grid-column:1/-1}
.orders-nav{margin-top:26px;padding-top:20px;border-top:1px solid #eadfcf;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.pg-actions{margin-top:20px;display:flex;gap:10px;justify-content:flex-end}
.user-page .form-field{gap:7px;min-width:0}
.user-page .form-field label{font-size:10px;letter-spacing:1.2px}
.user-page .form-field input,.user-page .form-field textarea{padding:12px 14px;border:1.5px solid #e1d8ca;border-radius:12px;background:#fffefb;font-size:13px;color:var(--text);transition:border-color .15s,box-shadow .15s,background .15s}
.user-page .form-field textarea{min-height:130px;line-height:1.6}
.user-page .form-field input:hover,.user-page .form-field textarea:hover{border-color:#cdbfa9}
.user-page .form-field input:focus,.user-page .form-field textarea:focus{outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 4px rgba(185,154,90,.16)}
.user-page .form-field input:disabled{background:#f4f0e8;color:#8a8f8a;cursor:not-allowed}

/* =====================================================================
   MY ORDERS
   ===================================================================== */
.order-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;justify-content:center}
.chip{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border:1.5px solid #e1d8ca;border-radius:999px;background:#fff;color:#5d655f;font:inherit;font-size:12px;font-weight:bold;cursor:pointer;transition:.15s}
.chip span{min-width:20px;padding:1px 6px;border-radius:10px;background:#f1ece3;color:var(--forest);font-size:10px;text-align:center}
.chip:hover{border-color:var(--sage-dark);color:var(--forest)}
.chip.active{background:var(--forest);border-color:var(--forest);color:#fff}
.chip.active span{background:rgba(255,255,255,.2);color:#fff}

.user-page .order-card{position:relative;background:#fff;border:1px solid #e3dbcf;border-radius:18px;padding:0;margin-bottom:18px;overflow:hidden;box-shadow:0 6px 20px rgba(36,56,46,.06);transition:box-shadow .2s,transform .2s}
.user-page .order-card:hover{box-shadow:0 12px 30px rgba(36,56,46,.1)}
.user-page .order-top{padding:16px 22px;background:linear-gradient(90deg,#f6f1e6,#fbf8f1);border-bottom:1px solid #eadfcf}
.order-date{font-family:Georgia,serif;font-size:17px;color:var(--forest)}
.user-page .muted{font-size:11.5px;color:#777d77;margin-top:3px}
.user-page .status{padding:7px 14px;border-radius:999px;font-size:10.5px;letter-spacing:.6px;text-transform:uppercase;white-space:nowrap}

/* progress tracker */
.order-track{list-style:none;display:flex;justify-content:space-between;margin:20px 28px 6px;padding:0;position:relative}
.order-track::before{content:"";position:absolute;left:8%;right:8%;top:14px;height:3px;background:#ece4d6;border-radius:3px}
.order-track li{position:relative;z-index:1;flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:11px;color:#9a9f9a}
.order-track li i{width:29px;height:29px;border-radius:50%;background:#fff;border:2px solid #e1d8ca;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:11px;font-weight:bold;color:#9a9f9a}
.order-track li.done{color:var(--sage-dark)}
.order-track li.done i{background:var(--sage-dark);border-color:var(--sage-dark);color:#fff}
.order-track li.current{color:var(--forest);font-weight:bold}
.order-track li.current i{background:var(--gold);border-color:var(--gold);color:#fff;box-shadow:0 0 0 5px rgba(185,154,90,.2)}

/* items */
.user-page .order-lines{margin:14px 22px 0;border-top:0}
.user-page .order-line{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #f1ebdf;font-size:13px}
.user-page .order-line:last-child{border-bottom:0}
.oi-thumb{flex:none;width:56px;height:56px;border-radius:12px;overflow:hidden;background:#f1ece3;display:flex;align-items:center;justify-content:center;border:1px solid #e8dfd0}
.oi-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.oi-thumb span{font-family:Georgia,serif;font-size:20px;color:var(--sage-dark)}
.oi-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.oi-info strong{color:var(--forest);font-size:13.5px}
.user-page .oi-info small{display:block;margin:0;color:#777d77;font-size:11.5px}
.oi-price{flex:none;font-weight:bold;color:var(--forest);font-size:13.5px}

/* payment + address */
.user-page .order-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 22px 0;padding:14px 0 0;border-top:1px dashed #e6dccb;font-size:12px}
.user-page .order-meta div{display:flex;flex-direction:column;gap:4px;min-width:0}
.user-page .order-meta b{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold)}
.user-page .order-meta span{color:#4a524c;line-height:1.5;overflow-wrap:anywhere}
.user-page .order-meta .order-eta{grid-column:1/-1;padding:12px 14px;background:#faf5e8;border:1px solid #eadfc4;border-left:4px solid var(--gold);border-radius:10px}
.user-page .order-meta .order-eta span{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.user-page .order-meta .order-eta strong{font-family:Georgia,serif;font-size:15px;color:var(--forest)}
.user-page .order-meta .order-eta em{font-style:normal;font-size:12px;color:#6b726c}
.user-page .order-meta .order-eta.is-delivered{background:#eef6ee;border-color:#cfe3cf;border-left-color:var(--sage-dark)}
@media(max-width:600px){.user-page .order-meta{grid-template-columns:1fr}}

/* cancelled note */
.user-page .order-cancel-note{margin:14px 22px 0;padding:12px 14px;background:#fbefef;border:1px solid #efd3d3;border-left:4px solid #b85a5a;border-radius:10px;font-size:12px;color:#8a3434;line-height:1.5}
.order-cancel-note small{display:block;margin-top:4px;color:#a16565}

/* footer: total + cancel */
.order-foot{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-top:16px;padding:16px 22px;background:#faf7f0;border-top:1px solid #eadfcf}
.order-total{display:flex;flex-direction:column;gap:2px}
.order-total span{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#777d77}
.order-total strong{font-family:Georgia,serif;font-size:22px;color:var(--forest)}
.user-page .order-cancel-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;margin:0;padding:0;border-top:0}
.user-page .order-cancel-form select{padding:10px 12px;border:1.5px solid #e1d8ca;border-radius:999px;font:inherit;font-size:12px;background:#fff;color:#39413c;max-width:100%;cursor:pointer}
.user-page .order-cancel-form select:focus{outline:none;border-color:#b85a5a;box-shadow:0 0 0 3px rgba(184,90,90,.14)}

/* =====================================================================
   MY ACCOUNT
   ===================================================================== */
.acct-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:22px;align-items:start}
.acct-card{background:linear-gradient(165deg,var(--forest),#33503f);color:#fff;border-radius:20px;padding:30px 22px 24px;text-align:center;box-shadow:0 12px 30px rgba(36,56,46,.22)}
.acct-avatar{width:86px;height:86px;margin:0 auto 14px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:32px;border:4px solid rgba(255,255,255,.28);box-shadow:0 6px 16px rgba(0,0,0,.2)}
.acct-card h3{font-family:Georgia,serif;font-size:20px;margin-bottom:4px;overflow-wrap:anywhere}
.acct-email{font-size:12px;color:rgba(255,255,255,.72);overflow-wrap:anywhere}
.acct-stats{display:flex;gap:10px;margin:20px 0 18px}
.acct-stats div{flex:1;padding:12px 8px;background:rgba(255,255,255,.1);border-radius:12px;display:flex;flex-direction:column;gap:3px}
.acct-stats strong{font-family:Georgia,serif;font-size:16px}
.acct-stats span{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.7)}
.acct-links{display:flex;flex-direction:column;gap:9px}
.acct-card .pg-btn-outline,.acct-card .pg-btn-outline:link,.acct-card .pg-btn-outline:visited{color:#fff;border-color:rgba(255,255,255,.55)}
.acct-card .pg-btn-outline:hover{background:#fff;color:var(--forest);border-color:#fff}
.acct-card .pg-btn-ghost,.acct-card .pg-btn-ghost:link,.acct-card .pg-btn-ghost:visited{background:rgba(255,255,255,.12);border-color:transparent;color:#fff}
.acct-card .pg-btn-ghost:hover{background:rgba(255,255,255,.22);color:#fff}

/* =====================================================================
   CONTACT US
   ===================================================================== */
.contact-layout{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:22px;align-items:start}
.contact-info{background:linear-gradient(165deg,var(--forest),#33503f);color:#fff;border-radius:20px;padding:28px 24px;box-shadow:0 12px 30px rgba(36,56,46,.22)}
.contact-info h3{font-family:Georgia,serif;font-size:21px;margin-bottom:6px}
.contact-info>p{font-size:12.5px;color:rgba(255,255,255,.75);line-height:1.6;margin:0 0 20px}
.contact-info ul{list-style:none;display:flex;flex-direction:column;gap:14px;margin:0;padding:0}
.contact-info li{display:flex;gap:12px;align-items:flex-start;padding:13px;background:rgba(255,255,255,.09);border-radius:14px}
.ci-icon{flex:none;width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font-size:18px}
.contact-info li strong{display:block;font-size:13px;margin-bottom:3px}
.contact-info li small{font-size:11.5px;color:rgba(255,255,255,.7);line-height:1.5}

/* ---------- responsive ---------- */
@media(max-width:860px){
    .acct-layout,.contact-layout{grid-template-columns:1fr}
}
@media(max-width:620px){
    .user-page{padding:24px 16px 28px;border-radius:18px}
    .user-page .page-head h2{font-size:27px}
    .pg-grid,.user-page .order-meta{grid-template-columns:1fr}
    .pg-card{padding:20px 16px}
    .order-track{margin:18px 10px 4px}
    .order-track li{font-size:10px}
    .order-foot{flex-direction:column;align-items:stretch}
    .user-page .order-cancel-form{justify-content:stretch}
    .user-page .order-cancel-form select{flex:1 1 100%}
    .user-page .order-cancel-form .pg-btn{flex:1 1 100%}
    .orders-nav .pg-btn{flex:1 1 100%}
    .pg-actions{justify-content:stretch}
    .pg-actions .pg-btn{width:100%}
}

/* =====================================================================
   SHOPPING CART PAGE (client side) - with product pictures
   ===================================================================== */
.user-page.user-section{max-width:1100px}
.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}
.cart-list{display:flex;flex-direction:column;gap:14px}
.cart-card{display:grid;grid-template-columns:120px minmax(0,1fr) 110px 120px;gap:18px;align-items:center;background:#fff;border:1px solid #e6ddcf;border-radius:18px;padding:14px;box-shadow:0 6px 18px rgba(36,56,46,.05);transition:box-shadow .2s,transform .2s}
.cart-card:hover{box-shadow:0 12px 26px rgba(36,56,46,.1);transform:translateY(-1px)}
.cart-img{width:120px;height:104px;border-radius:14px;background:#f4f0e8;overflow:hidden;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:34px;color:var(--taupe)}
.cart-img img{width:100%;height:100%;object-fit:cover;display:block}
.cart-info{min-width:0}
.cart-cat{display:inline-block;font-size:9.5px;font-weight:bold;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.cart-info h3{font-family:Georgia,serif;font-size:17px;color:var(--forest);line-height:1.25;margin:0 0 6px}
.cart-opts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.cart-opts span{font-size:10.5px;background:#f3eee4;color:#5d655f;padding:3px 9px;border-radius:10px}
.cart-price{font-size:13px;font-weight:bold;color:var(--sage-dark)}
.cart-price small{font-weight:normal;color:#8a8f8a;font-size:11px}
.cart-remove{margin-top:8px;border:0;background:none;padding:0;font:inherit;font-size:11px;color:#a24848;cursor:pointer}
.cart-remove:hover{text-decoration:underline}
.cart-qty,.cart-sub{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.cart-qty label,.cart-sub label{font-size:9.5px;font-weight:bold;letter-spacing:1.2px;color:var(--sage-dark)}
.cart-qty .qty-input{width:76px;padding:10px;border:1.5px solid #e1d8ca;border-radius:10px;font-size:14px;text-align:center}
.cart-qty .qty-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(185,154,90,.15)}
.cart-qty small{font-size:10.5px;color:#8a8f8a}
.cart-sub strong{font-size:16px;color:var(--forest)}
.cart-continue{align-self:flex-start;font-size:12.5px;color:var(--sage-dark);text-decoration:none;font-weight:bold;padding:6px 2px}
.cart-continue:hover{color:var(--forest);text-decoration:underline}
.cart-summary{position:sticky;top:16px;background:linear-gradient(165deg,var(--forest),#33503f);color:#fff;border-radius:20px;padding:24px;box-shadow:0 12px 30px rgba(36,56,46,.22)}
.cart-summary h3{font-family:Georgia,serif;font-size:21px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.15)}
.cart-summary .summary-row{font-size:13px;color:rgba(255,255,255,.85);margin:10px 0}
.cart-summary .summary-total{font-size:21px;color:#fff;border-top:1px solid rgba(255,255,255,.2);padding-top:14px;margin-top:14px}
.cart-summary .summary-total span:last-child{color:#d2b46e}
.cart-summary .pg-btn{width:100%;margin-top:10px}
.cart-summary .pg-btn,.cart-summary .pg-btn:link,.cart-summary .pg-btn:visited{background:var(--gold);border-color:var(--gold);color:#fff}
.cart-summary .pg-btn:hover{background:#a8893f;border-color:#a8893f}
.cart-summary .pg-btn-outline,.cart-summary .pg-btn-outline:link,.cart-summary .pg-btn-outline:visited{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.cart-summary .pg-btn-outline:hover{background:#fff;border-color:#fff;color:var(--forest)}
.cart-empty{padding:50px 20px}
.cart-empty-icon{font-size:44px;margin-bottom:10px}
.cart-empty h3{font-family:Georgia,serif;color:var(--forest);font-size:21px;margin-bottom:6px}
.cart-empty p{font-size:13px;color:#777d77;margin-bottom:18px}
@media(max-width:900px){.cart-layout{grid-template-columns:1fr}.cart-summary{position:static}}
@media(max-width:640px){
    .cart-card{grid-template-columns:90px minmax(0,1fr);gap:12px}
    .cart-img{width:90px;height:90px}
    .cart-qty,.cart-sub{grid-column:span 1}
    .cart-qty{grid-column:1/2}.cart-sub{grid-column:2/3}
}

/* ---------- Contact Us: store details ---------- */
.contact-info .ci-details li{align-items:center}
.contact-info .ci-details a,.contact-info .ci-text{display:block;font-size:13.5px;color:#fff;text-decoration:none;font-weight:bold;line-height:1.5}
.contact-info .ci-details a:hover{color:#d2b46e;text-decoration:underline}
.contact-info .ci-text small{font-weight:normal;color:rgba(255,255,255,.72);font-size:11.5px}
.contact-info .ci-sub{margin:24px 0 12px;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#d2b46e}
.contact-info .ci-topics{gap:10px}
.contact-info .ci-topics li{padding:10px 12px}

/* ---------- Order code (OFH_000001) on My Orders ---------- */
.order-code{display:inline-block;margin-bottom:5px;padding:3px 10px;border-radius:10px;background:#f3eee4;color:var(--forest);font-size:11.5px;font-weight:bold;letter-spacing:1px;font-family:"Courier New",monospace}

.acct-stack{display:grid;gap:22px;min-width:0;align-content:start}
#change-password{scroll-margin-top:90px}

/* Change Password: small and tidy (3 fields in one row) */
.user-page .pw-card{padding:16px 20px 18px}
.pw-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #f0e9dc}
.pw-icon{flex:none;width:34px;height:34px;border-radius:10px;background:#eef2ee;display:flex;align-items:center;justify-content:center;font-size:15px}
.pw-head h3{font-family:Georgia,serif;color:var(--forest);font-size:16px;line-height:1.2}
.pw-head small{display:block;color:#777d77;font-size:11px;margin-top:2px}
.pw-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.user-page .pw-card .form-field{gap:5px}
.user-page .pw-card .form-field label{font-size:9.5px;letter-spacing:1px}
.user-page .pw-card .form-field input{padding:9px 12px;font-size:12.5px;border-radius:10px}
.pw-actions{margin-top:14px;display:flex;justify-content:flex-end}
.user-page .pw-card .pg-btn{padding:8px 20px;font-size:12px}
@media(max-width:700px){.pw-fields{grid-template-columns:1fr}.pw-actions .pg-btn{width:100%}}

/* the old two-column rule for .account-form squeezed the card headers: use normal stacked cards */
.user-page .account-form{display:block}
