/* ============================================================
   RenuPep — WordPress / WooCommerce / Contact Form 7 integration.
   main.css is the design, untouched. This file only adapts the
   markup that plugins and WordPress output to that design.
   ============================================================ */

/* ---------- WordPress core ---------- */
/* Logged-in admin bar: the sticky header and menu sheet sit below it. On phones
   (≤600px) WordPress lets the admin bar scroll away, so the header goes back to top:0
   instead of leaving a 46px gap that shows the page behind it. */
body.admin-bar .hdr{top:32px}
body.admin-bar .sheet{top:32px}
@media(max-width:782px){body.admin-bar .hdr,body.admin-bar .sheet{top:46px}}
@media(max-width:600px){
  body.admin-bar .hdr,body.admin-bar .sheet{top:0}
  body.admin-bar .sheet{padding-top:calc(1.2rem + 46px)}
}
.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;top:0;left:0}
.alignleft{float:left;margin:.3rem 1.4rem 1rem 0}
.alignright{float:right;margin:.3rem 0 1rem 1.4rem}
.aligncenter{display:block;margin-inline:auto}
.wp-caption-text,figcaption.wp-element-caption{font-size:.84rem;color:var(--muted);margin-top:.5rem}
.rp-content > * + *{margin-top:1rem}
.rp-content h2{font-size:clamp(1.4rem,2.2vw,1.8rem);margin-top:2rem}
.rp-content h3{font-size:1.2rem;margin-top:1.6rem}
.rp-content ul,.rp-content ol{padding-left:1.3rem}
.rp-content ul{list-style:disc}.rp-content ol{list-style:decimal}
.rp-content a{color:var(--brand-ink);text-decoration:underline;text-underline-offset:3px}
.rp-content img{max-width:100%;height:auto;border-radius:14px}
.rp-content blockquote{border-left:3px solid var(--brand);padding-left:1.1rem;color:var(--muted)}
.rp-content table{width:100%;border-collapse:collapse;font-size:.92rem}
.rp-content th,.rp-content td{border-bottom:1px solid var(--line);padding:.7rem .5rem;text-align:left}

/* ---------- pagination ---------- */
.rp-pager{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:2.2rem}
.rp-pager__n{min-width:44px;height:44px;padding:0 .8rem;display:inline-grid;place-items:center;border-radius:12px;border:1.5px solid var(--line);
  background:var(--panel);color:var(--ink);font-family:var(--f-m);font-size:.8rem;font-weight:700;transition:border-color .2s,background .2s,color .2s}
