@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&family=Tajawal:wght@400;500;600;700;800&display=swap');
:root{--forest:#14352f;--forest-2:#21483f;--mint:#dfece3;--cream:#f7f6f0;--paper:#fffefa;--ink:#1e2925;--muted:#77827c;--line:#e5e9e2;--orange:#d98255;--gold:#efc879;--shadow:0 16px 50px rgba(22,48,41,.09);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.5}body[dir="rtl"]{font-family:'Tajawal',sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}.section-wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.announcement{min-height:34px;background:var(--forest);color:#e7f0e9;display:flex;justify-content:center;align-items:center;gap:9px;font-size:11px;letter-spacing:.02em;position:relative;padding:6px 40px}.announcement-dot,.tiny-pulse{width:6px;height:6px;border-radius:50%;background:#a3cfaa;display:inline-block}.announcement-close{position:absolute;inset-inline-end:18px;top:1px;background:none;border:0;color:#d7e3d9;font-size:21px;line-height:1}
.site-header{width:min(1160px,calc(100% - 48px));height:82px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px}.brand-mark{height:43px;width:43px;border-radius:14px;background:var(--forest);color:#fff;display:grid;place-items:center;font-family:'Tajawal',sans-serif;font-size:28px;font-weight:800}.brand-copy{display:flex;flex-direction:column;line-height:1.2}.brand-copy strong{font-size:16px;letter-spacing:-.04em}.brand-copy small{font-size:10px;color:var(--muted);margin-top:4px}.desktop-nav{display:flex;gap:34px;color:#5f6b64;font-size:13px}.desktop-nav a:hover{color:var(--forest)}.header-actions{display:flex;align-items:center;gap:14px}.language-button{border:0;background:transparent;color:var(--forest);font-weight:700;font-size:12px;padding:8px}.button{border:0;border-radius:12px;padding:13px 19px;display:inline-flex;justify-content:center;align-items:center;gap:12px;font-weight:700;font-size:13px;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--forest);color:#fff;box-shadow:0 8px 18px rgba(20,53,47,.13)}.button-primary:hover{background:var(--forest-2);box-shadow:0 10px 24px rgba(20,53,47,.2)}.button-small{padding:10px 15px;font-size:12px}.plus{font-size:17px;line-height:10px}.button-quiet{background:#edf3ee;color:var(--forest)}.button-light{background:#fff;color:var(--forest)}
.hero{min-height:460px;display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:45px;padding-top:42px;padding-bottom:48px}.eyebrow,.section-kicker{font-size:10px;font-weight:700;letter-spacing:.16em;color:#78917f;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:9px}.eyebrow-icon{color:var(--orange);font-size:17px}.hero h1{font-family:'Playfair Display',serif;font-size:clamp(46px,5.2vw,68px);line-height:1.02;letter-spacing:-.045em;color:var(--forest);margin:21px 0 17px;font-weight:700}.hero h1 em,.how-intro h2 em{color:var(--orange);font-weight:600}.hero-description{max-width:490px;color:#6e7972;font-size:14px;line-height:1.85;margin:0}.hero-actions{display:flex;align-items:center;gap:13px;margin-top:28px}.hero-proof{display:flex;align-items:center;gap:9px;color:#829088;font-size:11px;margin-top:28px}.proof-icon{font-size:18px;color:#91ad96}.hero-art{height:355px;position:relative;border-radius:44% 56% 48% 52% / 48% 44% 56% 52%;background:#e9f0e8;overflow:hidden;isolation:isolate}.hero-art:before{content:"";position:absolute;inset:20px;border:1px solid rgba(40,83,66,.13);border-radius:50%}.art-orbit{position:absolute;border:1px solid rgba(40,83,66,.15);border-radius:50%;transform:rotate(-24deg)}.orbit-one{width:390px;height:170px;left:0;top:93px}.orbit-two{width:300px;height:390px;left:94px;top:-15px;transform:rotate(35deg)}.art-sun{position:absolute;width:145px;height:145px;background:#efc879;border-radius:50%;top:42px;right:68px;opacity:.85}.art-book{position:absolute;bottom:58px;left:25%;width:160px;height:190px;border-radius:8px 16px 16px 8px;box-shadow:13px 15px 22px rgba(20,53,47,.18);transform:rotate(-12deg);display:flex;align-items:center;justify-content:center;flex-direction:column}.book-back{background:#d98255;left:20%;bottom:49px;transform:rotate(-23deg);color:#fff}.book-back span{font-size:50px;opacity:.7}.book-front{background:#21483f;left:34%;bottom:65px;transform:rotate(7deg);color:#f5edda;border-inline-start:8px solid #102d27}.book-front span{font-family:'Tajawal',sans-serif;font-size:50px;font-weight:800}.book-front small{font-size:8px;letter-spacing:.22em;text-align:center;margin-top:8px;line-height:1.5}.art-lamp{position:absolute;right:19%;bottom:76px;width:100px;height:160px;transform:rotate(5deg)}.lamp-shade{width:88px;height:58px;background:#f7dca4;clip-path:polygon(23% 0,77% 0,100% 100%,0 100%);position:absolute;top:0;left:6px}.lamp-stem{position:absolute;width:8px;height:93px;background:#d6a65f;left:46px;top:54px}.lamp-base{position:absolute;width:62px;height:12px;border-radius:50%;background:#b77e4b;bottom:0;left:20px}.art-plant{position:absolute;right:7%;bottom:73px;width:62px;height:100px}.art-plant b{position:absolute;bottom:0;left:13px;width:42px;height:37px;background:#d98255;border-radius:3px 3px 13px 13px}.art-plant i{position:absolute;bottom:29px;left:28px;width:21px;height:45px;border-radius:100% 0 100% 0;background:#789b78;transform:rotate(-30deg);transform-origin:bottom}.art-plant i:nth-child(2){left:8px;transform:rotate(-55deg);height:39px}.art-plant i:nth-child(3){left:33px;transform:rotate(20deg);height:52px}.art-sticker{position:absolute;background:#fffefa;color:var(--forest);padding:8px 12px;border-radius:6px;box-shadow:0 7px 16px rgba(30,60,45,.1);font-size:9px;letter-spacing:.08em;font-weight:700}.sticker-top{top:55px;left:12% ;transform:rotate(-8deg)}.sticker-bottom{bottom:35px;right:17%;transform:rotate(5deg);background:var(--forest);color:#fff}
.search-band{background:#f5f6f1;border-radius:18px;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:78px}.search-box{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e8ece6;border-radius:12px;padding:5px 6px 5px 16px;max-width:650px;width:100%;box-shadow:0 4px 10px rgba(23,54,43,.025)}.search-icon{font-size:26px;color:#87978c;line-height:1}.search-box input{border:0;outline:0;min-width:0;flex:1;color:var(--ink);font-size:13px;background:transparent;padding:8px 0}.search-submit{border:0;border-radius:9px;background:var(--forest);color:white;padding:10px 19px;font-size:12px;font-weight:700}.search-caption{font-size:11px;color:#829087;display:flex;align-items:center;gap:8px;white-space:nowrap}
.market-section{padding-bottom:90px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:27px}.section-heading h2,.sell-banner h2{font-family:'Playfair Display',serif;font-size:35px;letter-spacing:-.04em;color:var(--forest);margin:7px 0 0}.market-tools{display:flex;align-items:center;gap:10px;color:#87918a;font-size:11px}.market-tools select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 28px 9px 10px;color:#506056;font-size:11px;outline:none}.market-layout{display:grid;grid-template-columns:208px 1fr;gap:34px}.category-panel{padding-top:4px}.category-heading{font-size:12px;font-weight:700;color:var(--forest);margin:0 0 15px 10px}.category-list{display:grid;gap:4px}.category-button{width:100%;display:flex;align-items:center;gap:11px;border:0;background:transparent;text-align:start;border-radius:10px;padding:10px 10px;color:#69766e;font-size:12px;transition:background .2s,color .2s}.category-button:hover,.category-button.active{background:#edf3ee;color:var(--forest)}.category-emoji{width:22px;text-align:center;color:#79917f;font-size:17px}.category-count{margin-inline-start:auto;font-size:10px;color:#a0aaa3}.category-button.active .category-count{color:#6b8b72}.side-note{margin-top:31px;border-radius:14px;background:#f7f1e7;padding:16px 15px}.side-note-icon{color:var(--orange);font-size:19px}.side-note strong{display:block;font-family:'Playfair Display',serif;font-size:16px;color:#66513d;margin-top:8px}.side-note p{font-size:10px;line-height:1.7;color:#8b7b68;margin:5px 0 0}.listings-topline{height:28px;display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.listings-topline p{font-size:11px;color:#8a958d;margin:0}.saved-toggle{border:0;background:transparent;color:#738078;font-size:11px;display:flex;align-items:center;gap:6px}.saved-toggle span:first-child{font-size:17px;color:var(--orange)}.saved-number{background:#edf3ee;color:var(--forest);border-radius:8px;padding:2px 6px;font-size:9px}.listing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.listing-card{min-width:0;border:1px solid #edf0eb;border-radius:15px;background:#fff;overflow:hidden;transition:transform .22s,box-shadow .22s,border .22s;cursor:pointer}.listing-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#dce6dd}.product-visual{height:163px;position:relative;display:grid;place-items:center;overflow:hidden}.product-visual:before,.product-visual:after{content:"";position:absolute;border:1px solid rgba(20,53,47,.1);border-radius:50%}.product-visual:before{width:170px;height:170px;right:-40px;top:-80px}.product-visual:after{width:120px;height:120px;left:-48px;bottom:-70px}.product-symbol{font-size:65px;filter:drop-shadow(0 9px 8px rgba(24,49,40,.12));position:relative;z-index:1;transform:rotate(-5deg)}.visual-books{background:#e9e5d9}.visual-electronics{background:#e3ebe8}.visual-room{background:#f1e7dc}.visual-clothing{background:#e7e8ef}.visual-other{background:#f1edda}.listing-tag{position:absolute;top:11px;left:11px;z-index:2;background:rgba(255,255,255,.88);color:#587060;border-radius:5px;padding:4px 7px;font-size:8px;font-weight:700;letter-spacing:.05em}.heart-button{position:absolute;top:9px;right:9px;z-index:3;width:30px;height:30px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#78877d;font-size:17px;display:grid;place-items:center;line-height:1}.heart-button.saved{color:#ce785b;background:#fff2eb}.listing-info{padding:13px 13px 14px}.listing-category{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#96a198}.listing-title{font-size:13px;font-weight:700;color:#2e3c34;margin:5px 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.listing-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.listing-price{font-size:14px;font-weight:700;color:var(--forest)}.listing-condition{font-size:9px;color:#89948c;background:#f4f6f2;border-radius:5px;padding:4px 6px}.listing-meta{font-size:9px;color:#a0aaa3;margin-top:10px;display:flex;justify-content:space-between;gap:4px}.listing-footnote{display:flex;align-items:center;gap:7px;color:#9aa49c;font-size:10px;margin-top:21px}.empty-state{text-align:center;padding:55px 20px;border:1px dashed #dce5dc;border-radius:16px}.empty-illustration{font-size:38px;color:#9db1a0}.empty-state h3{font-family:'Playfair Display',serif;color:var(--forest);font-size:22px;margin:7px 0}.empty-state p{font-size:12px;color:#88958d;margin:0 0 17px}
.how-section{background:#f4f6f0;padding:77px 0 80px}.how-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center}.how-intro h2{font-family:'Playfair Display',serif;font-size:40px;line-height:1.12;letter-spacing:-.04em;color:var(--forest);margin:10px 0 15px}.how-intro p{max-width:310px;color:#7d8980;font-size:12px;line-height:1.9;margin:0}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.step-card{background:#fff;border-radius:15px;padding:20px 17px 19px;min-height:196px;position:relative;box-shadow:0 8px 26px rgba(33,63,45,.035)}.step-number{font-size:9px;color:#a4b1a6;font-weight:700;letter-spacing:.1em}.step-icon{width:39px;height:39px;border-radius:12px;background:#edf3ee;color:#55765e;display:grid;place-items:center;font-size:22px;margin:14px 0 12px}.step-card h3{font-family:'Playfair Display',serif;color:var(--forest);font-size:17px;margin:0 0 5px}.step-card p{font-size:10px;line-height:1.7;color:#88948b;margin:0}.sell-banner{background:var(--forest);color:#fff;border-radius:20px;margin-top:74px;margin-bottom:75px;padding:28px 34px;display:flex;align-items:center;gap:24px;position:relative;overflow:hidden}.sell-banner-shape{width:66px;height:66px;border-radius:20px;background:rgba(255,255,255,.1);display:grid;place-items:center;font-family:'Tajawal',sans-serif;font-size:43px;font-weight:800;flex:none;color:#d9e8dc}.sell-banner .section-kicker{color:#a3b9a7}.sell-banner h2{font-size:25px;color:white;margin:5px 0}.sell-banner p{font-size:11px;color:#bdcdc1;margin:0}.sell-banner .button{margin-inline-start:auto;white-space:nowrap;position:relative;z-index:1}.site-footer{min-height:105px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px;padding-bottom:25px}.footer-brand .brand-mark{width:36px;height:36px;border-radius:11px;font-size:23px}.footer-brand .brand-copy strong{font-size:14px}.footer-brand .brand-copy small{font-size:9px}.site-footer>p{font-size:10px;color:#99a39b;max-width:380px}.footer-note{font-size:10px;color:#a2aaa4;white-space:nowrap}
.modal{border:0;padding:0;background:transparent;max-width:min(520px,calc(100% - 28px));width:100%;max-height:90vh;overflow:visible}.modal::backdrop{background:rgba(15,34,29,.55);backdrop-filter:blur(4px)}.modal-card{background:#fffefa;border-radius:20px;padding:25px;box-shadow:0 22px 80px rgba(12,32,25,.24);max-height:90vh;overflow:auto;position:relative}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.modal-header h2{font-family:'Playfair Display',serif;color:var(--forest);font-size:27px;margin:5px 0 5px}.icon-close{border:0;background:#f0f3ee;color:#64746a;width:31px;height:31px;border-radius:50%;font-size:21px;line-height:1}.modal-note{background:#f2f6f1;border-radius:9px;padding:10px 12px;color:#718075;font-size:10px;line-height:1.6;margin:12px 0 18px}.field-label{display:block;font-size:11px;font-weight:700;color:#53635a;margin:12px 0 6px}.form-control{width:100%;border:1px solid #e1e8e0;background:#fff;border-radius:9px;padding:11px 12px;font-size:12px;color:var(--ink);outline:none}.form-control:focus{border-color:#8ba991;box-shadow:0 0 0 3px rgba(139,169,145,.13)}textarea.form-control{resize:vertical}.form-row{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.form-actions .button{padding:11px 14px}.detail-close{position:absolute;top:15px;right:15px;z-index:4}.detail-visual{height:180px;border-radius:14px;display:grid;place-items:center;margin-bottom:17px}.detail-visual .product-symbol{font-size:75px}.detail-category{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#8c9b8f}.detail-title{font-family:'Playfair Display',serif;color:var(--forest);font-size:27px;margin:4px 0}.detail-price{font-size:20px;font-weight:700;color:var(--forest)}.detail-description{font-size:12px;line-height:1.8;color:#77847b}.detail-facts{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}.detail-fact{background:#f1f5f0;border-radius:7px;padding:6px 9px;font-size:10px;color:#67786b}.detail-seller{border-top:1px solid var(--line);padding-top:13px;margin-top:14px;font-size:11px;color:#7e8a81}.detail-disclaimer{font-size:10px;color:#a08062;background:#faf3e9;padding:10px;border-radius:8px;margin-top:12px;line-height:1.6}.toast{position:fixed;z-index:10;bottom:22px;left:50%;transform:translate(-50%,20px);background:#173c32;color:#fff;border-radius:10px;padding:11px 16px;font-size:11px;box-shadow:0 12px 30px rgba(12,32,25,.2);opacity:0;pointer-events:none;transition:.25s;max-width:calc(100% - 32px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
body[dir="rtl"] .hero h1,body[dir="rtl"] .section-heading h2,body[dir="rtl"] .how-intro h2,body[dir="rtl"] .sell-banner h2{font-family:'Tajawal',sans-serif;font-weight:800;letter-spacing:0}body[dir="rtl"] .hero-art{transform:scaleX(-1)}body[dir="rtl"] .art-sticker,body[dir="rtl"] .art-book{direction:ltr}body[dir="rtl"] .art-book{transform:scaleX(-1) rotate(7deg)}body[dir="rtl"] .book-back{transform:scaleX(-1) rotate(-23deg)}body[dir="rtl"] .listing-tag{left:auto;right:11px}body[dir="rtl"] .heart-button{right:auto;left:9px}body[dir="rtl"] .detail-close{right:auto;left:15px}body[dir="rtl"] .search-box{padding:5px 16px 5px 6px}body[dir="rtl"] .search-submit{order:-1}body[dir="rtl"] .search-icon{order:1}body[dir="rtl"] .brand-copy{align-items:flex-start}
@media(max-width:900px){.hero{gap:22px;min-height:420px}.hero-art{height:300px}.art-book{transform:scale(.85) rotate(-12deg);transform-origin:bottom left}.book-back{transform:scale(.85) rotate(-23deg)}.art-lamp{right:15%}.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.how-inner{grid-template-columns:1fr;gap:30px}.how-intro p{max-width:520px}.step-card{min-height:175px}}
@media(max-width:650px){.section-wrap,.site-header{width:calc(100% - 32px)}.announcement{font-size:10px}.site-header{height:70px}.desktop-nav{display:none}.brand-mark{width:38px;height:38px;font-size:25px}.brand-copy strong{font-size:14px}.brand-copy small{font-size:9px}.header-actions{gap:5px}.language-button{font-size:11px;padding:7px}.button-small{padding:9px 11px;font-size:10px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:26px;padding-top:39px;padding-bottom:30px}.hero h1{font-size:51px;margin-top:17px}.hero-description{font-size:13px}.hero-art{height:260px;width:100%;max-width:430px;align-self:center}.art-book{bottom:34px}.art-lamp{bottom:55px}.art-plant{bottom:50px}.sticker-top{top:35px}.sticker-bottom{bottom:21px}.hero-proof{margin-top:20px}.search-band{width:100%;border-radius:0;padding:16px 16px 14px;margin-bottom:53px;display:block}.search-box{max-width:none}.search-box input{font-size:12px}.search-submit{padding:10px 12px}.search-caption{margin-top:10px;font-size:10px}.section-heading{align-items:flex-start;gap:10px;flex-direction:column}.section-heading h2{font-size:30px}.market-tools{align-self:flex-end;margin-top:-5px}.market-layout{display:block}.category-panel{margin-bottom:19px}.category-heading{margin-left:2px;margin-bottom:10px}.category-list{display:flex;overflow-x:auto;padding-bottom:5px;gap:7px;scrollbar-width:none}.category-list::-webkit-scrollbar{display:none}.category-button{width:auto;white-space:nowrap;background:#f5f7f3;padding:9px 11px;gap:7px;font-size:10px;flex:none}.category-count{display:none}.category-emoji{font-size:14px;width:auto}.side-note{display:none}.listing-grid{gap:10px}.product-visual{height:130px}.product-symbol{font-size:52px}.listing-info{padding:10px}.listing-title{font-size:11px}.listing-price{font-size:12px}.listing-condition{font-size:8px}.listing-meta{font-size:8px}.listings-topline p,.saved-toggle{font-size:10px}.market-section{padding-bottom:60px}.how-section{padding:55px 0}.how-intro h2{font-size:35px}.steps-grid{grid-template-columns:1fr;gap:10px}.step-card{min-height:0;padding:16px;display:grid;grid-template-columns:42px 1fr;column-gap:12px;align-items:center}.step-number{grid-column:1;grid-row:1}.step-icon{grid-column:1;grid-row:2/4;margin:5px 0 0}.step-card h3{grid-column:2;grid-row:1;margin:0}.step-card p{grid-column:2;grid-row:2/4}.sell-banner{margin-top:50px;margin-bottom:48px;padding:21px;gap:13px;flex-wrap:wrap}.sell-banner-shape{width:48px;height:48px;border-radius:14px;font-size:32px}.sell-banner>div:nth-child(2){flex:1;min-width:180px}.sell-banner h2{font-size:20px}.sell-banner p{font-size:10px}.sell-banner .button{margin-inline-start:0;width:100%;padding:11px}.site-footer{align-items:flex-start;flex-wrap:wrap;gap:10px;padding-top:18px}.site-footer>p{order:3;width:100%;max-width:none;margin:2px 0}.footer-note{margin-inline-start:auto;font-size:9px}.modal-card{padding:20px}.modal-header h2{font-size:23px}.form-row{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Supabase-backed account controls */
.account-button{white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.auth-actions{align-items:center;flex-wrap:wrap}.auth-actions .button{font-size:11px}.auth-feedback{margin-top:14px;margin-bottom:0;white-space:pre-wrap}.signout-button{width:100%;margin-top:10px;border:1px solid var(--line)}body[dir="rtl"] .auth-actions{flex-direction:row-reverse}

/* Campus Souq listing photo upload */
.photo-input{padding:9px;background:#fffefa}.photo-help{margin:6px 0 10px;color:#859187;font-size:10px;line-height:1.6}.photo-preview{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#f8faf6}.photo-preview[hidden]{display:none}.photo-preview img{width:76px;height:76px;object-fit:cover;border-radius:9px;background:#eef2ec}.product-visual.has-photo{background:#edf1ec}.product-visual.has-photo:before,.product-visual.has-photo:after{display:none}.listing-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.detail-photo{display:block;width:100%;max-height:330px;object-fit:contain;background:#f2f4ef;border-radius:14px;margin-bottom:17px}


/* Campus Souq private buyer-seller messaging */
.messages-button{display:inline-flex;align-items:center;gap:6px;position:relative}
.messages-button[hidden]{display:none}
.unread-badge{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#c86d4f;color:#fff;font-size:9px;font-weight:700}
.unread-badge[hidden]{display:none}
.messages-modal{max-width:min(620px,calc(100% - 28px))}
.conversation-modal{max-width:min(680px,calc(100% - 28px))}
.messages-toolbar,.conversation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 12px;color:#7c8980;font-size:11px}
.message-thread-list{display:grid;gap:8px;max-height:56vh;overflow:auto}
.thread-item{display:flex;align-items:flex-start;gap:12px;width:100%;padding:13px;border:1px solid #e7ece5;border-radius:12px;background:#fff;text-align:start;cursor:pointer;color:inherit;transition:background .15s,border-color .15s}
.thread-item:hover{background:#f7faf6;border-color:#cbd9cc}
.thread-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:none;background:#edf3ee;color:#476b50;font-weight:700;font-size:15px}
.thread-main{min-width:0;flex:1}
.thread-topline{display:flex;justify-content:space-between;align-items:center;gap:10px}
.thread-name{font-size:12px;font-weight:700;color:#304238;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thread-time{font-size:9px;color:#9aa49c;white-space:nowrap}
.thread-listing{font-size:10px;color:#67806d;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thread-preview{font-size:10px;color:#89958c;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.messages-empty{padding:24px 14px;text-align:center;color:#89958c;font-size:11px;line-height:1.8;background:#f7f9f5;border-radius:12px}
.messages-empty[hidden]{display:none}
.conversation-messages{height:min(42vh,390px);min-height:210px;overflow:auto;padding:14px;background:#f6f8f4;border:1px solid #e8eee6;border-radius:13px;display:flex;flex-direction:column;gap:10px}
.message-bubble{max-width:min(84%,480px);padding:10px 12px;border-radius:13px;background:#fff;color:#405047;box-shadow:0 2px 8px rgba(30,55,39,.045);align-self:flex-start}
.message-bubble.message-own{align-self:flex-end;background:#e8f1e8;color:#2d4a35}
.message-body{font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.message-meta{font-size:9px;color:#8c9a90;margin-top:6px;display:flex;gap:7px;align-items:center}
.message-compose{margin-top:12px}
.message-compose textarea{min-height:74px}
.message-compose-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}
.message-compose-footer span{font-size:9px;color:#929e95;line-height:1.5;max-width:62%}
.message-compose-footer .button{white-space:nowrap}
.conversation-header h2{font-size:22px}
body[dir="rtl"] .thread-topline,body[dir="rtl"] .message-compose-footer{flex-direction:row-reverse}
body[dir="rtl"] .message-bubble{align-self:flex-end}
body[dir="rtl"] .message-bubble.message-own{align-self:flex-start}
@media(max-width:650px){
  .messages-button{padding:8px 9px;font-size:10px;gap:4px}
  .messages-button #messagesButtonLabel{display:none}
  .messages-modal,.conversation-modal{max-width:calc(100% - 18px)}
  .conversation-messages{height:42vh;min-height:190px}
  .message-compose-footer{align-items:flex-start;flex-direction:column}
  .message-compose-footer span{max-width:100%}
  .message-compose-footer .button{width:100%}
}


/* Campus Souq administrator dashboard and listing reports */
.admin-button[hidden]{display:none}
.admin-modal{max-width:min(900px,calc(100% - 24px))}
.report-modal{max-width:min(560px,calc(100% - 24px))}
.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 15px}
.admin-tabs{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.admin-tab{border:1px solid #e1e8e0;background:#fffefa;color:#607066;border-radius:9px;padding:9px 12px;font-size:11px;font-weight:700}
.admin-tab.active{background:#173c32;border-color:#173c32;color:#fff}
.admin-panel{min-height:180px;max-height:62vh;overflow:auto;padding:2px}
.admin-notice{background:#f6f3e9;border:1px solid #eee5d2;color:#816c47;border-radius:10px;padding:11px 13px;font-size:10px;line-height:1.6;margin-bottom:12px}
.admin-list{display:grid;gap:9px}
.admin-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px solid #e7ece5;border-radius:12px;background:#fff}
.admin-row-main{min-width:0;flex:1}
.admin-row-title{color:#31433a;font-size:12px;font-weight:700;overflow-wrap:anywhere}
.admin-row-meta{color:#89958c;font-size:10px;margin-top:5px;line-height:1.5;overflow-wrap:anywhere}
.admin-row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex:none}
.admin-row-actions .button{padding:8px 10px;font-size:10px}
.admin-empty{padding:28px 14px;text-align:center;color:#89958c;font-size:11px;line-height:1.8;background:#f7f9f5;border-radius:12px}
.admin-report-details{margin:8px 0 0;color:#69786f;font-size:11px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.button-danger{border:1px solid #e6c6bd!important;background:#fff8f6!important;color:#9a4939!important}
.report-listing-button{width:100%;margin-top:8px;border:1px solid #e1e8e0}
body[dir="rtl"] .admin-toolbar,body[dir="rtl"] .admin-row{flex-direction:row-reverse}
body[dir="rtl"] .admin-row-actions{justify-content:flex-start}
@media(max-width:650px){
  .admin-button{padding:8px 9px;font-size:10px}
  .admin-modal,.report-modal{max-width:calc(100% - 16px)}
  .admin-toolbar{align-items:stretch;flex-direction:column}
  .admin-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-tab{padding:9px 5px;font-size:9px}
  .admin-row{align-items:flex-start;flex-direction:column}
  .admin-row-actions{width:100%;justify-content:flex-start}
  .admin-row-actions .button{flex:1}
  .admin-panel{max-height:65vh}
}


/* Featured placements — free administrator-curated pilot (no payments collected). */
.featured-wrap{margin:0 0 22px;padding:17px;border:1px solid #e7e3d5;border-radius:17px;background:linear-gradient(135deg,#fbfaf4,#f5f7f1)}
.featured-wrap[hidden]{display:none}
.featured-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.featured-heading .section-kicker{color:#a37a38;font-size:9px}
.featured-heading h3{margin:4px 0 0;color:var(--forest);font-family:'Playfair Display',serif;font-size:21px}
.featured-curation{display:inline-flex;align-items:center;gap:6px;background:#fff5dd;border:1px solid #f0e3c3;color:#8a6c34;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:800;letter-spacing:.06em}
.featured-card,.listing-card.is-featured{border-color:#e5d4a8}
.featured-card .listing-tag,.listing-card.is-featured .listing-tag{background:#fff3d6;color:#876626}
.featured-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-row-actions .button[data-feature-days],.admin-row-actions .button[data-feature-clear]{white-space:nowrap}
@media(max-width:650px){
  .featured-wrap{padding:12px}
  .featured-heading h3{font-size:18px}
  .featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .admin-row-actions .button[data-feature-days],.admin-row-actions .button[data-feature-clear]{flex:1 1 auto}
}
