/*
Theme Name: phpFox App Store
Theme URI: https://appstore.phpfox.com/
Author: phpFox
Author URI: https://www.phpfox.com/
Description: phpFox / MetaFox App Store — 2026 redesign. Presentation layer only; all commerce, licensing and API logic stays in the phpFox Store plugin. Layout and colour live in inline style attributes so the markup matches the source design 1:1; this stylesheet carries resets, link colours, interaction states, and a compatibility layer for plugin-rendered markup.
Version: 2.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: phpfoxstore
*/

/* ================= 1. reset & document defaults ================= */
/* legacy.css declares FontAwesome with a path relative to /assets/css/ that
   resolves to a 404 (assets/css/assets/fonts/…). Re-declare it here — style.css
   sits at the theme root, so this relative path is correct — which restores
   every .fa icon (rating stars, cog, chevrons, spinners, calendar…). */
@font-face{
  font-family:'FontAwesome';
  src:url('assets/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),
      url('assets/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),
      url('assets/fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype');
  font-weight:normal;font-style:normal;font-display:block;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:#FFFFFF;font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;-webkit-font-smoothing:antialiased;color:#212121;line-height:1.5}
/* Sticky footer: keep the footer pinned to the viewport bottom on short pages */
body.pfs{min-height:100vh;display:flex;flex-direction:column}
body.pfs #pfs-content{flex:1 0 auto}
img{max-width:100%}
a{color:#175CFF;text-decoration:none}
a:hover{color:#0F47CC;text-decoration:underline}
input,select,button,textarea{font-family:inherit}
::selection{background:#D6E4FF}
/* the design's clickable text keeps the surrounding ink colour */
a[style],a[class]{color:inherit}
a[style]:hover,a[class]:hover{text-decoration:none}
[data-pfs-link],[data-pfs-action]{cursor:pointer}
nav::-webkit-scrollbar{display:none}
.pfs-sr,.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pfs-skip-link{position:absolute;left:-9999px}
.pfs-skip-link:focus{left:12px;top:12px;z-index:100;background:#fff;padding:10px 16px;border-radius:8px;box-shadow:0 6px 26px -14px rgba(33,33,33,.16)}

/* --- site header — organised like www.phpfox.us: logo · text nav · action --- */
.pfs-hd-outer{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #E4E8EF}
.pfs-hd{position:relative;width:100%;padding:15px 32px;min-height:64px;display:flex;align-items:center;gap:24px}
.pfs-hd__logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex:1 1 0%;min-width:max-content}
.pfs-hd__logo img{height:30px;width:auto;max-width:100%;display:block}
.pfs-hd__badge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:#175CFF;padding-left:10px;border-left:1px solid #E4E8EF}
.pfs-hd__nav{flex:0 1 auto;display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:18px;font-size:15px;font-weight:500;min-width:0;overflow-x:auto;scrollbar-width:none}
.pfs-hd__nav::-webkit-scrollbar{display:none}
a.pfs-hd__navlink{white-space:nowrap;color:#5B5F66;transition:color .15s;position:relative;padding:4px 0}
a.pfs-hd__navlink:hover{color:#212121;text-decoration:none}
a.pfs-hd__navlink[aria-current]{color:#175CFF;font-weight:600}
a.pfs-hd__navlink[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:#175CFF;border-radius:2px}
.pfs-hd__side{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex:1 1 0%;min-width:max-content}
a.pfs-hd__login{display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;border-radius:8px;padding:11px 20px;white-space:nowrap;color:#fff;background:#175CFF;box-shadow:none;transition:background .15s}
a.pfs-hd__login:hover,a.pfs-hd__login:focus{background:#0F3FB8;color:#fff;text-decoration:none;box-shadow:none}
.pfs-hd__cart{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #E4E8EF;border-radius:100px;background:#fff;flex-shrink:0}
.pfs-hd__cart-n{font-size:11px;font-weight:700;min-width:19px;height:19px;padding:0 5px;border-radius:100px;background:#175CFF;color:#fff;display:flex;align-items:center;justify-content:center}
.pfs-hd__burger{display:none;width:40px;height:40px;border:1px solid #E4E8EF;border-radius:9px;cursor:pointer;flex-shrink:0;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.pfs-hd__burger span{display:block;width:17px;height:2px;border-radius:2px;background:#41454C;transition:transform .18s,opacity .18s}
.pfs-hd__toggle:checked~.pfs-hd .pfs-hd__burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.pfs-hd__toggle:checked~.pfs-hd .pfs-hd__burger span:nth-child(2){opacity:0}
.pfs-hd__toggle:checked~.pfs-hd .pfs-hd__burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media (max-width:1000px){
  .pfs-hd__nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid #E4E8EF;box-shadow:0 22px 40px -22px rgba(33,33,33,.28);padding:8px;overflow:visible}
  .pfs-hd__toggle:checked~.pfs-hd .pfs-hd__nav{display:flex}
  a.pfs-hd__navlink{padding:12px 12px;border-radius:9px}
  a.pfs-hd__navlink:hover{background:#F5F7FA}
  a.pfs-hd__navlink[aria-current]::after{display:none}
  a.pfs-hd__navlink[aria-current]{background:#EAF1FF}
  .pfs-hd__burger{display:flex}
}
@media (max-width:600px){
  .pfs-hd{padding:12px 16px;gap:10px}
  .pfs-hd__badge{display:none}
  .pfs-hd__logo img{height:25px}
  .pfs-hd__side{gap:8px}
  a.pfs-hd__login{padding:8px 14px;font-size:13.5px}
  .pfs-hd__cart{padding:6px 8px}
}

/* ================= 2. interaction states from the design ================= */
.pfs-i1:hover{color:#175CFF!important;background:#F5F7FA!important}
.pfs-i2:active{transform:translateY(1px)!important}
.pfs-i3:hover{border-color:#212121!important}
.pfs-i4:hover{background:rgba(255,255,255,0.16)!important}
.pfs-i5:hover{border-bottom-color:#fff!important}
.pfs-i6:hover{color:#fff!important}
.pfs-i7:hover{border-color:#B9CEFF!important}
.pfs-i8:hover{background:#0F47CC!important;box-shadow:0 8px 20px -8px rgba(15,71,204,0.8)!important}
.pfs-i9:hover{background:#F5F7FA!important}
.pfs-i10:hover{border-color:#175CFF!important}
.pfs-i11:hover{background:#F5F9FF!important}
.pfs-i12:hover{box-shadow:0 12px 28px -14px rgba(33,33,33,0.2)!important;transform:translateY(-2px)!important}
.pfs-i13:hover{text-decoration:underline!important}
a.pfs-i13[aria-current]{color:#175CFF!important;font-weight:700}
.pfs-i14:hover{border-color:#C6D2E4!important}
.pfs-i15:hover{background:#0F47CC!important}
.pfs-i16:hover{color:#175CFF!important}
.pfs-i17:hover{background:#0A3599!important}
.pfs-i18:focus{border-color:#175CFF!important;background:#fff!important}
.pfs-i19:hover{border-color:#175CFF!important;color:#175CFF!important}
.pfs-i20:hover{border-color:#B9D2FF!important}
.pfs-i21:hover{box-shadow:0 14px 32px -16px rgba(33,33,33,0.22)!important;transform:translateY(-2px)!important}

/* ================= 3. plugin / WordPress compatibility layer ================= *
 * The 12 static templates are inline-styled and need nothing here. These rules
 * only tidy markup produced by the phpFox Store plugin (shortcode grids, the
 * AJAX listing mustache, the single-product parts, checkout, expert profile,
 * manage screens) which legacy.css still styles underneath. */

/* --- design tokens reused by the compat layer --- */
.pfs{--b:#175CFF;--bd:#0F47CC;--bsoft:#EAF1FF;--bline:#D6E4FF;--ink:#212121;--ink2:#41454C;--mut:#6A6E77;--mut2:#9AA0AB;--line:#E4E8EF;--line2:#EEF1F6;--surf:#F5F7FA;--green:#177C42;--red:#C0362C;--amber:#B4690E}

/* --- store shortcode grids: the <ul> is the grid, each <li> a card --- */
ul[class*="ps-"][class*="-grid"],ul[class*="ps-"][class*="-style"],ul.ps-products-listing,ul.ps-expert-listing,.pfs main ul.products{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(258px,1fr))}
ul[class*="ps-"][class*="-grid"].owl-loaded{display:block}
ul[class*="ps-"][class*="-grid"]>li,ul[class*="ps-"][class*="-style"]>li,ul.ps-products-listing>li,ul.ps-expert-listing>li{list-style:none;min-width:0;width:auto;max-width:none;float:none;margin:0;padding:0}
.pfs .owl-carousel .pfs-pcard{height:100%}

/* --- product card (emitted by content-*.php + the listing mustache) --- */
.pfs-pcard{background:#fff;border:1px solid #E4E8EF;border-radius:16px;padding:18px;cursor:pointer;display:flex;flex-direction:column;transition:box-shadow .18s,transform .18s}
.pfs-pcard:hover{box-shadow:0 14px 30px -16px rgba(33,33,33,.22);transform:translateY(-2px)}
.pfs-pcard__cover{position:relative;aspect-ratio:1.667/1;overflow:hidden;border:1px solid #E4E8EF;border-radius:12px;background:#EAF1FF;margin-bottom:16px;display:flex;align-items:flex-start;justify-content:flex-start;padding:10px}
.pfs-pcard__cover--blank{background:#EAF1FF}
.pfs-pcard__cover-mark{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-size:52px;font-weight:700;line-height:1;color:#175CFF;letter-spacing:-.02em;text-transform:uppercase}
.pfs-pcard__cover-img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;border:0;display:block}
.pfs-pcard__cover-img[src=""],.pfs-pcard__cover-img:not([src]){display:none}
/* fallback icon (e.g. the default theme icon) — a square mark, not a screenshot: show it whole, centred, on its own tint instead of cropping it to the wide cover */
.pfs-pcard__cover-img--icon{object-fit:contain;object-position:center;padding:14px;background:#EEF3FF}
.pfs-pcard__badge{position:absolute;top:10px;left:10px;z-index:3;display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:800;letter-spacing:.02em;line-height:1;padding:5px 10px;border-radius:9px;background:linear-gradient(135deg,#FF6A3D 0%,#E8341A 100%);color:#fff;border:0;text-transform:uppercase;box-shadow:0 6px 16px -4px rgba(232,52,26,.55),0 1px 2px rgba(0,0,0,.12)}
.pfs-pcard__body{padding:0;display:flex;flex-direction:column;flex:1}
.pfs-pcard__title{font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.3}
.pfs-pcard__title a{color:inherit}
.pfs-pcard__by{font-size:12.5px;color:#6A6E77;margin-top:3px}
.pfs-pcard__by a{color:#175CFF;font-weight:600}
.pfs-pcard__by a:hover{text-decoration:underline}
.pfs-pcard__by span+a,.pfs-pcard__by span{margin-right:3px}
.pfs-pcard__excerpt{margin:11px 0 13px;font-size:13.5px;line-height:1.55;color:#6A6E77;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pfs-pcard__meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:16px}
.pfs-pcard__stars{font-size:12.5px;color:#175CFF;letter-spacing:.06em;white-space:nowrap}
.pfs-pcard__stars--dim{color:#9AA0AB}
.pfs-pcard__ratecount{font-size:11px;color:#6A6E77;white-space:nowrap}
.pfs-pcard__tag{font-size:10.5px;padding:3px 6px;border-radius:5px;background:#F1F4F9;color:#6A6E77}
.pfs-pcard__foot{margin-top:auto;padding-top:16px;border-top:1px solid #EEF1F6;display:flex;align-items:center;justify-content:space-between;gap:10px}
.pfs-pcard__price{font-size:20px;font-weight:800;letter-spacing:-.02em;color:#212121;display:flex;align-items:baseline;gap:7px}
.pfs-pcard__price--free{color:#212121}
.pfs-pcard__price s{font-size:13.5px;font-weight:600;color:#6A6E77;text-decoration:line-through}
a.pfs-pcard__btn,.pfs-pcard__btn{border:none;font-size:13px;font-weight:700;padding:13px 22px;border-radius:11px;cursor:pointer;flex-shrink:0;background:#175CFF;color:#fff;text-decoration:none;white-space:nowrap;display:inline-block}
a.pfs-pcard__btn:hover,.pfs-pcard__btn:hover{background:#0F47CC;color:#fff;text-decoration:none}
a.pfs-pcard__btn--ghost,.pfs-pcard__btn--ghost{background:#EAF1FF;color:#175CFF;border:0}
a.pfs-pcard__btn--ghost:hover,.pfs-pcard__btn--ghost:hover{background:#D9E6FF;color:#0F47CC;border:0}

/* --- section header helper --- */
.pfs-secthead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:20px}
.pfs-secthead h2{margin:0;font-size:clamp(20px,2.6vw,25px);font-weight:700;letter-spacing:-.02em}

/* --- pagination / load more --- */
.pfs-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:36px}
.pfs-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border-radius:100px;border:1px solid #E4E8EF;background:#fff;color:#41454C;font-size:13px;font-weight:600}
.pfs-pagination .page-numbers.current{background:#EAF1FF;border-color:#D6E4FF;color:#0F47CC}
.pfs-loadmore{display:inline-flex;align-items:center;justify-content:center;border:1px solid #E4E8EF;background:#fff;color:#41454C;font-weight:600;font-size:14px;padding:11px 22px;border-radius:100px;cursor:pointer}
.pfs-loadmore:hover{border-color:#C6D2E4}

/* --- messages / notices --- */
.ps-messages{padding:0;margin:0 0 16px;list-style:none}
.woocommerce-message,.ps-message,.ps-messages li,.pfs-notice{border-radius:12px;padding:13px 16px;font-size:13.5px;border:1px solid #D6E4FF;background:#EAF1FF;color:#0F47CC;margin-bottom:10px}
.ps-messages .error,.ps-error,.pfs-notice--error{border-color:#F0CFCC;background:transparent;color:#C0362C}
.alert-warning{border-radius:12px;padding:13px 16px;font-size:13.5px;border:1px solid #F0DFC0;background:#FFF6E6;color:#B4690E}

/* --- legacy button / form normalisation (un-ported parts) --- */
.pfs .btn,.pfs .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:100px;background:#175CFF;color:#fff;font-weight:700;font-size:14px;padding:11px 22px;border:0;cursor:pointer;text-decoration:none;line-height:1.2}
.pfs .btn:hover,.pfs .button:hover{background:#0F47CC;color:#fff;text-decoration:none}
.pfs .btn-outline-primary,.pfs .btn-outline{background:#EAF1FF;color:#175CFF;border:1px solid #D6E4FF}
.pfs .btn-sm{font-size:12.5px;padding:8px 14px}
.pfs .btn-link{background:none;color:#175CFF;padding:0}
.pfs .form-control{width:100%;border:1px solid #E4E8EF;background:#fff;border-radius:11px;padding:11px 14px;font-size:14px;outline:none}
.pfs .form-control:focus{border-color:#175CFF;box-shadow:0 0 0 3px rgba(23,92,255,.12)}
.pfs .container{max-width:1240px}

/* --- WP core alignment / prose --- */
.alignleft{float:left;margin:0 24px 16px 0}.alignright{float:right;margin:0 0 16px 24px}.aligncenter{display:block;margin:0 auto 16px}
.wp-caption{max-width:100%}.wp-caption-text{font-size:12.5px;color:#6A6E77;text-align:center}
.pfs-prose{display:flex;flex-direction:column;gap:20px}
.pfs-prose>*{margin:0}
.pfs-prose h1{font-size:20px;font-weight:800;margin:14px 0 0}
.pfs-prose h2{font-size:19px;font-weight:800}
.pfs-prose h3{font-size:16px;font-weight:700;margin-top:14px}
.pfs-prose p,.pfs-prose li{font-size:15px;line-height:1.75;color:#41454C}
.pfs-prose ul,.pfs-prose ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.pfs-prose a{font-weight:600}
.pfs-prose>*:first-child{margin-top:0}
.pfs-prose .wp-block-spacer{height:14px!important}

/* --- single product (plugin parts inside the new card shell) --- */
.pfs-single .pfs-breadcrumb{font-size:13px;color:#6A6E77;margin-bottom:18px}
.pfs-single .pfs-breadcrumb a{color:#6A6E77}
.pfs-single .pfs-breadcrumb a:hover{color:#175CFF}
.pfs-single .pfs-card{background:#fff;border:1px solid #E4E8EF;border-radius:16px;padding:22px;margin-bottom:16px}

/* page-head card (content-title.php) */
.pfs-single .product-detail-content{display:flex;gap:16px;align-items:flex-start;margin:0 0 16px;background:linear-gradient(180deg,#FFFFFF 0%,#F4F8FF 100%);border:1px solid #E1E8F4;border-radius:18px;padding:20px 22px}
.pfs-single .product-detail-content .product-thumbnail{position:relative;flex-shrink:0;width:60px;height:60px;margin:0;border-radius:14px;overflow:hidden;background:#fff;border:1px solid #E1E8F4}
.pfs-single .product-detail-content .product-thumbnail img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;display:block;border-radius:0;outline:0}
.pfs-single .product-detail-content .product-thumbnail .pfs-thumb-mark{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-size:25px;font-weight:800;color:#175CFF;opacity:.55;text-transform:uppercase}
.pfs-single .product-info{min-width:0;flex:1}
.pfs-single .product-title{font-size:clamp(20px,2.7vw,26px);font-weight:800;letter-spacing:-.03em;line-height:1.2;margin:0 0 7px;display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center;text-align:left;gap:9px}
.pfs-single .flat-featured{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#175CFF;background:#EAF1FF;border:1px solid #D6E4FF;padding:3px 9px;border-radius:100px}
.pfs-single .product-info>.d-flex{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px;width:100%}
.pfs-single .product-author{display:block;font-size:13px;color:#6A6E77}
.pfs-single .product-category{display:inline;font-size:13px;color:#6A6E77;line-height:1.6}
.pfs-single .product-category a{color:#6A6E77;font-weight:600;white-space:nowrap}
.pfs-single .product-category a:hover{color:#175CFF}
.pfs-single .product-info>.d-flex>.d-flex:last-child{display:flex;align-items:center;gap:10px;width:auto}
.pfs-single .product-installs{font-size:12px;color:#6A6E77;white-space:nowrap;background:#F1F4F9;padding:4px 10px;border-radius:100px}
.pfs-single .product-detail-actions{flex-shrink:0}
.pfs-single .product-detail-actions .btn-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #E4E8EF;border-radius:9px;color:#6A6E77;cursor:pointer;font-size:13px}
.pfs-single .product-detail-actions .btn-toggle:hover{background:#F5F7FA;color:#212121}
.pfs-single .product-detail-actions .dropdown-menu{border:1px solid #E4E8EF;border-radius:12px;box-shadow:0 18px 40px -18px rgba(33,33,33,.3);padding:6px;min-width:190px;list-style:none;margin:6px 0 0}
.pfs-single .product-detail-actions .dropdown-menu .nav-link{display:block;padding:9px 11px;border-radius:8px;font-size:13.5px;color:#41454C}
.pfs-single .product-detail-actions .dropdown-menu .nav-link:hover{background:#F5F7FA;text-decoration:none}
.pfs-single .product-info p.mb-0{margin:9px 0 0;font-size:12.5px;color:#6A6E77}

/* gallery card — paged screenshot slider (dots, no free scroll) */
.pfs-single .pfs-single-gallery{padding:20px;background:linear-gradient(180deg,#FFFFFF 0%,#F4F8FF 100%);border:1px solid #E1E8F4}
.pfs-single .product-detail-screenshots{margin:0}
.pfs-single .pfs-shots__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.pfs-single .pfs-shots__title{margin:0;font-size:16px;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:9px}
.pfs-single .pfs-shots__title::before{content:"";width:4px;height:16px;border-radius:3px;background:linear-gradient(#3B82FF,#0F47CC)}
.pfs-single .pfs-shots__nav{display:flex;gap:8px;flex-shrink:0}
.pfs-single .pfs-shots__btn{width:32px;height:32px;border-radius:50%;border:1px solid #D8E2F2;background:#fff;color:#175CFF;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,opacity .15s,color .15s}
.pfs-single .pfs-shots__btn:hover{background:#EAF1FF;border-color:#B9CEFF}
.pfs-single .pfs-shots__btn[disabled]{opacity:.35;cursor:default;background:#fff;color:#9AA7BD}
.pfs-single .pfs-shots__track{display:flex;gap:12px;list-style:none;margin:0;padding:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none}
.pfs-single .pfs-shots__track::-webkit-scrollbar{display:none}
.pfs-single .pfs-shots__track:focus-visible{outline:2px solid #175CFF;outline-offset:2px;border-radius:8px}
.pfs-single .pfs-shots__track li{list-style:none;flex:0 0 calc((100% - 24px) / 3);min-width:0;scroll-snap-align:start}
.pfs-single .pfs-shot{position:relative;display:block;aspect-ratio:16/10;border:1px solid #DCE6F5;border-radius:12px;overflow:hidden;background:linear-gradient(140deg,#EEF4FF 0%,#DBE8FF 100%);cursor:pointer;transition:border-color .18s ease}
.pfs-single .pfs-shot:hover{border-color:#B9CEFF}
.pfs-single .pfs-shot__mark{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-size:40px;font-weight:700;color:#175CFF;opacity:.5;text-transform:uppercase}
.pfs-single .pfs-shot img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;display:block}
.pfs-single .pfs-shot img[src=""],.pfs-single .pfs-shot img:not([src]){display:none}
.pfs-single .pfs-shot:hover img{transform:scale(1.03);transition:transform .25s}
.pfs-single .pfs-shots__dots{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:16px}
.pfs-single .pfs-shots__dots[hidden]{display:none}
.pfs-single .pfs-shots__dot{width:8px;height:8px;padding:0;border:0;border-radius:100px;background:#CDD9EC;cursor:pointer;transition:background .18s ease,width .18s ease}
.pfs-single .pfs-shots__dot:hover{background:#A9BEDE}
.pfs-single .pfs-shots__dot[aria-current="true"]{width:22px;background:linear-gradient(90deg,#3B82FF,#0F47CC)}
@media (max-width:900px){.pfs-single .pfs-shots__track li{flex-basis:calc((100% - 12px) / 2)}}
@media (max-width:560px){.pfs-single .pfs-shots__track li{flex-basis:100%}}
.pfs-single .ps-middle-content.app-detail-price-block{display:none!important}

/* tabs card (content-tabs.php) — pill tabs, faint rule under the row */
.pfs-single .pfs-single-body{padding:0;overflow:hidden}
.pfs-single .ps-tab-wapper{border-bottom:1px solid #EEF1F7;margin:0;padding:10px 12px}
.pfs-single .ps-tab-wapper-inner{height:auto;overflow:visible;position:static;bottom:auto;background:none;border:0;border-radius:0;padding:0}
.pfs-single .product-detail-tabs{display:flex;gap:4px;list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}
.pfs-single .product-detail-tabs::-webkit-scrollbar{display:none}
.pfs-single .ps-tab-wapper .product-detail-tabs .nav-item{flex:0 0 auto}
.pfs-single .ps-tab-wapper .product-detail-tabs li .nav-link{display:block;margin:0;padding:8px 15px;font-size:13px;font-weight:600;letter-spacing:-.005em;color:#5A6472;background:none;border:0;border-radius:9px;white-space:nowrap;cursor:pointer;transition:background .16s ease,color .16s ease}
.pfs-single .ps-tab-wapper .product-detail-tabs li .nav-link:hover{color:#1B2233;text-decoration:none;background:#F1F4FA}
.pfs-single .ps-tab-wapper .product-detail-tabs li .nav-link.active{color:#175CFF;font-weight:700;background:#EAF1FF}
.pfs-single .ps-tab-wapper .product-detail-tabs li .nav-link .pfs-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;border-radius:999px;background:#E1E7F1;color:#5A6472;font-size:11px;font-weight:700;line-height:1;letter-spacing:0;vertical-align:middle}
.pfs-single .ps-tab-wapper .product-detail-tabs li .nav-link.active .pfs-tab-count,
.pfs-single .ps-tab-wapper .product-detail-tabs li .nav-link:hover .pfs-tab-count{background:#175CFF;color:#fff}
.pfs-single .tab-content{padding:24px 22px}
.pfs-single .tab-content>.tab-pane{display:none}
.pfs-single .tab-content>.tab-pane.active{display:block}
.pfs-single .tab-pane,.pfs-single .product-content-ck{font-size:14.5px;line-height:1.75;color:#41454C}
.pfs-single .tab-pane>:first-child,.pfs-single .product-content-ck>:first-child{margin-top:0}
.pfs-single .tab-pane h2,.pfs-single .tab-pane h3,.pfs-single .tab-pane h4,.pfs-single .tab-pane h5{font-size:15.5px;font-weight:700;margin:22px 0 10px;letter-spacing:-.01em;color:#212121}
.pfs-single .tab-pane p{margin:0 0 12px}
.pfs-single .product-content-ck ul,.pfs-single .product-content-ck ol,.pfs-single .ps-detail-whatnews ul,.pfs-single .ps-detail-whatnews ol{padding-left:20px;display:flex;flex-direction:column;gap:6px;margin:0 0 14px}
.pfs-single .tab-pane img:not(.pfs-pcard__cover-img){border-radius:10px;border:1px solid #E4E8EF;margin:6px 0}
.pfs-single .tab-pane pre,.pfs-single .tab-pane code{background:#F5F7FA;border:1px solid #E4E8EF;border-radius:8px}
.pfs-single .tab-pane pre{padding:14px;overflow-x:auto;font-size:13px}
.pfs-single .ps-detail-whatnews{background:#EAF1FF;border:1px solid #D6E4FF;border-radius:12px;padding:15px 17px;margin-bottom:18px}
.pfs-single .ps-detail-whatnews h5{margin-top:0}
/* "Packages that include this product" (content-details-tab.php → content-package.php) */
.pfs-single .product-detail-packages-include{margin-top:26px;border-top:1px solid #EEF1F6;padding-top:20px}
.pfs-single .product-detail-packages-include h4{font-size:14px;font-weight:700;letter-spacing:-.01em;margin:0 0 12px;color:#212121}
.pfs-single .product-detail-packages-include ul.packages{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.pfs-single .product-detail-packages-include ul.packages>li{margin:0;padding:14px 0;border:0;border-top:1px solid #F0F2F7}
.pfs-single .product-detail-packages-include ul.packages>li:first-child{border-top:0;padding-top:0}
.pfs-single .product-detail-packages-include .post-content{display:flex;align-items:center;gap:14px}
.pfs-single .product-detail-packages-include .post-content .post-thumbnail{position:relative;flex:0 0 auto;width:56px;height:56px;min-width:56px;margin:0;padding:0;overflow:hidden;border-radius:13px}
.pfs-single .product-detail-packages-include .post-content .post-thumbnail::after{display:none!important;content:none!important}
.pfs-single .product-detail-packages-include .post-content .post-thumbnail .post-thumbnail-img{position:absolute;inset:0;display:block;width:100%;height:100%;border-radius:13px;border:1px solid #E4E8EF;background-color:#EEF3FF;background-size:cover;background-position:center;background-repeat:no-repeat;background-origin:border-box}
.pfs-single .product-detail-packages-include .post-info{flex:1;min-width:0;padding:0;display:flex;flex-direction:column;gap:2px}
.pfs-single .product-detail-packages-include .post-title{margin:0;font-size:14.5px;font-weight:700;letter-spacing:-.01em;line-height:1.3}
.pfs-single .product-detail-packages-include .post-title a{color:#212121}
.pfs-single .product-detail-packages-include .post-title a:hover{color:#175CFF}
.pfs-single .product-detail-packages-include .post-author{font-size:12.5px;color:#6A6E77;line-height:1.4}
.pfs-single .product-detail-packages-include .post-author a{color:#6A6E77;font-weight:600}
.pfs-single .product-detail-packages-include .post-author a:hover{color:#175CFF}
.pfs-single .product-detail-packages-include .post-info-price{display:flex;align-items:baseline;gap:10px 12px;margin-top:3px}
.pfs-single .product-detail-packages-include .post-extra-info{font-size:12.5px;font-weight:400;color:#6A6E77}
.pfs-single .product-detail-packages-include .product-price{display:inline-block;font-size:14.5px;font-weight:800;color:#212121;padding:0;margin:0 0 0 auto;white-space:nowrap}
.pfs-single .ps-faq-item{border:1px solid #E4E8EF;border-radius:12px;padding:14px 16px;margin-bottom:10px}
/* changelog / version history (content-changelog-tab.php) — plain list, no cards */
.pfs-single .pfs-changelog>div{display:flex;flex-direction:column;gap:0}
.pfs-single .app_detail_version_history_item{border:0;border-radius:0;padding:14px 0}
.pfs-single .app_detail_version_history_item:first-child{padding-top:0}
.pfs-single .app_detail_version_history_item:last-child{padding-bottom:0}
.pfs-single .app_detail_version_history_item+.app_detail_version_history_item{border-top:1px solid #EEF1F7}
.pfs-single .app_detail_version_history_item>div:first-child h3{margin:0 0 7px;font-size:14px;font-weight:700;color:#212121;letter-spacing:-.01em}
.pfs-single .app_detail_version_history_item>div{margin:0}
.pfs-single .app_detail_version_history_item>div+div{margin-top:3px;font-size:13px;line-height:1.55}
.pfs-single .app_detail_version_history_item strong{color:#41454C;font-weight:600}
.pfs-single .app_detail_version_history_item span{color:#6A6E77}

/* aside — sticky buy card (content-price-info.php) */
.pfs-single .pfs-split__aside{display:flex;flex-direction:column;gap:14px}
.pfs-single .pfs-buy{display:flex;flex-direction:column;gap:14px;position:sticky;top:88px}
.pfs-single .pfs-buycard{background:#fff;border:1px solid #E4E8EF;border-radius:16px;padding:22px;box-shadow:0 6px 26px -14px rgba(33,33,33,.16)}
.pfs-single .pfs-buycard .ps-aside-block{background:none;border:0;border-radius:0;padding:0;margin:0;display:block}
.pfs-single .pfs-buycard .app-detail-price-block{display:block!important}
.pfs-single .pfs-buycard .app-detail-review-block{border-top:1px solid #EEF1F6;margin-top:18px;padding-top:16px}
.pfs-single .pfs-buycard .app-detail-infomation-block{border-top:1px solid #EEF1F6;margin-top:18px;padding-top:16px}
.pfs-single .pfs-buycard .ps-price{display:block;border:0;padding:0;margin:0}
.pfs-single .pfs-buycard .ps-price .status{font-size:11.5px;font-weight:700;color:#6A6E77;display:block;margin-bottom:5px;padding:0;text-transform:uppercase;letter-spacing:.05em}
.pfs-single .pfs-buycard .ps-price .d-flex{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;padding:0}
.pfs-single .pfs-buycard .ps-price .discounted-price{font-size:32px;font-weight:800;letter-spacing:-.03em;line-height:1;color:#212121}
.pfs-single .pfs-buycard .ps-price .discounted-price.free{color:#177C42}
.pfs-single .pfs-buycard .ps-price .price{font-size:15px;color:#9AA0AB;text-decoration:line-through;padding:0}
.pfs-single .ps-package .infor-package{font-size:12px;color:#6A6E77;margin-top:10px}
.pfs-single .ps-package .infor-package ul{list-style:none;padding:0;margin:5px 0 0;font-weight:600;color:#41454C;display:flex;flex-direction:column;gap:2px}
.pfs-single form.cart{margin:16px 0 0}
.pfs-single .ps-btn-cart{margin:0}
.pfs-single .ps-btn-cart button,.pfs-single .app-detail-price-block button.btn{width:100%;border-radius:11px;background:#175CFF;color:#fff;font-weight:700;font-size:15px;padding:14px 20px;border:0;cursor:pointer;line-height:1.2;text-transform:none;transition:background .15s,border-color .15s,color .15s}
.pfs-single .ps-btn-cart button:hover{background:#0F47CC;color:#fff}
.pfs-single .ps-btn-cart button.pfs-pcard__btn--ghost,.pfs-single .app-detail-price-block button.pfs-pcard__btn--ghost{background:#EAF1FF;color:#175CFF;border:0}
.pfs-single .ps-btn-cart button.pfs-pcard__btn--ghost:hover,.pfs-single .app-detail-price-block button.pfs-pcard__btn--ghost:hover{background:#D9E6FF;color:#0F47CC;border:0}
.pfs-single .ps-btn-cart button[disabled]{opacity:.5;cursor:not-allowed}
.pfs-single .app-detail-price-block span[style*="red"]{display:block;margin-top:10px;font-size:12.5px}
.pfs-single .app-detail-review-block>*{margin:0}
.pfs-single .app-detail-review-block #ps_add_review_btn{display:inline-flex;width:auto;margin-top:12px;background:#EAF1FF;color:#175CFF;font-size:13px;padding:9px 16px;border-radius:100px}
.pfs-single .app-detail-infomation-block ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;font-size:13px}
.pfs-single .app-detail-infomation-block li{display:flex;justify-content:space-between;gap:12px}
.pfs-single .app-detail-infomation-block .label{color:#6A6E77;flex-shrink:0}
.pfs-single .app-detail-infomation-block .value{font-weight:600;text-align:right}
.pfs-single .app-detail-infomation-block .value a{color:#175CFF;font-weight:600}

/* compact developer card in the sidebar (content-expert-card.php) */
.pfs-single .pfs-devcard{background:#F5F7FA;border:1px solid #E4E8EF;border-radius:16px;padding:18px}
.pfs-single .pfs-devcard__id{display:flex;align-items:center;gap:13px}
.pfs-single .pfs-devcard__avatar{width:44px;height:44px;flex-shrink:0;border-radius:50%;overflow:hidden;background:#fff;border:1px solid #D5DBE5;display:block}
.pfs-single .pfs-devcard__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.pfs-single .pfs-devcard__text{min-width:0}
.pfs-single .pfs-devcard__name{font-size:14.5px;font-weight:700;letter-spacing:-.01em;line-height:1.3}
.pfs-single .pfs-devcard__name a{color:inherit}
.pfs-single .pfs-devcard__name a:hover{color:#175CFF}
.pfs-single .pfs-devcard__meta{font-size:12.5px;color:#6A6E77;margin-top:2px}
.pfs-single .pfs-devcard__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.pfs-single .pfs-devcard__actions .btn{width:auto;display:inline-flex;align-items:center;font-size:12.5px;font-weight:600;padding:8px 15px;border-radius:100px;margin:0;line-height:1.2}
.pfs-single .pfs-devcard__actions .btn-outline-primary{background:#fff;color:#175CFF;border:1px solid #D5DBE5}
.pfs-single .pfs-devcard__actions .btn-outline-primary:hover{background:#EAF1FF;border-color:#B9CEFF}
.pfs-single .pfs-devcard__actions .btn-primary{background:#175CFF;color:#fff;border:1px solid #175CFF}

/* "More from <developer>" at the foot of the page (content-expert-products.php) */
.pfs-single .pfs-morefrom{margin-top:40px;padding-top:32px;border-top:1px solid #E4E8EF}
.pfs-single .pfs-morefrom .pfs-sectionhead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:18px}
.pfs-single .pfs-morefrom .pfs-sectionhead h2{margin:0;font-size:20px;font-weight:700;letter-spacing:-.02em}
.pfs-single .pfs-morefrom .pfs-sectionhead a{font-size:14px;font-weight:600;color:#175CFF}
.pfs-single .ps-stars-rating .fa-star,.pfs-single .ps-stars-rating .fa-star-half-o,.pfs-single .ps-stars-rating .fa-star-half-empty{color:#175CFF}

@media (max-width:900px){.pfs-single .pfs-buy{position:static}}

/* ============ single PACKAGE page (single-package.php) ============ */
/* header card — overrides the flex product-detail-content layout */
.pfs-single .package-detail-content{display:block;background:linear-gradient(180deg,#FFFFFF 0%,#F4F8FF 100%);border:1px solid #E1E8F4;border-radius:18px;padding:0;margin:0 0 16px}
.pfs-single .package-detail-content .package-thumbnail{margin:0;padding:0}
.pfs-single .package-detail-content .package-thumbnail .bg-img{display:block;width:100%;height:auto;padding:0!important;aspect-ratio:16/5.4;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:#EAF1FF;border-bottom:1px solid #E7ECF4;border-radius:17px 17px 0 0}
.pfs-single .package-detail-content .package-detail-head{position:relative;z-index:1;padding:18px 22px 20px}
.pfs-single .package-detail-content .package-detail-head__row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.pfs-single .package-detail-content .product-title{margin:0;font-size:clamp(20px,2.6vw,26px);font-weight:800;letter-spacing:-.03em;line-height:1.2;text-align:left;display:block}
.pfs-single .package-detail-content .product-extra-info{display:flex;flex-wrap:wrap;align-items:center;gap:7px 9px;margin:9px 0 0;font-size:13px;color:#6A6E77}
.pfs-single .package-detail-content .package-meta{position:relative}
.pfs-single .package-detail-content .package-meta+.package-save-badge::before{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%);width:3px;height:3px;border-radius:50%;background:#C6D2E4}
.pfs-single .package-detail-content .package-save-badge{position:relative;display:inline-flex;align-items:center;height:20px;padding:0 9px;border-radius:999px;background:#EAF1FF;color:#0F47CC;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.pfs-single .package-detail-content .product-detail-actions{flex:0 0 auto}
.pfs-single .package-detail-content .ps-middle-content.app-detail-price-block{display:none!important}
.pfs-single .package-detail-content .package-description{padding:4px 22px 22px;font-size:14.5px;line-height:1.75;color:#41454C}
.pfs-single .package-detail-content .package-description>:first-child{margin-top:0}
.pfs-single .package-detail-content .package-description>:last-child{margin-bottom:0}

/* included-items section (content-products.php) inside the .pfs-single-body card */
.pfs-single .pfs-single-body>.product-detail-packages-include{margin:0;border-top:0;padding:20px 22px}
.pfs-single .ps-package-detail-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:0 0 16px;padding:0 0 14px;border-bottom:1px solid #EEF1F7}
.pfs-single .ps-package-detail-nav p{margin:0;font-size:14px;font-weight:700;letter-spacing:-.01em;color:#212121}
.pfs-single .ps-package-detail-nav ul.nav{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.pfs-single .ps-package-detail-nav ul.nav .nav-item{margin:0}
.pfs-single .ps-package-detail-nav ul.nav .nav-link{display:block;padding:7px 14px;border:0;border-radius:9px;font-size:12.5px;font-weight:600;color:#5A6472;background:none;cursor:pointer;transition:background .15s,color .15s}
.pfs-single .ps-package-detail-nav ul.nav .nav-link:hover{color:#1B2233;background:#F1F4FA;text-decoration:none}
.pfs-single .ps-package-detail-nav ul.nav .nav-link.active{color:#175CFF;background:#EAF1FF}
.pfs-single .pfs-single-body .product-detail-packages-include .tab-content>.tab-pane{display:none}
.pfs-single .pfs-single-body .product-detail-packages-include .tab-content>.tab-pane.active,
.pfs-single .pfs-single-body .product-detail-packages-include .tab-content>.tab-pane.show.active{display:block}
.pfs-single .pfs-single-body .product-detail-packages-include .tab-pane>ul{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0}
.pfs-single .pfs-single-body .product-detail-packages-include .tab-pane .pfs-pcard{padding:14px}
.pfs-single .pfs-single-body .product-detail-packages-include .tab-pane .pfs-pcard__excerpt{display:none}
.pfs-single .pfs-single-body .product-detail-packages-include .ps-btn-loadmore,
.pfs-single .pfs-single-body .product-detail-packages-include .ps-view-more{display:none!important}

/* --- experts listing — clean professional card, 2 columns, whole card links --- */
main.ps-experts-listing{padding-top:0!important}
.ps-experts-listing .pfs-section{padding-top:48px}
.ps-experts-listing ul.ps-expert-listing{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;margin:0!important;padding:0!important;list-style:none}
.ps-experts-listing .ps-expert-item{width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;display:block!important;float:none!important;list-style:none}

.ps-experts-listing .ps-expert-item .expert-content{background:linear-gradient(158deg,#FFFFFF 0%,#FDFEFF 55%,#F7FAFF 100%)!important;border:1px solid #E9EDF6!important;border-radius:18px!important;box-shadow:0 1px 2px rgba(16,37,87,.05)!important;padding:24px!important;height:100%;display:flex!important;flex-flow:row nowrap!important;align-items:flex-start!important;gap:18px!important;position:relative;overflow:hidden;cursor:pointer;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}
.ps-experts-listing .ps-expert-item .expert-content::before{content:""!important;display:block!important;position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#3B82FF,#0F47CC);opacity:0;transition:opacity .2s ease}
.ps-experts-listing .ps-expert-item .expert-content::after{display:none!important;content:none!important}
.ps-experts-listing .ps-expert-item .expert-content:hover{border-color:#C3D4FF!important;box-shadow:0 22px 44px -20px rgba(23,92,255,.32)!important;transform:translateY(-3px);background:linear-gradient(158deg,#FFFFFF 0%,#FBFDFF 45%,#F2F7FF 100%)!important}
.ps-experts-listing .ps-expert-item .expert-content:hover::before{opacity:1}
.ps-experts-listing .ps-expert-item .expert-cover{display:none!important}

.ps-experts-listing .ps-expert-item .expert-avatar{display:block!important;width:75px!important;min-width:75px!important;max-width:75px!important;height:75px!important;border-radius:50%!important;overflow:hidden!important;background:linear-gradient(150deg,#FFFFFF,#EEF3FF)!important;border:1px solid #E4E9F5!important;box-shadow:0 8px 18px -12px rgba(23,92,255,.28);flex-shrink:0;margin:0!important;transition:border-color .2s ease,box-shadow .2s ease}
.ps-experts-listing .ps-expert-item .expert-content:hover .expert-avatar{border-color:#B9CEFF!important;box-shadow:0 12px 24px -10px rgba(23,92,255,.5)}
.ps-experts-listing .ps-expert-item .expert-avatar img{width:100%!important;height:100%!important;object-fit:cover;display:block}

.ps-experts-listing .ps-expert-item .expert-info{padding:0!important;margin:0!important;width:auto!important;max-width:none!important;display:flex;flex-direction:column;gap:5px;flex:1 1 auto;min-width:0}
.ps-experts-listing .ps-expert-item .expert-title{font-size:17px;font-weight:800;margin:0!important;letter-spacing:-.02em;line-height:1.25}
.ps-experts-listing .ps-expert-item .expert-title a{color:#101F3B;font-size:17px!important;white-space:normal!important;display:inline!important;text-transform:none!important;text-decoration:none}
.ps-experts-listing .ps-expert-item .expert-content:hover .expert-title a{color:#175CFF}
.ps-experts-listing .ps-expert-item .expert-rating{display:none!important}

.ps-experts-listing .ps-expert-item .expert-stats{display:flex;flex-wrap:wrap;align-items:center;gap:0;font-size:12.5px;color:#6A6E77;margin:1px 0 3px}
.ps-experts-listing .ps-expert-item .expert-stats .expert-stat{white-space:nowrap}
.ps-experts-listing .ps-expert-item .expert-stats .expert-stat+.expert-stat::before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:#C6D2E4;margin:0 9px;vertical-align:middle}
.ps-experts-listing .ps-expert-item .expert-stats .expert-stat strong{color:#101F3B;font-weight:700}

.ps-experts-listing .ps-expert-item .expert-description{font-size:13.5px;line-height:1.6;color:#5A6472;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:2px 0 0!important;max-width:none!important}
.ps-experts-listing .ps-expert-item .expert-location{font-size:12px;color:#9AA0AB;display:flex!important;align-items:center;gap:5px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-experts-listing .ps-expert-item .expert-location span{overflow:hidden;text-overflow:ellipsis}
.ps-experts-listing .ps-expert-item .expert-location .fa{color:#B9C2D0;flex-shrink:0}

.ps-experts-listing .ps-expert-item .expert-actions{display:flex!important;gap:6px 12px;flex-wrap:wrap;align-items:center;margin:14px 0 0!important;padding-top:14px;border-top:1px solid #F0F2F6}
.ps-experts-listing .ps-expert-item .expert-actions .btn{width:auto!important;display:inline-flex!important;align-items:center;font-size:12.5px;font-weight:600;padding:8px 16px;border-radius:100px;margin:0!important;line-height:1.2;transition:background .15s,border-color .15s,color .15s}
.ps-experts-listing .ps-expert-item .expert-actions .btn-outline-primary{background:#fff;color:#175CFF;border:1px solid #D5DBE5}
.ps-experts-listing .ps-expert-item .expert-actions .btn-outline-primary:hover{background:#EAF1FF;border-color:#B9CEFF}
.ps-experts-listing .ps-expert-item .expert-actions .btn-primary{background:#175CFF;color:#fff;border:1px solid #175CFF}
.ps-experts-listing .ps-expert-item .expert-actions .btn-ghost-arrow{background:transparent;border:0;color:#175CFF;padding:8px 2px;margin-left:auto!important}
.ps-experts-listing .ps-expert-item .expert-actions .btn-ghost-arrow:hover{color:#0F3FB8}
.ps-experts-listing .feature-icon,.pfs .feature-icon{display:none}
@media (max-width:520px){
  .ps-experts-listing .ps-expert-item .expert-content{padding:18px!important;gap:14px!important}
  .ps-experts-listing .ps-expert-item .expert-avatar{width:61px!important;min-width:61px!important;max-width:61px!important;height:61px!important;border-radius:50%!important}
  .ps-experts-listing .ps-expert-item .expert-actions .btn-ghost-arrow{margin-left:0!important}
}

/* experts hero — image background + a white gradient scrim that covers only
   the top (text) band so the heading reads clearly while the artwork below
   stays untouched */
.pfs-experts-hero{position:relative;overflow:hidden;background-color:#EFF4FF;background-image:var(--pfs-hero-img);background-position:center bottom;background-size:cover;background-repeat:no-repeat;border-bottom:1px solid #E4E8EF}
.pfs-experts-hero::before{content:"";position:absolute;left:0;right:0;top:0;height:58%;background:linear-gradient(180deg,#EFF4FF 0%,rgba(239,244,255,0.98) 28%,rgba(239,244,255,0.8) 55%,rgba(239,244,255,0) 100%);pointer-events:none;z-index:0}
.pfs-experts-hero__inner{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:40px 24px 0;min-height:clamp(330px,29vw,460px);text-align:center}
.pfs-experts-hero .pfs-eyebrow{color:#175CFF;margin-bottom:9px}
.pfs-experts-hero h1{max-width:20ch;margin:0 auto;font-size:clamp(24px,3.6vw,38px);font-weight:800;letter-spacing:-.035em;line-height:1.12;color:#0F2557;text-wrap:balance}
@media (max-width:760px){
  /* the wide artwork doesn't crop well to a phone — plain tinted band instead */
  .pfs-experts-hero{background:linear-gradient(180deg,#EFF4FF 0%,#F7FAFF 100%)}
  .pfs-experts-hero::before{display:none}
  .pfs-experts-hero__inner{min-height:0;padding:30px 20px 32px}
}
.ps-experts-cover,.ps-expert-banner{display:none}
@media (max-width:820px){
  .ps-experts-listing ul.ps-expert-listing{grid-template-columns:1fr!important}
}
@media (max-width:460px){
  .ps-experts-listing .ps-expert-item .expert-content{flex-wrap:wrap}
}

/* ============ expert profile (legacy layout, fully re-skinned) ============ */
.ps-expert-detail-page{background:#fff}
.ps-expert-detail-page .container,.ps-expert-detail-page [id^="ps-ed-"],.ps-expert-detail-page [id^="ps_expert_"]{max-width:1160px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}
.ps-expert-detail-page h2,.ps-expert-detail-page .ps-heading-block{font-size:clamp(20px,2.6vw,26px)!important;font-weight:800!important;letter-spacing:-.02em;margin:0 0 18px!important;text-transform:capitalize!important;color:#101F3B}

/* cover — white band; the whole artwork is shown (contain) across the content
   column width; the pitch is a pull-quote in the left 60%. */
.ps-expert-detail-page .ps-expert-cover.pfs-expert-hero{position:relative;min-height:0;overflow:hidden;display:block;background:#fff;border-bottom:1px solid #E7ECF4}
.ps-expert-detail-page .pfs-expert-hero::after,.ps-expert-detail-page .pfs-expert-hero::before,.ps-expert-detail-page .pfs-expert-hero .ps-backgroud-image{display:none!important}
.ps-expert-detail-page .pfs-expert-hero__inner{position:relative;z-index:1;max-width:1160px;margin:0 auto;padding:0 24px;display:flex;flex-direction:column;justify-content:center;min-height:clamp(260px,27vw,340px);background-color:#fff;background-repeat:no-repeat;background-position:center center;background-size:contain;background-clip:content-box}
.ps-expert-detail-page .pfs-expert-hero--bare .pfs-expert-hero__inner{min-height:clamp(170px,18vw,230px)}
/* the pitch, as a pull-quote card in the left 60% */
.ps-expert-detail-page .ps-expert-cover.pfs-expert-hero .ps-expert-short-description{position:relative!important;z-index:1;inset:auto!important;transform:none!important;width:auto!important;max-width:60%;padding:16px 20px 16px 24px!important;margin:22px 0 22px clamp(11px,2.6vw,36px)!important;color:inherit!important;text-align:left!important;display:block!important;min-height:0!important;border-left:3px solid #175CFF;background:rgba(255,255,255,.9)!important;border-radius:4px 12px 12px 4px}
.ps-expert-detail-page .pfs-expert-hero .ps-expert-short-description::before{content:"\201C";position:absolute;left:12px;top:2px;font-family:Georgia,'Times New Roman',serif;font-size:44px;line-height:1;color:#175CFF;opacity:.3;pointer-events:none}
.ps-expert-detail-page .pfs-expert-hero .ps-expert-description{position:static;max-width:none;margin:0!important;padding:0!important;font-size:clamp(13px,1.4vw,16px)!important;font-weight:600;font-style:italic;line-height:1.5!important;letter-spacing:-.01em;color:#0C1B3A;background:none!important;text-align:left!important;display:block!important;min-height:0!important;text-wrap:normal;overflow-wrap:break-word}
@media (max-width:860px){
  .ps-expert-detail-page .pfs-expert-hero__inner{min-height:clamp(180px,40vw,240px);background-clip:border-box}
  .ps-expert-detail-page .ps-expert-cover.pfs-expert-hero .ps-expert-short-description{max-width:82%;padding:14px 16px 14px 20px!important}
  .ps-expert-detail-page .pfs-expert-hero .ps-expert-description{max-width:none;font-size:clamp(12.5px,3.4vw,15px)!important}
}

/* sticky identity bar */
.ps-expert-detail-page .ps-expert-info{border-bottom:1px solid #E7ECF4;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);margin-bottom:0!important}
.ps-expert-detail-page .ps-expert-block{max-width:1160px;margin:0 auto;padding:14px 24px;display:flex;flex-wrap:wrap;gap:12px 18px;justify-content:space-between;align-items:center}
.ps-expert-detail-page .ps-expert-name-rating{display:flex;gap:14px;align-items:center;min-width:0}
/* same avatar size as the /experts/ listing cards — size the wrapper too, the
   legacy sheet pins .ps-expert-photo to 50px and the img would overflow it */
.ps-expert-detail-page .ps-expert-photo{flex:0 0 auto;width:75px!important;height:75px!important;min-width:75px!important;margin-right:0!important;border:0!important;border-radius:50%;overflow:hidden;background:linear-gradient(150deg,#FFFFFF,#EEF3FF);box-shadow:0 8px 18px -12px rgba(23,92,255,.28)}
.ps-expert-detail-page .ps-expert-photo img{width:100%!important;height:100%!important;min-width:0;border-radius:50%;object-fit:cover;border:1px solid #E4E9F5;background:transparent}
@media (max-width:600px){
  .ps-expert-detail-page .ps-expert-photo{width:61px!important;height:61px!important;min-width:61px!important}
}
.ps-expert-detail-page .ps-infomation{display:flex;flex-direction:column;gap:3px;min-width:0}
.ps-expert-detail-page .ps-name{font-size:18px;font-weight:800;letter-spacing:-.02em;color:#101F3B}
.ps-expert-detail-page .ps-feature-icon{color:#175CFF;font-size:12px}
.ps-expert-detail-page .ps-infomation .ps-stars-rating{display:none}
.ps-expert-detail-page .ps-expert-headstats{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:12.5px;color:#5B6472}
.ps-expert-detail-page .ps-expert-headstats span{position:relative;display:inline-flex;align-items:center;gap:4px}
.ps-expert-detail-page .ps-expert-headstats span+span::before{content:"";position:absolute;left:-8px;width:3px;height:3px;border-radius:50%;background:#C6D2E4}
.ps-expert-detail-page .ps-expert-headstats strong{font-weight:700;color:#101F3B}
.ps-expert-detail-page .ps-expert-menu{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ps-expert-detail-page .ps-expert-menu .nav{display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;background:#F4F6FA;border:1px solid #E7ECF4;border-radius:12px;padding:4px}
.ps-expert-detail-page .ps-expert-menu .nav::-webkit-scrollbar{display:none}
.ps-expert-detail-page .ps-expert-menu .nav-link{display:flex;align-items:center;padding:8px 16px;border-radius:9px;font-size:13px;font-weight:600;color:#5B5F66;text-transform:none;white-space:nowrap;transition:background .15s,color .15s}
.ps-expert-detail-page .ps-expert-menu .nav-link:hover{color:#175CFF;text-decoration:none}
.ps-expert-detail-page .ps-expert-menu .nav-link.active{background:#fff;color:#0F47CC;box-shadow:0 1px 3px rgba(16,31,59,.1)}
.ps-expert-detail-page .ps-expert-menu .btn{border-radius:100px;font-size:12.5px;font-weight:700;padding:8px 18px}
.ps-expert-detail-page .ps-expert-menu .btn.mobile,.ps-expert-detail-page .ps-expert-menu .btn.d-none{display:none}
.ps-expert-detail-page .ps-expert-menu .dropdown .nav-link{color:#9AA0AB}

/* count badge — the "(12)" beside a tab label becomes a round pill holding the number */
.ps-expert-detail-page .ps-expert-menu .nav-link .pfs-tab-count,
.ps-expert-detail-page .ps-expert-subnav__item a .pfs-tab-count{display:inline-flex!important;align-items:center;justify-content:center;min-width:19px;height:19px;margin:0 0 0 7px!important;padding:0 6px!important;border-radius:999px!important;background:#E1E7F1!important;color:#5A6472!important;font-size:11px!important;font-weight:700!important;line-height:1!important;letter-spacing:0;font-family:inherit}
.ps-expert-detail-page .ps-expert-menu .nav-link.active .pfs-tab-count,
.ps-expert-detail-page .ps-expert-subnav__item a.active .pfs-tab-count,
.ps-expert-detail-page .ps-expert-menu .nav-link:hover .pfs-tab-count,
.ps-expert-detail-page .ps-expert-subnav__item a:hover .pfs-tab-count{background:#175CFF!important;color:#fff!important}

.ps-expert-detail-page .ps-expert-alert{background:#EAF1FF;border-bottom:1px solid #D6E4FF}
.ps-expert-detail-page .ps-expert-alert h3{max-width:1160px;margin:0 auto;padding:12px 24px;font-size:14px;font-weight:600;color:#0F47CC}

/* tab panels — each nav tab shows only its own section */
.ps-expert-detail-page .ps-expert-panel[hidden]{display:none!important}
.ps-expert-detail-page .ps-expert-panel>.ps-our-services:first-child,
.ps-expert-detail-page .ps-expert-panel>.ps-expert-subnav:first-child,
.ps-expert-detail-page .ps-expert-panel>.ps-customer-reviews:first-child,
.ps-expert-detail-page .ps-expert-panel>.ps-contact-form:first-child,
.ps-expert-detail-page .ps-expert-panel>.ps-our-products:first-child{border-top:0;margin-top:0}
.ps-expert-detail-page .ps-terms-of-service{padding-top:44px}
.ps-expert-detail-page .ps-expert-panel[data-ed-panel="reviews"] .ps-customer-reviews,
.ps-expert-detail-page .ps-expert-panel[data-ed-panel="contact"] .ps-contact-form{background:#fff!important;padding-top:44px!important}

/* about block */
.ps-expert-detail-page .ps-expert-about-block{padding-top:44px;padding-bottom:8px;margin-top:0!important}
.ps-expert-detail-page .ps-heading-addthis{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px!important}
.ps-expert-detail-page .ps-heading-addthis .ps-heading-block{margin-bottom:0!important}
.ps-expert-detail-page .ps-description{font-size:15px;line-height:1.75;color:#41454C;max-width:none}
.ps-expert-detail-page .ps-description br+br{content:"";display:block;height:8px}
.ps-expert-detail-page .ps-button-group{margin:18px 0 0}
.ps-expert-detail-page .ps-button-group .btn{border:1px solid #D5DBE5;color:#175CFF;background:#fff;border-radius:100px;font-size:12.5px;font-weight:600;padding:8px 16px}
.ps-expert-detail-page .ps-button-group .btn:hover{background:#EAF1FF;border-color:#B9CEFF}
.ps-expert-detail-page .ps-statistic{list-style:none;margin:26px 0 0;padding:16px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;background:#F7F9FD;border:1px solid #E7ECF4;border-radius:14px}
.ps-expert-detail-page .ps-statistic li{display:flex;flex-direction:column;gap:2px;font-size:13px;position:relative}
.ps-expert-detail-page .ps-statistic li+li:not(.ps-social-icons)::before{content:"";position:absolute;left:-13px;top:2px;bottom:2px;width:1px;background:#E0E6F0}
.ps-expert-detail-page .ps-statistic li>span:first-child{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#9AA0AB}
.ps-expert-detail-page .ps-statistic li>span:last-child,.ps-expert-detail-page .ps-statistic li a{font-weight:700;color:#101F3B}
.ps-expert-detail-page .ps-statistic li a{color:#175CFF}
.ps-expert-detail-page .ps-statistic .ps-social-icons{flex-direction:row;gap:8px;margin-left:auto}
.ps-expert-detail-page .ps-statistic .ps-social-icons a{width:30px;height:30px;border:0;border-radius:0;background:none;display:flex;align-items:center;justify-content:center;color:#41454C;transition:color .15s}
.ps-expert-detail-page .ps-statistic .ps-social-icons a:hover,
.ps-expert-detail-page .ps-statistic .ps-social-icons a:hover i{border:0;background:none;opacity:1;color:#175CFF!important}

/* our services — clean white section, bordered cards */
.ps-expert-detail-page .ps-our-services{background:#fff;border-top:1px solid #EDF0F5;padding:48px 0 54px;margin-top:20px}
.ps-expert-detail-page .ps-our-services .ps-heading-block{text-align:center;margin-bottom:4px!important}
.ps-expert-detail-page .ps-our-services .ps-service-items{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;margin:30px 0 0!important;padding:0!important}
.ps-expert-detail-page .ps-our-services .ps-service-items .ps-service-item{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #E7ECF4;border-radius:18px;padding:28px 26px 30px!important;margin:0!important;max-width:none!important;flex:0 1 auto!important;width:auto!important;box-shadow:0 2px 6px rgba(16,31,59,.05);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.ps-expert-detail-page .ps-our-services .ps-service-items .ps-service-item::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#3B82FF,#0F47CC);opacity:0;transition:opacity .18s ease}
.ps-expert-detail-page .ps-our-services .ps-service-items .ps-service-item:hover{transform:translateY(-4px);box-shadow:0 24px 44px -20px rgba(23,92,255,.32);border-color:#CFE0FF}
.ps-expert-detail-page .ps-our-services .ps-service-items .ps-service-item:hover::after{opacity:1}
.ps-expert-detail-page .ps-our-services .ps-service-items .ps-service-item::before{content:"\f0eb";font-family:'FontAwesome';font-size:19px;line-height:1;color:#fff;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(150deg,#3B82FF,#0F47CC);margin-bottom:16px;flex:0 0 auto;box-shadow:0 10px 20px -8px rgba(23,92,255,.6)}
.ps-expert-detail-page .ps-our-services .ps-service-items .ps-service-item:nth-child(6n+2)::before{content:"\f121"}
.ps-expert-detail-page .ps-our-services .ps-service-items .ps-service-item:nth-child(6n+3)::before{content:"\f1fc"}
.ps-expert-detail-page .ps-our-services .ps-service-items .ps-service-item:nth-child(6n+4)::before{content:"\f085"}
.ps-expert-detail-page .ps-our-services .ps-service-items .ps-service-item:nth-child(6n+5)::before{content:"\f1cd"}
.ps-expert-detail-page .ps-our-services .ps-service-items .ps-service-item:nth-child(6n)::before{content:"\f0d0"}
.ps-expert-detail-page .ps-our-services .ps-service-items .ps-service-item .item-title{font-size:16.5px!important;font-weight:800;letter-spacing:-.01em;margin:0 0 9px!important;color:#101F3B;text-transform:capitalize}
.ps-expert-detail-page .ps-our-services .ps-service-items .ps-service-item .item-description{font-size:14px!important;line-height:1.68!important;color:#5A6472;margin:0!important}
@media (max-width:900px){.ps-expert-detail-page .ps-our-services .ps-service-items{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:560px){.ps-expert-detail-page .ps-our-services .ps-service-items{grid-template-columns:1fr!important;gap:14px!important}}

/* other experts — a compact directory of every other developer */
.ps-expert-detail-page .pfs-other-experts{background:linear-gradient(180deg,#FFFFFF 0%,#F6F9FE 100%);padding:48px 0 54px}
.ps-expert-detail-page .pfs-other-experts__head{text-align:center;margin-bottom:26px}
.ps-expert-detail-page .pfs-other-experts__head .ps-heading-block{margin:0!important;position:relative;padding-bottom:16px}
.ps-expert-detail-page .pfs-other-experts__head .ps-heading-block::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:46px;height:3px;border-radius:2px;background:#175CFF}
.ps-expert-detail-page .pfs-other-experts__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ps-expert-detail-page .pfs-other-expert{display:flex;align-items:center;gap:11px;padding:11px 13px;background:#fff;border:1px solid #E9EDF6;border-radius:12px;cursor:pointer;min-width:0;transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease}
.ps-expert-detail-page .pfs-other-expert:hover{transform:translateY(-2px);box-shadow:0 14px 28px -16px rgba(23,92,255,.3);border-color:#CFE0FF}
.ps-expert-detail-page .pfs-other-expert__avatar{width:42px;height:42px;min-width:42px;border-radius:50%;overflow:hidden;background:#EEF3FF;border:1px solid #E4E9F5;display:block}
.ps-expert-detail-page .pfs-other-expert__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.ps-expert-detail-page .pfs-other-expert__body{min-width:0;display:flex;flex-direction:column;gap:1px}
.ps-expert-detail-page .pfs-other-expert__name{font-size:13.5px;font-weight:700;letter-spacing:-.01em;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-expert-detail-page .pfs-other-expert__name a{color:#101F3B}
.ps-expert-detail-page .pfs-other-expert:hover .pfs-other-expert__name a{color:#175CFF}
.ps-expert-detail-page .pfs-other-expert__meta{font-size:12px;color:#6A6E77;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-expert-detail-page .pfs-other-expert__meta strong{font-weight:700;color:#101F3B}
@media (max-width:960px){.ps-expert-detail-page .pfs-other-experts__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:680px){.ps-expert-detail-page .pfs-other-experts__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:440px){.ps-expert-detail-page .pfs-other-experts__grid{grid-template-columns:1fr}}

/* product sub-nav (Apps/Themes/…) — clean underline tabs, no blue band, no broken glyphs */
.ps-expert-detail-page .ps-expert-subnav{background:#fff!important;border-bottom:1px solid #E7ECF4;margin:0 0 8px!important}
.ps-expert-detail-page .ps-expert-subnav__wapper{max-width:1160px!important;margin:0 auto!important;padding:0 24px!important;background:none!important;overflow:visible!important}
.ps-expert-detail-page .ps-expert-subnav__items{list-style:none;margin:0!important;padding:0!important;display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;justify-content:center}
.ps-expert-detail-page .ps-expert-subnav__items::-webkit-scrollbar{display:none}
.ps-expert-detail-page .ps-expert-subnav__item{display:inline-block}
.ps-expert-detail-page .ps-expert-subnav__item a{display:inline-flex!important;align-items:center;gap:5px;padding:15px 14px!important;font-size:13.5px!important;font-weight:600!important;color:#5B5F66!important;background:none!important;border-radius:0!important;border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s,border-color .15s}
.ps-expert-detail-page .ps-expert-subnav__item a i,.ps-expert-detail-page .ps-expert-subnav__item a .ico{display:none!important}
.ps-expert-detail-page .ps-expert-subnav__item a span{color:#9AA0AB!important;font-weight:700!important;font-size:12.5px!important;line-height:1!important;margin:0!important}
.ps-expert-detail-page .ps-expert-subnav__item a:hover{color:#101F3B!important;background:none!important;text-decoration:none}
.ps-expert-detail-page .ps-expert-subnav__item a.active{color:#175CFF!important;background:none!important;border-bottom-color:#175CFF}
.ps-expert-detail-page .ps-expert-subnav__item a.active span{color:#5D8BFF!important}
/* inside the info-page panel the segmented tabs + "Latest Products" row already
   cover navigation — the away-linking sub-nav band would just be a third row */
.ps-expert-detail-page .ps-expert-panel .ps-expert-subnav{display:none!important}

/* latest products */
.ps-expert-detail-page .ps-our-products{padding:28px 0 44px}
.ps-expert-detail-page .ps-expert-panel[data-ed-panel="products"] .ps-our-products{margin-top:0!important;padding-top:24px}
.ps-expert-detail-page .ps-our-products .ps-heading-block{text-align:center}
.ps-expert-detail-page .ps-our-products>.container>.nav{display:flex;justify-content:flex-start;gap:4px;width:max-content;max-width:100%;margin:0 0 16px;border:0;background:#F4F6FA;border:1px solid #E7ECF4;border-radius:12px;padding:4px}
.ps-expert-detail-page .ps-our-products>.container>.nav .nav-link{padding:8px 18px;border-radius:9px;font-size:13px;font-weight:600;color:#5B5F66;transition:background .15s,color .15s}
.ps-expert-detail-page .ps-our-products>.container>.nav .nav-link:hover{color:#175CFF}
.ps-expert-detail-page .ps-our-products>.container>.nav .nav-link.active{background:#fff;color:#0F47CC;box-shadow:0 1px 3px rgba(16,31,59,.1)}
.ps-expert-detail-page .ps-our-products .tab-content>.tab-pane{display:none;padding-left:0;padding-right:0}
.ps-expert-detail-page .ps-our-products .tab-content>.tab-pane.active{display:block}
.ps-expert-detail-page .btn-more{text-align:center;margin-top:26px}
.ps-expert-detail-page .btn-more .btn{display:inline-flex;border:1px solid #D5DBE5;color:#175CFF;background:#fff;border-radius:100px;font-size:13px;font-weight:700;padding:10px 22px}
.ps-expert-detail-page .btn-more .btn:hover{background:#EAF1FF;border-color:#B9CEFF}

/* customer reviews — light section, review cards */
.ps-expert-detail-page .ps-customer-reviews{position:relative;background:#F7F9FD!important;color:#101F3B!important;border-top:1px solid #E7ECF4;padding:48px 0!important}
.ps-expert-detail-page .ps-customer-reviews .bg-img{display:none!important}
.ps-expert-detail-page .ps-customer-reviews h3,.ps-expert-detail-page .ps-customer-reviews .ps-heading-block{color:#101F3B!important}
.ps-expert-detail-page .ps-customer-review-listing{list-style:none!important;margin:0!important;padding:0!important;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))!important;gap:16px!important}
.ps-expert-detail-page .ps-customer-review-listing .ps-customer-review-item{width:auto!important;max-width:none!important;margin:0!important;padding:20px 22px!important;background:#fff;border:1px solid #E7ECF4;border-radius:16px;font-size:13.5px;line-height:1.6;color:#41454C}
.ps-expert-detail-page .ps-customer-review-listing .ps-customer-review-item p{margin:0!important;font-size:13.5px!important;line-height:1.6!important;color:#41454C!important;-webkit-line-clamp:4}
.ps-expert-detail-page .ps-customer-review-listing .ps-review-head{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px!important}
.ps-expert-detail-page .ps-customer-review-listing .ps-review-head .ps-user{font-weight:800!important;font-size:14px!important;color:#101F3B}
.ps-expert-detail-page .ps-customer-review-listing .ps-review-head .ps-stars-rating,.ps-expert-detail-page .ps-customer-review-item i.fa{color:#175CFF!important;font-size:12px!important}
.ps-expert-detail-page .ps-customer-reviews>.container{max-width:1160px}
.ps-expert-detail-page .ps-customer-reviews>.container+.container{margin-top:24px;text-align:center}
.ps-expert-detail-page .ps-customer-reviews .btn-outline-white{display:inline-flex;align-items:center;border:1px solid #D5DBE5;color:#175CFF;background:#fff;border-radius:100px;padding:9px 22px;font-weight:700;font-size:13px}
.ps-expert-detail-page .ps-customer-reviews .btn-outline-white:hover{background:#EAF1FF;color:#0F3FB8;text-decoration:none}

/* get in touch / contact */
.ps-expert-detail-page .ps-contact-form{position:relative;background:#fff!important;border-top:1px solid #E7ECF4;padding:48px 0!important}
.ps-expert-detail-page .ps-contact-form .bg-img{display:none!important}
.ps-expert-detail-page .ps-contact-form .container{max-width:1160px}
.ps-expert-detail-page .ps-contact-form .row,.ps-expert-detail-page .ps-contact-form [class*="col-"]{max-width:none!important;padding:0!important;margin:0!important;flex:1 1 100%!important}
.ps-expert-detail-page .ps-contact-content{background:none!important;color:#41454C!important;padding:0!important;margin:0!important;display:grid!important;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:28px;align-items:start}
.ps-expert-detail-page .ps-contact-content h3{font-size:18px!important;text-transform:none!important;font-weight:800!important;margin:0 0 16px!important;color:#101F3B!important}
.ps-expert-detail-page .ps-ep-getintouch h3{display:block!important}
.ps-expert-detail-page .ps-ep-contact-info{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.ps-expert-detail-page .ps-ep-contact-info li{display:flex!important;flex-direction:column;gap:2px;font-size:13.5px;margin:0!important}
.ps-expert-detail-page .ps-ep-contact-info span{display:block}
.ps-expert-detail-page .ps-ep-contact-info .label{font-size:11px!important;font-weight:700;text-transform:uppercase!important;letter-spacing:.05em;color:#9AA0AB!important}
.ps-expert-detail-page .ps-ep-contact-info .value,.ps-expert-detail-page .ps-ep-contact-info li>span:last-child{font-weight:700;color:#101F3B!important}
.ps-expert-detail-page .ps-ep-contact-info .ps-social-icons{flex-direction:row!important;gap:8px}
.ps-expert-detail-page .ps-ep-contact-info .ps-social-icons a{width:32px;height:32px;border:0!important;border-radius:0;background:none;display:flex;align-items:center;justify-content:center;color:#41454C!important;margin:0!important;transition:color .15s}
.ps-expert-detail-page .ps-ep-contact-info .ps-social-icons a:hover,
.ps-expert-detail-page .ps-ep-contact-info .ps-social-icons a:hover i{border:0!important;background:none;opacity:1;color:#175CFF!important}
/* real full-colour brand icons + subtle hover lift */
.ps-expert-detail-page .ps-statistic .ps-social-icons a,
.ps-expert-detail-page .ps-ep-contact-info .ps-social-icons a{transition:transform .18s ease,filter .18s ease}
.ps-expert-detail-page .ps-statistic .ps-social-icons a:hover,
.ps-expert-detail-page .ps-ep-contact-info .ps-social-icons a:hover{transform:translateY(-1px) scale(1.1)}
.ps-expert-detail-page .ps-statistic .ps-social-icons a:active,
.ps-expert-detail-page .ps-ep-contact-info .ps-social-icons a:active{transform:translateY(-1px) scale(.98)}
.ps-expert-detail-page .ps-statistic .ps-social-icons .ps-social-icon,
.ps-expert-detail-page .ps-ep-contact-info .ps-social-icons .ps-social-icon{display:block;width:22px;height:22px;transition:filter .18s ease}
.ps-expert-detail-page .ps-statistic .ps-social-icons a:hover .ps-social-icon,
.ps-expert-detail-page .ps-ep-contact-info .ps-social-icons a:hover .ps-social-icon{filter:drop-shadow(0 2px 4px rgba(16,31,59,.18))}
.ps-expert-detail-page .ps-ep-contactus{background:#F7F9FD!important;color:#41454C!important;border:1px solid #E7ECF4;border-radius:18px;padding:24px!important;min-width:0!important;margin:0!important;box-shadow:none!important}
.ps-expert-detail-page .ps-ep-contactus .form-group{margin:0 0 12px!important}
.ps-expert-detail-page .ps-ep-contactus .form-control{width:100%;border:1px solid #E4E8EF!important;background:#fff!important;border-radius:11px!important;padding:11px 14px!important;font-size:14px}
.ps-expert-detail-page .ps-ep-contactus textarea.form-control{min-height:120px;resize:vertical;border-top:1px solid #E4E8EF!important}
.ps-expert-detail-page .ps-ep-contactus .btn-primary{background:#175CFF;color:#fff;border:0;border-radius:100px;font-weight:700;font-size:13px;padding:11px 26px}
.ps-expert-detail-page .ps-ep-contactus .btn-primary:hover{background:#0F3FB8}

@media (max-width:860px){
  .ps-expert-detail-page .ps-contact-content{grid-template-columns:1fr}
  .ps-expert-detail-page .ps-expert-block{justify-content:flex-start;padding:12px 20px;gap:10px 0}
  /* legacy makes the nav position:absolute for its JS sticky-scroll — undo it
     here so the tab row sits below the name instead of over it */
  .ps-expert-detail-page .ps-expert-name-rating{flex:1 1 100%}
  .ps-expert-detail-page .ps-expert-menu{flex:1 1 100%;display:flex!important}
  .ps-expert-detail-page .ps-expert-menu .nav{position:static!important;width:100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;transform:none!important;height:auto!important}
  .ps-expert-detail-page .ps-expert-menu .nav-link{flex:0 0 auto}
  .ps-expert-detail-page .ps-our-services,
  .ps-expert-detail-page .ps-customer-reviews,
  .ps-expert-detail-page .ps-contact-form,
  .ps-expert-detail-page .ps-our-products{padding:32px 0!important}
  .ps-expert-detail-page .ps-expert-about-block{padding-top:32px}
}

/* --- checkout (legacy [ps_checkout] parts harmonised) --- */
/* order progress bar — same on the login step, the review step and the
   thank-you step (the login page has no .pfs-checkout wrapper) */
.ps-order-process-bar{display:flex!important;justify-content:space-between!important;list-style:none;margin:0 auto 34px!important;padding:0!important;max-width:600px;counter-reset:step}
.ps-order-process-bar li{flex:1 1 0!important;min-width:0;padding:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;position:relative;font-size:12.5px;font-weight:600;color:#9AA0AB;text-align:center}
.ps-order-process-bar li+li{padding-left:0!important}
.ps-order-process-bar .wapper{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.ps-order-process-bar li .ps-step{display:none!important}
.ps-order-process-bar li .wapper::before{counter-increment:step;content:counter(step);display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin:0 0 9px;border-radius:50%;background:#EDF0F5;color:#8A93A3;font-size:13px;font-weight:700;border:2px solid #EDF0F5;box-sizing:border-box}
.ps-order-process-bar li .ps-label{position:static!important;transform:none!important;white-space:normal;left:auto!important;top:auto!important;font-weight:inherit}
/* connector — a hairline from this circle's centre to the next circle's centre.
   !important throughout because legacy `.ps-order-process-bar li+li:before`
   (higher specificity) otherwise pins it to `top:50%;left:0;right:0`. */
.ps-order-process-bar li::before,
.ps-order-process-bar li+li::before{content:"";position:absolute!important;top:15px!important;left:50%!important;right:auto!important;bottom:auto!important;width:100%!important;height:2px!important;margin:0!important;background:#EDF0F5;z-index:0!important;transform:none!important;border:0!important}
.ps-order-process-bar li:last-child::before{display:none!important}
.ps-order-process-bar li.active,.ps-order-process-bar li.passed{color:#175CFF}
.ps-order-process-bar li.active .wapper::before,.ps-order-process-bar li.passed .wapper::before{background:#175CFF;color:#fff;border-color:#175CFF}
.ps-order-process-bar li.active::before{background:#EDF0F5!important}
.ps-order-process-bar li.passed::before{background:#175CFF!important}
.pfs-checkout .row{display:flex;flex-wrap:wrap;gap:24px;margin:0}
.pfs-checkout [class*="col-"]{padding:0;max-width:100%;flex:1 1 300px}
.pfs-checkout .col-lg-8{flex:2 1 420px}.pfs-checkout .col-lg-4{flex:1 1 280px}.pfs-checkout .col-12{flex:1 1 100%}
.pfs-checkout h3{font-size:19px;font-weight:800;margin:0 0 16px}
.pfs-checkout .ps-panel-checkout,.pfs-checkout .ps-checkout-license,.pfs-checkout .ps-checkout-payment,.pfs-checkout .ps-panel-payment{background:#fff;border:1px solid #E4E8EF;border-radius:16px;padding:20px 22px;margin-bottom:16px}
.pfs-checkout .ps-checkout-product-item{display:flex;flex-direction:column;gap:6px;padding:14px 0;border-bottom:1px solid #EEF1F6}
.pfs-checkout .ps-checkout-product-block{display:flex;gap:14px;align-items:flex-start}
.pfs-checkout .ps-product-thumb img{width:56px;height:56px;border-radius:12px;object-fit:cover}
.pfs-checkout .ps-product-name{font-size:15px;font-weight:700;margin:0}
.pfs-checkout .ps-product-type{font-size:12.5px;color:#6A6E77}
.pfs-checkout .ps-product-price{font-size:15px;font-weight:800}
.pfs-checkout .ps-product-price.free{color:#177C42}
.pfs-checkout .ps-coupon-wrapper{background:#F5F7FA;border-radius:12px;padding:14px 16px;margin-top:10px}
.pfs-checkout .ps-coupon-wrapper .form-inline{display:flex;gap:8px;margin-top:8px}
.pfs-checkout .ps-checkout-price,.pfs-checkout .ps-total{font-size:16px;font-weight:800;text-align:right;margin-top:12px}
.pfs-checkout .ps-buy-now,.pfs-checkout button[type="submit"].btn,.pfs-checkout .ps-btn-cart button,.pfs-checkout #place_order{width:100%;border-radius:11px;background:#175CFF;color:#fff;font-weight:700;padding:13px 20px;border:0;font-size:15px;cursor:pointer;margin-top:8px}
.pfs-checkout .ps-payment-method label,.pfs-checkout .ps-checkout-license label{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid #E4E8EF;border-radius:12px;margin-bottom:8px;cursor:pointer;font-size:14px}

/* --- manage / account / developer screens (legacy Bootstrap markup harmonised) --- */
.pfs-manage #pfs-content{padding:28px 0 72px}
.pfs-manage #primary,.pfs-manage .content-area{max-width:1240px;margin:0 auto;width:auto;float:none}
.pfs-manage main.site-main,.pfs-manage main.site-main.container{max-width:1240px;margin:0 auto;padding:0 24px;width:auto}
.pfs-manage .entry-title,.pfs-manage h3.entry-title{font-size:clamp(23px,3.2vw,30px);font-weight:800;letter-spacing:-.03em;margin:0 0 4px}
.pfs-manage .site-main>br,.pfs-manage #primary>br{display:none}
.pfs-manage .d-flex.justify-content-between{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.pfs-manage .d-flex.justify-content-between .btn,.pfs-manage .d-flex.justify-content-between a.button{flex-shrink:0}

/* search / filter forms */
.pfs-manage .search-form,.pfs-manage form#ps_search_form{background:#fff;border:1px solid #E4E8EF;border-radius:16px;padding:20px 22px;margin-bottom:22px}
.pfs-manage .form-row{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 4px}
.pfs-manage .form-group{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.pfs-manage .form-group[class*="col-md-3"]{flex:1 1 160px}
.pfs-manage .form-group[class*="col-md-12"]{flex:1 1 100%}
.pfs-manage label{font-size:12.5px;font-weight:600;color:#41454C}
.pfs-manage .form-control,.pfs-manage select,.pfs-manage input[type="text"],.pfs-manage input[type="email"],.pfs-manage input[type="number"],.pfs-manage input[type="url"],.pfs-manage input[type="password"],.pfs-manage textarea{width:100%;border:1px solid #E4E8EF;background:#fff;border-radius:10px;padding:10px 12px;font-size:14px;color:#212121;outline:none}
.pfs-manage .form-control:focus,.pfs-manage select:focus,.pfs-manage textarea:focus{border-color:#175CFF;box-shadow:0 0 0 3px rgba(23,92,255,.12)}
.pfs-manage .input-group{display:flex;align-items:stretch}
.pfs-manage .input-group .form-control{border-radius:10px 0 0 10px}
.pfs-manage .input-group-append .input-group-text{display:flex;align-items:center;padding:0 12px;border:1px solid #E4E8EF;border-left:0;border-radius:0 10px 10px 0;background:#F5F7FA;color:#6A6E77}
.pfs-manage .btn,.pfs-manage button[type="submit"],.pfs-manage .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:100px;background:#175CFF;color:#fff;font-weight:700;font-size:13.5px;padding:10px 20px;cursor:pointer;text-decoration:none}
.pfs-manage .btn:hover{background:#0F47CC;color:#fff}
.pfs-manage .btn-info,.pfs-manage .btn-secondary,.pfs-manage #ps_btn_reset_form{background:#fff;color:#41454C;border:1px solid #E4E8EF}
.pfs-manage .btn-info:hover,.pfs-manage #ps_btn_reset_form:hover{background:#F5F7FA;color:#212121}
.pfs-manage .btn-danger{background:#FCF1F0;color:#C0362C;border:1px solid #F0CFCC}
.pfs-manage p:has(button[type="submit"]){display:flex;gap:8px;margin-top:6px}

/* alerts / empty states */
.pfs-manage .alert{border-radius:12px;padding:14px 16px;font-size:14px;border:1px solid #D6E4FF;background:#EAF1FF;color:#0F47CC;margin:16px 0}
.pfs-manage .alert-warning{border-color:#F0DFC0;background:#FFF6E6;color:#B4690E}
.pfs-manage .alert-danger{border-color:#F0CFCC;background:#FCF1F0;color:#C0362C}

/* the ps_manage_table output */
.pfs-manage .ps-manage-table{border:1px solid #E4E8EF;border-radius:14px;overflow-x:auto;background:#fff;margin-top:14px}
.pfs-manage .ps-manage-table>p{padding:14px 16px 0;margin:0;font-size:12.5px;color:#6A6E77}
.pfs-manage table.table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:640px}
.pfs-manage table.table thead th,.pfs-manage table.table tr.table-primary th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6A6E77;padding:13px 16px;border-bottom:1px solid #E4E8EF;background:#F5F7FA;white-space:nowrap}
.pfs-manage table.table thead th a,.pfs-manage .ps-sort{color:#6A6E77;display:inline-flex;align-items:center;gap:5px}
.pfs-manage table.table td{padding:13px 16px;border-bottom:1px solid #EEF1F6;vertical-align:middle}
.pfs-manage table.table tbody tr:last-child td{border-bottom:0}
.pfs-manage table.table.table-striped tbody tr:nth-child(odd){background:#FCFDFF}
.pfs-manage table.table tbody tr:hover{background:#F5F7FA}
.pfs-manage table.table a{color:#175CFF;font-weight:600}
.pfs-manage table.table td .btn,.pfs-manage table.table td a.btn,.pfs-manage table.table td .btn:hover{color:#fff}
.pfs-manage table.table td .btn-info,.pfs-manage table.table td .btn-secondary,.pfs-manage table.table td .btn-outline-primary,.pfs-manage table.table td .btn-default{color:#41454C}
.pfs-manage .btn-sm,.pfs-manage a.btn-sm{padding:7px 14px!important;font-size:12.5px!important}
.pfs-manage .action-menu,.pfs-manage .ps-action-menu,.pfs-manage td .dropdown{position:relative}
.pfs-manage .action-menu .dropdown-menu,.pfs-manage .dropdown-menu{background:#fff;border:1px solid #E4E8EF;border-radius:12px;box-shadow:0 14px 34px -18px rgba(33,33,33,.3);padding:6px;list-style:none;margin:0;min-width:180px}
.pfs-manage .dropdown-menu a,.pfs-manage .dropdown-menu .nav-link{display:block;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:500;color:#41454C}
.pfs-manage .dropdown-menu a:hover{background:#F5F7FA;color:#175CFF;text-decoration:none}
.pfs-manage .label,.pfs-manage .badge,.pfs-manage .status-label,.pfs-manage .ps-status{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:100px;background:#EEF1F6;color:#41454C;text-transform:capitalize}
.pfs-manage .label-success,.pfs-manage .badge-success,.pfs-manage .status-completed,.pfs-manage .status-paid,.pfs-manage .status-active,.pfs-manage .status-publish{background:#F2FBF5;color:#177C42}
.pfs-manage .label-warning,.pfs-manage .badge-warning,.pfs-manage .status-pending,.pfs-manage .status-unpaid,.pfs-manage .status-processing{background:#FFF6E6;color:#B4690E}
.pfs-manage .label-danger,.pfs-manage .badge-danger,.pfs-manage .status-failed,.pfs-manage .status-refused,.pfs-manage .status-cancelled,.pfs-manage .status-expired{background:#FCF1F0;color:#C0362C}

/* pagination — round numbered chips, no outer wrapper border */
.pfs-manage .ps-pagination,
.pfs-manage nav.ps-pagination,
.pfs-manage .ps-pagination ul,
.pfs-manage .ps-pagination>.page-numbers,
.pfs-manage .ps-pagination ul.page-numbers{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;list-style:none;padding:0!important;margin:28px 0 0;border:0!important;background:none!important;border-radius:0!important;min-width:0!important;height:auto!important}
.pfs-manage .ps-pagination li{padding:0!important;margin:0!important;list-style:none}
.pfs-manage .ps-pagination a.page-numbers,
.pfs-manage .ps-pagination span.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border-radius:100px;border:1px solid #E4E8EF;background:#fff;color:#41454C;font-size:13px;font-weight:600;margin:0!important}
.pfs-manage .ps-pagination a.page-numbers:hover{border-color:#C6D2E4;text-decoration:none}
.pfs-manage .ps-pagination .page-numbers.current,
.pfs-manage .ps-pagination span.current{background:#EAF1FF;border-color:#D6E4FF;color:#0F47CC}

/* add / edit product & package forms */
.pfs-manage .dataform,.pfs-manage .ps-dataform,.pfs-manage .add-product-form,.pfs-manage form.ps-form{background:#fff;border:1px solid #E4E8EF;border-radius:16px;padding:24px 26px;margin-bottom:18px}
/* horizontal top tabs only — exclude vertical edit-product sidebar (.flex-column) */
.pfs-manage .nav-tabs:not(.flex-column),.pfs-manage .ps-form-tabs{display:flex;gap:2px;border-bottom:1px solid #E4E8EF;list-style:none;padding:0;margin:0 0 22px;overflow-x:auto}
.pfs-manage .nav-tabs:not(.flex-column) .nav-link,.pfs-manage .ps-form-tabs a{display:block;padding:12px 16px;font-size:14px;font-weight:600;color:#6A6E77;border-bottom:2px solid transparent;white-space:nowrap}
.pfs-manage .nav-tabs:not(.flex-column) .nav-link.active,.pfs-manage .ps-form-tabs a.active{color:#175CFF;border-bottom-color:#175CFF}
/* vertical left nav (edit/create product) — keep padding so legacy -1rem button margins fit */
.pfs-manage .ps-app-nav-left .nav-tabs.flex-column{display:flex;flex-direction:column;gap:2px;border:1px solid #E4E8EF;border-radius:14px;border-bottom:1px solid #E4E8EF;list-style:none;padding:1rem;margin:0 0 1.5rem;overflow:hidden;background:#fff}
.pfs-manage .ps-app-nav-left .nav-tabs.flex-column .nav-link{display:block;padding:10px 14px;font-size:14px;font-weight:600;color:#6A6E77;border:0;border-radius:8px;border-bottom:0;white-space:normal}
.pfs-manage .ps-app-nav-left .nav-tabs.flex-column .nav-link.active{color:#175CFF;background:rgba(23,92,255,.1);border-bottom-color:transparent}
.pfs-manage .ps-app-nav-left .form-control-buttons .btn,.pfs-manage .ps-app-nav-left .form-control-buttons .form-control{max-width:100%;width:100%;box-sizing:border-box}
.pfs-manage .form-actions,.pfs-manage .ps-form-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:8px}
.pfs-manage .card,.pfs-manage .panel{background:#fff;border:1px solid #E4E8EF;border-radius:14px;padding:18px 20px;margin-bottom:14px}
.pfs-manage .card-header,.pfs-manage .panel-heading{font-weight:800;font-size:15px;margin-bottom:12px}

.pfs-band{background:#F5F7FA;border-bottom:1px solid #E4E8EF}
.pfs-empty{text-align:center;padding:80px 24px}
.pfs-empty h1{font-size:clamp(30px,5vw,48px);font-weight:800;letter-spacing:-.04em;margin-bottom:12px}

/* --- utility classes used by pages not yet fully inlined (cart, checkout, search, generic page, account screens) --- */
.pfs-wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.pfs-breadcrumb{font-size:13px;color:#6A6E77;margin-bottom:12px}
.pfs-breadcrumb a{color:#6A6E77}
.pfs-eyebrow{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#6A6E77;margin-bottom:12px}
.pfs-stack{display:flex;flex-direction:column;gap:12px}
.pfs-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.pfs-row--between{justify-content:space-between}
.pfs-panel{background:#fff;border:1px solid #E4E8EF;border-radius:16px;padding:22px 24px}
.pfs-panel--pad{padding:38px 36px;border-radius:20px;box-shadow:0 14px 40px -26px rgba(33,33,33,.2)}
.pfs-panel--soft{background:#EAF1FF;border-color:#CDDDFB}
.pfs-panel__title{font-size:15px;font-weight:800;margin-bottom:14px}
.pfs-hint{font-size:12.5px;color:#6A6E77}
.pfs-field{display:flex;flex-direction:column;gap:7px;margin-bottom:2px}
.pfs-label{font-size:12.5px;font-weight:600;color:#41454C}
.pfs-input,.pfs-select,.pfs-textarea{width:100%;border:1px solid #E4E8EF;background:#fff;border-radius:11px;padding:12px 14px;font-size:14.5px;color:#212121;outline:none}
.pfs-input:focus,.pfs-select:focus,.pfs-textarea:focus{border-color:#175CFF;box-shadow:0 0 0 3px rgba(23,92,255,.12)}
.pfs-textarea{resize:vertical;min-height:110px}
a.pfs-btn,.pfs-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:none;border-radius:100px;background:#175CFF;color:#fff;font-size:14.5px;font-weight:700;padding:13px 26px;cursor:pointer;text-align:center;line-height:1.2}
a.pfs-btn:hover,.pfs-btn:hover{background:#0F47CC;color:#fff;text-decoration:none}
.pfs-btn--block{width:100%}
.pfs-btn--square{border-radius:11px}
.pfs-btn--sm{font-size:13px;padding:9px 16px}
a.pfs-btn--quiet,.pfs-btn--quiet{background:#fff;color:#41454C;border:1px solid #E4E8EF;font-weight:600}
a.pfs-btn--quiet:hover,.pfs-btn--quiet:hover{background:#F5F7FA;color:#212121;border-color:#C6D2E4}
.pfs-deflist{display:flex;flex-direction:column;gap:12px;font-size:13.5px}
.pfs-deflist>div{display:flex;justify-content:space-between;gap:12px}
.pfs-deflist .pfs-dt{color:#6A6E77;flex-shrink:0}
.pfs-deflist .pfs-dd{margin:0;font-weight:700;text-align:right}
.pfs-sectionhead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:20px}
.pfs-sectionhead h2{margin:0;font-size:clamp(20px,2.6vw,25px);font-weight:700;letter-spacing:-.02em}
.pfs-section--tight{padding-top:0}
.pfs-avatar{width:56px;height:56px;border-radius:50%;background:#EAF1FF;color:#175CFF;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:800;flex-shrink:0;overflow:hidden}
.pfs-avatar img{width:100%;height:100%;object-fit:cover}
.pfs-avatar--lg{width:96px;height:96px;font-size:32px}
.pfs-avatar--sm{width:32px;height:32px;font-size:13px}
.pfs-expert{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid #E4E8EF;border-radius:16px;padding:22px 24px}
.pfs-split{display:flex;flex-wrap:wrap;gap:36px;align-items:flex-start}
.pfs-split__main{flex:1 1 520px;min-width:0}
.pfs-split__aside{flex:1 1 320px;min-width:0;max-width:400px}
.pfs-searchbar{background:#fff;border:1px solid #E4E8EF;border-radius:14px;padding:14px 16px;margin-bottom:14px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pfs-searchbar__input{flex:1 1 240px;min-width:0;display:flex;align-items:center;gap:10px;background:#F5F7FA;border:1px solid #E4E8EF;border-radius:100px;height:42px;padding:0 16px}
.pfs-searchbar__input input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:14.5px;height:40px}
.pfs-searchbar select{flex:1 1 170px;min-width:0;border:1px solid #E4E8EF;background:#F5F7FA;border-radius:9px;padding:10px 11px;font-size:13.5px;font-weight:600;cursor:pointer;outline:none}
.pfs-tag{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;padding:7px 13px;border-radius:100px;background:#EAF1FF;color:#0F47CC;border:0;cursor:pointer}
.pfs-chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:8px 14px;border-radius:100px;border:1px solid #E4E8EF;background:#fff;color:#41454C;cursor:pointer;text-decoration:none}
.pfs-chip[aria-current],.pfs-chip--on{background:#EAF1FF;border-color:#D6E4FF;color:#0F47CC}
.pfs-pagehead{max-width:1240px;margin:0 auto;padding:22px 24px 34px}
.pfs-pagehead h1{font-size:clamp(28px,4.4vw,42px);font-weight:800;letter-spacing:-.035em;line-height:1.12;margin:0 0 10px}
.pfs-pagehead p{max-width:70ch;font-size:15.5px;line-height:1.6;color:#6A6E77;margin:0}

.pfs-single .pfs-split{gap:28px}
.pfs-single .pfs-split__main{flex:999 1 460px}
.pfs-single .pfs-split__aside{flex:1 1 320px;max-width:392px}

/* ================= modal — vertical centering (contact us, login, license, review popups) =================
   legacy.css only sets a top margin on .modal-dialog, so popups render high up
   the viewport instead of centered. Center every .modal-dialog the same way
   Bootstrap's .modal-dialog-centered does, without needing that class in markup. */
.modal-dialog{display:flex;align-items:center;min-height:calc(100% - 20px)}
.modal-dialog::before{display:block;height:calc(100vh - 20px);content:""}
@media (min-width:576px){
  .modal-dialog{min-height:calc(100% - 60px)}
  .modal-dialog::before{height:calc(100vh - 60px)}
}
.modal-content{width:100%;border-radius:16px;overflow:hidden}
@media (min-width:576px){
  #ps_expert_contact_form_popup .modal-dialog{max-width:500px}
}

/* --- order detail: line items are a vertical list, not the 4-up shortcode grid.
   `ps-products-style` also matches the `[class*="-style"]` grid rule near the top
   of this file, which squeezed each product into a quarter-width column and
   ellipsised the title. Stack them full width so the title gets its own row and
   the price/extra data sits below it. --- */
.ps-order-detail-page ul.ps-order-products{display:block;grid-template-columns:none;gap:0;list-style:none;margin:0;padding:0}
.ps-order-detail-page ul.ps-order-products>li{width:100%;max-width:none}
.ps-order-detail-page ul.ps-order-products .post-info{min-width:0}
.ps-order-detail-page ul.ps-order-products .post-title a{display:block;overflow:visible;text-overflow:clip;white-space:normal}

/* --- review sort <select>: legacy `select.form-control` pins a fixed height
   (calc(3.82rem + 2px)) that was sized for 1rem vertical padding, but
   `.pfs .form-control` bumps it to 11px, shrinking the content box below the
   Poppins line box and clipping descenders (the "g" in "Highest Rated").
   Let the select size to its own content and trim the padding so the overall
   height stays the same. --- */
#ps_load_more_review_order.form-control{height:auto;padding-top:8px;padding-bottom:8px}