a.rp-pager__n:hover{border-color:var(--brand);color:var(--brand-ink)}
.rp-pager__n[aria-current],.rp-pager__n.is-on{background:var(--brand);border-color:var(--brand);color:#fff}
.rp-pager .dots{border:0;background:none}

/* ---------- shop loading state ---------- */
#rp-shop .sgrid{transition:opacity .25s}
#rp-shop.is-loading .sgrid,#rp-shop.is-loading #shop-pager{opacity:.45;pointer-events:none}

/* ---------- Contact Form 7 inside the design ---------- */
.wpcf7{display:contents}
.wpcf7 form{margin:0}
.wpcf7-form-control-wrap{display:block;position:relative}
.wpcf7-form-control-wrap > input,.wpcf7-form-control-wrap > textarea,.wpcf7-form-control-wrap > select{display:block;vertical-align:top}
.agree .wpcf7-form-control-wrap,.agree .wpcf7-list-item,.agree .wpcf7-form-control{display:contents}
.wpcf7-list-item{margin:0}
.wpcf7-not-valid-tip{display:none!important}
.wpcf7 .screen-reader-response{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wpcf7-response-output{display:none!important}
.wpcf7-spinner{display:none!important}
.wpcf7 form.submitting [type="submit"],.is-busy{opacity:.7;pointer-events:none}
.fld .wpcf7-not-valid{border-color:#E5484D}
.subform .wpcf7-form-control-wrap{flex:1;min-width:210px}
.subform .wpcf7-form-control-wrap input{width:100%;min-width:0}
.subform .wpcf7-not-valid{border-color:#FF8E8E!important}
.subform__ok.show{color:#41E0A8}

.sent[hidden]{display:none}
.openstate{font-style:normal;font-family:var(--f-m);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin-left:.4rem}
.openstate.is-open{color:#1FAE7A}

/* ---------- WooCommerce: global ---------- */
.woocommerce-store-notice,p.demo_store{display:none!important}
.blockUI.blockOverlay{background:var(--bg)!important;opacity:.55!important;border-radius:inherit}
.woocommerce-NoticeGroup[hidden]{display:none}
.woocommerce-NoticeGroup-checkout{margin-bottom:1rem}
.added_to_cart.wc-forward{display:none}

/* ---------- cart / checkout ---------- */
#summ-rows{display:contents}
.payment_methods{list-style:none;margin:0;padding:0}
.payment_methods > li{margin:0;list-style:none}
.payment_methods > li > .opt{height:100%}
.payment_methods > li > .opt .opt__c{height:100%}
.payment_box{margin-top:1rem}
.payx__fields{display:flex;flex-direction:column;gap:.85rem}
.payx__fields label{font-family:var(--f-m);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.38rem}
.payx__fields input[type=text],.payx__fields input[type=tel],.payx__fields input[type=email],.payx__fields input[type=number],.payx__fields select,
.payx__fields .wc-stripe-elements-field,.payx__fields .StripeElement,.payx__fields .wc-block-gateway-input{
  width:100%;min-height:50px;padding:.85rem .95rem;border-radius:12px;border:1.5px solid var(--line);background:var(--panel-2);color:var(--ink);font-family:var(--f-b);font-size:.97rem}
.payx__fields fieldset{border:0;margin:0;padding:0;display:grid;gap:.85rem}
.payx__fields .form-row{margin:0}
.payx__fields .clear{display:none}
@media(min-width:620px){.payx__fields .form-row-first,.payx__fields .form-row-last{display:inline-block;width:calc(50% - .45rem)}.payx__fields .form-row-first{margin-right:.9rem}}
.rp-ship-opts .opts{margin:0}
#place_order{position:relative}
.done__gw{padding:1.1rem 1.3rem;border-top:1px solid var(--line-2)}
.done__gw h2{font-size:1.1rem;margin-bottom:.6rem}
.done__gw ul{list-style:none;padding:0}
.woocommerce-bacs-bank-details{margin-top:.8rem}
.wc-bacs-bank-details{display:grid;gap:.3rem;font-size:.9rem}

/* ---------- my account (layout) ---------- */
.acct{align-items:start}
.acct .faqnav__list a.faqcat{text-decoration:none}
.acctlogin{display:grid;gap:1.2rem;max-width:560px;margin-inline:auto}
.acctlogin--2{max-width:none}
@media(min-width:900px){.acctlogin--2{grid-template-columns:1fr 1fr}}
.acctlogin .placebar{display:flex;flex-direction:column;gap:.8rem;align-items:center}

/* Callouts typed in the editor (no SVG): the design's alert icon is drawn by CSS,
   so editors only write <div class="callout"><p>…</p></div>. */
.callout:not(:has(> svg))::before{content:"";width:20px;height:20px;flex:none;margin-top:.2rem;background:var(--brand-ink);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5M12 16v.1'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5M12 16v.1'/%3E%3C/svg%3E") center/contain no-repeat}
.callout > br{display:none}
/* Contact Form 7 adds .sent to a submitted <form>; keep the design's .sent panel styles off it. */
form.wpcf7-form.sent{padding:0;align-items:stretch;animation:none}
.cform .rp-sent,.cosec .rp-sent{padding:clamp(1.4rem,3vw,2.2rem)}

/* ============================================================
   Responsive refinements (header, tables, small screens)
   ============================================================ */
/* Header: nav items never wrap; switch to the burger before they run out of room,
   and keep the icon group on the right whenever the nav is hidden. */
.nav a{white-space:nowrap}
@media(max-width:1080px){
  .nav{display:none}
  .burger{display:grid}
  .hdr__acts{margin-left:auto}
}
@media(max-width:380px){
  .hdr__in{gap:.5rem}
  .hdr__acts{gap:.25rem}
  .tgl{width:50px;height:30px}
  .tgl__knob{width:22px;height:22px}
  :root[data-theme="dark"] .tgl__knob{transform:translateX(20px)}
  .iconbtn{width:36px;height:36px}
}
/* Mobile menu: scrolls on short / landscape screens. */
.sheet{overflow-y:auto;overscroll-behavior:contain}
.sheet nav{flex:none}
@media(min-width:700px) and (max-width:1080px){.sheet nav{display:grid;grid-template-columns:1fr 1fr;column-gap:2rem}}

/* Phones: product grids (homepage catalog, related products) two-up like the shop,
   with the same compact card treatment. */
@media(max-width:520px){
  #grid,.rel{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
  #grid .card__body,.rel .card__body{padding:.75rem .75rem .85rem;gap:.35rem}
  #grid .card__name,.rel .card__name{font-size:.95rem}
  #grid .card__meta,.rel .card__meta{font-size:.55rem}
  #grid .card__foot,.rel .card__foot{flex-wrap:wrap;gap:.45rem}
  #grid .card__price,.rel .card__price{font-size:1.05rem}
  #grid .card__add,.rel .card__view{width:100%;justify-content:center;text-align:center}
  #grid .card__ruo,.rel .card__ruo{display:none}
  #grid .card__tag,#grid .card__coa,.rel .card__tag,.rel .card__coa{font-size:.5rem;top:.5rem}
  #grid .card__tag,.rel .card__tag{left:.5rem}
  #grid .card__coa,.rel .card__coa{right:.5rem}
}

/* Phones: filter chip rows scroll sideways instead of stacking five rows deep. */
@media(max-width:640px){
  .filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
    margin-inline:calc(-1*clamp(1.1rem,3.6vw,2.6rem));padding-inline:clamp(1.1rem,3.6vw,2.6rem);padding-bottom:.2rem}
  .filters::-webkit-scrollbar{display:none}
  .filters .chip{flex:none}
}

/* Phones: footer link columns side by side (brand and contact full width). */
@media(max-width:599px){
  .ft__top{grid-template-columns:1fr 1fr;column-gap:1.4rem}
  .ft__top > div:first-child,.ft__top > div:last-child{grid-column:1/-1}
}
@media(max-width:520px){
  .card__tag{max-width:calc(100% - 4.6rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* Calculator reference chart: the wrapper scrolls sideways inside the page (the
   design gave the wrapper itself a 440px minimum, which pushed phones sideways). */
.ctable.rtable{min-width:0;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.ctable table{min-width:560px}
@media(max-width:640px){
  .ctable tbody th,.ctable thead th:first-child{position:sticky;left:0;z-index:1;background:var(--panel-2)}
}

/* Tablets: three product cards per row instead of two very tall columns. */
@media(min-width:600px) and (max-width:999px){
  #grid,.sgrid,.mgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  #grid .card__body,.sgrid .card__body,.mgrid .card__body{padding:.85rem .85rem .95rem}
  #grid .card__foot,.sgrid .card__foot,.mgrid .card__foot{flex-wrap:wrap;gap:.5rem}
  #grid .card__add,.sgrid .scard__add,.mgrid .scard__add{width:100%;justify-content:center;text-align:center}
  .card__tag{max-width:calc(100% - 4.6rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* Shop area tiles: room for the longest names ("GH secretagogues", "Vitamins & cofactors"). */
@media(max-width:640px){
  .atiles{grid-auto-columns:minmax(178px,1fr)}
  .atile__t b{hyphens:auto;overflow-wrap:anywhere}
}

/* Cart lines beside the order summary (1000–1239px): too narrow for the four-column
   table, so use the stacked line layout (controls on their own row). */
@media(min-width:1000px) and (max-width:1239px){
  .lines__head{display:none}
  .ln{grid-template-columns:84px minmax(0,1fr)}
  .ln__ctl{display:flex;grid-column:1/-1}
}


/* ============================================================
   WooCommerce notices (every page): design callouts with icons
   ============================================================ */
.woocommerce-error,.woocommerce-message,.woocommerce-info,.rp-notice{
  position:relative;list-style:none;margin:0 0 1.1rem;padding:.95rem 1.1rem .95rem 3rem;border-radius:14px;
  border:1px solid var(--brand-line);background:var(--brand-soft);color:var(--ink-2,var(--ink));font-size:.92rem;line-height:1.6}
.rp-notice{display:flex;gap:.8rem;align-items:flex-start;padding-left:1.1rem}
.rp-notice > svg{width:20px;height:20px;flex:none;margin-top:.12rem;color:var(--brand-ink)}
.woocommerce-error::before,.woocommerce-message::before,.woocommerce-info::before{content:"";position:absolute;left:1.05rem;top:1.05rem;width:19px;height:19px;background:var(--brand-ink);
  -webkit-mask:var(--rp-ic) center/contain no-repeat;mask:var(--rp-ic) center/contain no-repeat;
  --rp-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 7.6v.1'/%3E%3C/svg%3E")}
.woocommerce-error,.rp-notice--error{border-color:rgba(229,72,77,.4);background:rgba(229,72,77,.08)}
.woocommerce-error::before{background:#E5484D;--rp-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5M12 16v.1'/%3E%3C/svg%3E")}
.rp-notice--error > svg{color:#E5484D}
.woocommerce-message,.rp-notice--success{border-color:color-mix(in srgb,var(--signal) 40%,transparent);background:var(--signal-soft)}
.woocommerce-message::before{background:var(--signal);--rp-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7'/%3E%3C/svg%3E")}
.rp-notice--success > svg{color:var(--signal)}
.woocommerce-error li + li{margin-top:.35rem}
.woocommerce-error a,.woocommerce-message a,.woocommerce-info a,.rp-notice a{color:var(--brand-ink);text-decoration:underline;text-underline-offset:3px}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{float:right;margin:-.2rem 0 .2rem 1rem;text-decoration:none!important}
@media(max-width:620px){.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{float:none;display:flex;width:fit-content;margin:0 0 .6rem}}

/* ============================================================
   WooCommerce forms/tables outside the design templates
   (address fields, plugin fields, order details, downloads,
   payment methods, pay-for-order)
   ============================================================ */
.rp-fields{display:grid;gap:.85rem}
@media(min-width:620px){.rp-fields{grid-template-columns:1fr 1fr}.rp-fields .form-row-wide,.rp-fields .form-row:not(.form-row-first):not(.form-row-last){grid-column:1/-1}}
.rp-fields:empty{display:none}
.rp-wcform .form-row,.rp-account .form-row,form#order_review .form-row{display:flex;flex-direction:column;gap:.38rem;margin:0}
.rp-wcform .form-row label,.rp-account .form-row > label,form#order_review .form-row > label{font-family:var(--f-m);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.rp-wcform .form-row label .required,.rp-account .form-row label .required{color:var(--brand-ink);text-decoration:none;border:0}
.rp-wcform .form-row label .optional{font-family:var(--f-b);text-transform:none;letter-spacing:.02em;font-weight:400;color:var(--muted-2)}
.woocommerce-input-wrapper{display:block}
.rp-wcform .input-text,.rp-wcform select,.rp-account .form-row .input-text,.rp-account .form-row select,.rp-account .form-row textarea,.rp-wcform textarea{
  width:100%;height:50px;padding:0 .95rem;border-radius:12px;border:1.5px solid var(--line);background:var(--panel-2);color:var(--ink);font-family:var(--f-b);font-size:.97rem;
  transition:border-color .22s,box-shadow .22s}
.rp-wcform textarea,.rp-account textarea{height:auto;min-height:110px;padding:.8rem .95rem}
.rp-wcform select,.rp-account .form-row select{appearance:none;-webkit-appearance:none;padding-right:2.4rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238695AC' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;background-size:14px}
.rp-wcform .input-text:focus,.rp-wcform select:focus,.rp-account .input-text:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);background:var(--panel)}
.rp-wcform .woocommerce-invalid .input-text,.rp-wcform .woocommerce-invalid select{border-color:#E5484D}
.fld__hint{font-size:.76rem;color:var(--muted-2);margin-top:.1rem}
.rp-fieldset{border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.15rem 1.2rem;margin:1.4rem 0 0}
.rp-fieldset legend{padding:0 .45rem;font-family:var(--f-d);font-weight:700;font-size:1rem}
.rp-fieldset legend i{font-style:normal;font-family:var(--f-b);font-weight:400;font-size:.8rem;color:var(--muted-2);margin-left:.5rem}

/* buttons WooCommerce or plugins print with .button */
.rp-account .button:not(.btn),form#order_review .button:not(.btn),.woocommerce-MyAccount-content .button:not(.btn),.woocommerce-message .button,.woocommerce-info .button{
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:40px;padding:0 1rem;border-radius:12px;border:1.5px solid var(--line);
  background:var(--panel);color:var(--ink);font-family:var(--f-d);font-size:.86rem;font-weight:700;text-decoration:none!important;cursor:pointer;transition:all .22s var(--ease)}
.rp-account .button:not(.btn):hover,.woocommerce-MyAccount-content .button:not(.btn):hover{border-color:var(--brand);color:var(--brand-ink);background:var(--brand-soft)}
.rp-account .button.alt,form#order_review #place_order{background:var(--brand);border-color:var(--brand);color:#fff}

/* shared table look (order details, downloads, payment methods, pay-for-order) */
.rp-account table.shop_table,.rp-account table.woocommerce-table,form#order_review table.shop_table,.woocommerce-order-downloads table{
  width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel);font-size:.92rem;margin:0 0 1.2rem}
.rp-account table.shop_table th,.rp-account table.shop_table td,.rp-account table.woocommerce-table th,.rp-account table.woocommerce-table td,form#order_review table.shop_table th,form#order_review table.shop_table td{
  padding:.85rem 1rem;border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top}
.rp-account table thead th,form#order_review table thead th{font-family:var(--f-m);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);background:var(--panel-2);font-weight:700}
.rp-account table tfoot th,form#order_review table tfoot th{font-weight:500;color:var(--muted)}
.rp-account table tfoot tr:last-child th,.rp-account table tfoot tr:last-child td,form#order_review table tfoot tr:last-child th,form#order_review table tfoot tr:last-child td{border-bottom:0}
.rp-account table tfoot td,form#order_review table tfoot td{font-family:var(--f-m);font-size:.9rem;color:var(--ink)}
/* password strength meter (WooCommerce) */
.woocommerce-password-strength{margin-top:.5rem;padding:.55rem .8rem;border-radius:10px;font-size:.8rem;font-weight:600;text-align:center;background:var(--panel-2);border:1px solid var(--line)}
.woocommerce-password-strength.strong{color:var(--signal);border-color:color-mix(in srgb,var(--signal) 38%,transparent)}
.woocommerce-password-strength.good{color:#E8A33D;border-color:rgba(232,163,61,.35)}
.woocommerce-password-strength.short,.woocommerce-password-strength.bad{color:#E5484D;border-color:rgba(229,72,77,.35)}
.woocommerce-password-hint{display:block;font-size:.76rem;color:var(--muted-2);margin-top:.4rem}
.show-password-input{display:none}
.rp-account table td.woocommerce-table__product-total,.rp-account table tfoot td,form#order_review .product-subtotal,form#order_review .product-total{text-align:right}
.rp-account table .wc-item-meta{list-style:none;padding:0;margin:.3rem 0 0;font-family:var(--f-m);font-size:.66rem;color:var(--muted)}
.rp-account table .wc-item-meta li{display:flex;gap:.3rem}.rp-account table .wc-item-meta p{margin:0}
.rp-account table a{color:var(--ink);font-weight:600}
@media(max-width:620px){
  .rp-account table.shop_table_responsive thead{display:none}
  .rp-account table.shop_table_responsive tr{display:block;border-bottom:1px solid var(--line)}
  .rp-account table.shop_table_responsive td{display:flex;justify-content:space-between;gap:1rem;text-align:right!important;border-bottom:0}
  .rp-account table.shop_table_responsive td::before{content:attr(data-title);font-family:var(--f-m);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);text-align:left}
}

/* ============================================================
   My account
   ============================================================ */
.acctlogin--solo{max-width:560px;margin-inline:auto}
.acctlogin__msg{color:var(--muted);font-size:.93rem;line-height:1.6;margin-bottom:1rem}
.acctlogin .rp-sent{padding:clamp(1.4rem,3vw,2.2rem)}
.acctlogin .placebar .linkbtn{align-self:center}
.acct .woocommerce-MyAccount-content{min-width:0}
.acct__head{margin-bottom:1.3rem}
.acct__head h2{font-size:clamp(1.35rem,2.2vw,1.7rem);letter-spacing:-.02em}
.acct__head p,.acct__lede{color:var(--muted);font-size:.93rem;margin-top:.35rem;line-height:1.6}
.acct__head--order{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.acct__head--order .linkbtn{margin-bottom:.6rem}
.acct__lede mark{background:none;color:var(--ink);font-weight:600}
.acct__empty{margin:0;border:0;padding:1rem 0}
.rp-ordermeta{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:1.2rem 0 1.4rem}
/* order list */
.rp-orders{display:flex;flex-direction:column;gap:.7rem}
.rp-order{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.9rem 1rem;border:1px solid var(--line);border-radius:16px;background:var(--panel-2);transition:border-color .22s}
.rp-order:hover{border-color:var(--brand-line)}
.rp-order__thumbs{display:flex}
.rp-order__thumbs img{width:48px;height:48px;border-radius:12px;object-fit:cover;border:2px solid var(--panel);background:var(--plate)}
.rp-order__thumbs img + img{margin-left:-18px}
.rp-order__top{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.rp-order__no{font-family:var(--f-d);font-weight:700;font-size:1.02rem}
.rp-order__no:hover{color:var(--brand-ink)}
.rp-order__meta{font-family:var(--f-m);font-size:.68rem;letter-spacing:.04em;color:var(--muted);margin-top:.3rem}
.rp-order__meta b{color:var(--ink)}
.rp-order__extra{font-size:.82rem;color:var(--muted);margin-top:.3rem}.rp-order__extra span{font-family:var(--f-m);font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;margin-right:.4rem}
.rp-order__acts{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:620px){.rp-order{grid-template-columns:minmax(0,1fr)}.rp-order__thumbs{display:none}.rp-order__acts{justify-content:flex-start}}
.rp-status{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .65rem;border-radius:999px;font-family:var(--f-m);font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--brand-ink);background:var(--brand-soft);border:1px solid var(--brand-line)}
.rp-status i{width:6px;height:6px;border-radius:50%;background:currentColor}
.rp-status--completed,.rp-status--processing{color:var(--signal);background:var(--signal-soft);border-color:color-mix(in srgb,var(--signal) 38%,transparent)}
.rp-status--on-hold,.rp-status--pending{color:#E8A33D;background:rgba(232,163,61,.12);border-color:rgba(232,163,61,.35)}
.rp-status--cancelled,.rp-status--failed,.rp-status--refunded{color:#E5484D;background:rgba(229,72,77,.1);border-color:rgba(229,72,77,.35)}
/* single order */
.rp-updates{margin:0 0 1.5rem}.rp-updates > h3{font-size:1.05rem;margin-bottom:.7rem}
.rp-updates .frow h3{font-size:.8rem;font-family:var(--f-m);letter-spacing:.06em;color:var(--muted)}
.rp-orderdetails h2{font-size:1.15rem;margin:1.4rem 0 .8rem}
.rp-orderdetails .woocommerce-customer-details .woocommerce-columns{display:grid;gap:1rem}
@media(min-width:700px){.rp-orderdetails .woocommerce-customer-details .woocommerce-columns{grid-template-columns:1fr 1fr}}
.rp-orderdetails address{font-style:normal;line-height:1.7;color:var(--muted);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;background:var(--panel-2)}
.rp-orderdetails address p{margin:.3rem 0 0}
.rp-orderdetails .order-again{margin-top:.4rem}
.rp-order__help{margin-top:1.4rem}
.rp-order__help a{color:var(--brand-ink);text-decoration:underline;text-underline-offset:3px}
/* addresses */
.rp-addresses{display:grid;gap:1rem}
@media(min-width:700px){.rp-addresses{grid-template-columns:1fr 1fr}}
.rp-address{display:flex;flex-direction:column;gap:.9rem;align-items:flex-start;padding:1.1rem 1.15rem 1.2rem;border:1px solid var(--line);border-radius:16px;background:var(--panel-2)}
.rp-address__h{display:flex;align-items:center;gap:.7rem}.rp-address__h h3{font-size:1.02rem}
.rp-address address{font-style:normal;line-height:1.7;color:var(--muted);flex:1}
.rp-address__none{color:var(--muted-2)}
/* downloads / payment methods empty states read as notices; tidy spacing */
.woocommerce-MyAccount-content .woocommerce-info:last-child{margin-bottom:0}
/* pay-for-order page */
form#order_review{max-width:760px;margin:clamp(1.6rem,3vw,2.6rem) auto clamp(2.4rem,4vw,4rem)}
form#order_review #payment{border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:1.2rem}
form#order_review #payment > .form-row{margin-top:1.1rem}
form#order_review #place_order{width:100%;min-height:52px;border-radius:14px;font-size:1rem}
.woocommerce-terms-and-conditions-wrapper{font-size:.86rem;color:var(--muted)}
.woocommerce-terms-and-conditions-wrapper a{color:var(--brand-ink)}
/* checkbox rows printed by WooCommerce (terms on pay-for-order, "ship to a different address", plugin opt-ins) */
.form-row label.checkbox,.form-row label.woocommerce-form__label-for-checkbox{display:flex!important;align-items:flex-start;gap:.65rem;font-family:var(--f-b)!important;font-size:.9rem!important;
  letter-spacing:0!important;text-transform:none!important;font-weight:500!important;color:var(--ink)!important;line-height:1.55;cursor:pointer}
.form-row input[type=checkbox]{width:18px;height:18px;flex:none;margin-top:.15rem;accent-color:var(--brand)}
.woocommerce-privacy-policy-text p{font-size:.84rem;color:var(--muted);line-height:1.6;margin-bottom:.8rem}
.woocommerce-privacy-policy-text a{color:var(--brand-ink)}
.rp-notice:focus,.woocommerce-error:focus,.woocommerce-message:focus,.woocommerce-info:focus{outline:none}
