
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--green:#125c3f;--green2:#1c7956;--cream:#f7f3e9;--ink:#20251f;--muted:#74796f;--line:#e8e3d8;--white:#fffdf8;--gold:#c88642}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.announcement{background:var(--green);color:#f9f5e8;text-align:center;padding:9px 15px;font-size:12px;letter-spacing:.06em}.nav{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100vw - 1480px)/2),4vw);background:rgba(247,243,233,.95);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--green);font-weight:700;letter-spacing:-.04em;font-size:19px}.brand img{height:76px;width:212px;object-fit:contain;border:0;border-radius:0}.navlinks{display:flex;gap:30px}.navlinks a{font-size:13px;text-decoration:none;color:#3d453f}.navright{display:flex;gap:10px}.iconbtn{border:1px solid var(--line);background:transparent;border-radius:100px;padding:10px 15px;color:var(--ink);font-weight:700}.cart-count{color:var(--green);font-weight:bold}.hero{max-width:none;margin:28px 32px 74px;border-radius:20px;overflow:hidden;position:relative;background:transparent}.hero:before{display:none}.hero-full-image{display:block;width:100%;height:auto;object-fit:contain}.hero-copy{position:relative;color:#fffdf4;max-width:550px;padding:60px 64px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.17em;font-weight:700;color:#d8bd87}.hero h1{font:600 clamp(42px,6vw,68px)/1.06 'Playfair Display',serif;margin:17px 0}.hero p{font-size:15px;line-height:1.8;color:#f1ede3;max-width:430px}.btn{border:0;border-radius:999px;background:var(--green);color:white;padding:14px 22px;font-size:13px;font-weight:700;transition:.2s}.btn:hover{background:var(--green2);transform:translateY(-1px)}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn-light{background:#f5f1e7;color:var(--green);margin-top:14px}.section{max-width:1480px;margin:0 auto 92px;padding:0 18px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.section h2{font:600 36px 'Playfair Display',serif;margin:8px 0 0}.section-head p{color:var(--muted);font-size:13px;margin:0}.category-label{font-size:12px;font-weight:700;color:#536057;letter-spacing:.04em;margin:24px 0 0}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0 25px}.chip{border:1px solid var(--line);background:transparent;border-radius:99px;padding:9px 17px;font-size:12px;color:#526057}.chip.active,.chip:hover{background:var(--green);color:white;border-color:var(--green)}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:var(--white);border:1px solid var(--line);border-radius:15px;overflow:hidden;transition:.25s}.card:hover{transform:translateY(-4px);box-shadow:0 13px 35px #182b1d12}.product-art{height:220px;display:grid;place-items:center;background:linear-gradient(140deg,#e8e0d0,#f5f0e6);position:relative;overflow:hidden}.product-art img{height:100%;width:100%;object-fit:cover}.emoji{font-size:90px;filter:drop-shadow(0 12px 9px #55473330)}.tag{position:absolute;top:13px;left:13px;border-radius:30px;padding:6px 10px;background:#fffdf0;color:var(--green);font-size:10px;font-weight:700}.card-info{padding:16px}.card-info h3{font:600 18px 'Playfair Display',serif;margin:0 0 7px}.card-info p{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 14px;min-height:36px}.price-row{display:flex;justify-content:space-between;align-items:center}.price{font-weight:700;color:var(--green)}.add{width:40px;height:40px;border:1px solid #c8d6cb;background:#f5f8f3;color:var(--green);border-radius:50%;font-size:20px}.search{border:1px solid var(--line);border-radius:99px;background:var(--white);padding:10px 15px;outline:none;width:360px}.bulk{background:#e8ede3;border-radius:20px;padding:48px 55px;display:flex;justify-content:space-between;align-items:center;gap:35px}.bulk h2{margin:8px 0;font:600 36px 'Playfair Display',serif}.bulk p{color:#536057;line-height:1.7;max-width:530px;font-size:14px}.bulk .btn{white-space:nowrap}.review-arrows{display:flex;gap:8px}.review-arrows button{width:38px;height:38px;padding:0;font-size:18px}.reviews{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:0 1px 12px}.reviews::-webkit-scrollbar{display:none}.reviews .review{flex:0 0 calc(50% - 9px);scroll-snap-align:start}.review{padding:25px;background:var(--white);border:1px solid var(--line);border-radius:15px}.stars{color:#bd843f;letter-spacing:2px}.review p{line-height:1.7;color:#515a52;font-size:14px}.review strong{font-size:13px}.review audio{width:100%;margin-top:12px}.review-form{margin-top:25px;background:#ebe7dc;padding:25px;border-radius:15px}.review-form input,.review-form textarea,.admin-form input,.admin-form textarea,.admin-form select{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fffdf8;margin:7px 0 12px}.review-form textarea,.admin-form textarea{min-height:80px;resize:vertical}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.record{background:#fffdf8;border:1px solid #d7d2c8;border-radius:30px;padding:10px 14px;font-size:12px;color:#333}.record.recording{background:#fff0ed;color:#a43c29}.footer{background:#152c22;color:#f4f0e5;padding:40px max(calc((100vw - 1480px)/2),4vw);display:flex;justify-content:space-between;align-items:center;font-size:12px}.footer p{color:#c4ccbf}.footer button{color:#f0eadb;border-color:#586b5c}.drawer-bg,.modal-bg{position:fixed;inset:0;background:#12201780;z-index:10;display:none}.drawer-bg.open,.modal-bg.open{display:block}.drawer{position:absolute;right:0;top:0;height:100%;width:min(430px,100%);background:var(--cream);padding:25px;display:flex;flex-direction:column}.drawer-head{display:flex;justify-content:space-between;align-items:center}.drawer h2,.modal h2{font:600 27px 'Playfair Display',serif}.close{border:0;background:none;font-size:24px}.cart-items{overflow:auto;flex:1}.cartline{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:15px 0;font-size:13px}.qty button{border:1px solid var(--line);background:white;border-radius:50%;width:24px;height:24px}.total{display:flex;justify-content:space-between;font-size:17px;font-weight:700;padding:18px 0}.modal-bg{display:none;place-items:center;padding:16px}.modal-bg.open{display:grid}.modal{width:min(510px,100%);max-height:90vh;overflow:auto;background:var(--cream);border-radius:18px;padding:27px;position:relative}.modal .close{position:absolute;right:18px;top:18px}.modal small{color:var(--muted);line-height:1.5}.modal input,.modal textarea,.modal select{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;margin:7px 0 13px;background:var(--white)}.admin-items{margin-top:25px}.category-manager{margin:22px 0;padding:16px;background:#eee9de;border:1px solid var(--line);border-radius:12px}.category-manager h3{font:600 18px 'Playfair Display',serif;margin:0 0 8px}.category-manager form{display:flex;gap:8px}.category-manager form input{margin:0;min-width:0}.category-manager .btn{padding:10px 14px;white-space:nowrap}.category-manager .admin-row{font-size:12px;padding:7px 0}.moderation-item{padding:12px 0;border-top:1px solid var(--line);font-size:12px;line-height:1.5}.moderation-item p{margin:6px 0;color:#59625a}.moderation-actions{display:flex;gap:8px;margin-top:9px}.moderation-actions button{font-size:11px;padding:7px 12px}.admin-row{border-top:1px solid var(--line);padding:10px 0;display:flex;justify-content:space-between;font-size:13px}.admin-row button{border:0;background:none;color:#a23c2e}.hidden{display:none!important}.empty{text-align:center;color:var(--muted);padding:40px 10px}.notice{font-size:12px;color:var(--muted);line-height:1.5;margin-top:12px}.gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;height:290px;background:#e9e3d7;border-radius:12px}.gallery-track::-webkit-scrollbar{display:none}.gallery-track img{min-width:100%;width:100%;height:100%;object-fit:contain;scroll-snap-align:center}.gallery-dots{display:flex;justify-content:center;gap:6px;margin:12px}.gallery-dots button{width:7px;height:7px;border:0;padding:0;border-radius:50%;background:#c9c5b8}.gallery-dots button.active{background:var(--green)}.wa-float{position:fixed;right:22px;bottom:22px;z-index:7;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#20ba67;color:white;text-decoration:none;font-size:27px;box-shadow:0 5px 20px #102a1c35;border:2px solid white}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#183d2c;color:white;padding:12px 20px;border-radius:30px;z-index:20;font-size:13px;opacity:0;transition:.25s;pointer-events:none}.toast.show{opacity:1}
@media(max-width:850px){.hero{margin:18px 14px 55px;min-height:0}.hero-copy{padding:45px 30px}.products{grid-template-columns:repeat(2,1fr)}.product-art{height:190px}.section{margin-bottom:65px}.nav{padding:0 17px}.navlinks{gap:14px}.navlinks a:nth-child(2){display:none}.bulk{padding:35px;flex-direction:column;align-items:flex-start}.footer{padding:30px 20px}}@media(max-width:550px){.nav{height:78px}.brand{font-size:15px}.brand img{height:62px;width:174px}.navlinks{display:none}.iconbtn{padding:9px 12px;font-size:12px}.hero{min-height:0;background:transparent}.hero-full-image{width:100%;height:auto;object-fit:contain}.section h2{font-size:30px}.section-head{align-items:flex-start;gap:12px;flex-direction:column}.search{width:100%}.products{gap:10px}.product-art{height:150px}.emoji{font-size:66px}.card-info{padding:12px}.card-info h3{font-size:16px}.reviews .review{flex-basis:88%}.footer{gap:20px;align-items:flex-start;flex-direction:column}.row{grid-template-columns:1fr}.bulk h2{font-size:30px}}

/* Desktop-first refinements and keyboard focus */
@media(min-width:851px){.navlinks a{font-weight:600}.navright .iconbtn{min-height:44px}.search{width:360px;min-height:44px}.chip,.record{font-weight:600}.section-head{gap:32px}.hero{margin-left:32px;margin-right:32px}}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c88642;outline-offset:3px}
.about-page{max-width:1480px;margin:52px auto 90px;padding:0 32px}.about-hero{background:var(--green);color:#fffdf4;border-radius:22px;padding:clamp(38px,7vw,90px);margin-bottom:28px}.about-hero h1{font:600 clamp(42px,6vw,72px)/1.05 'Playfair Display',serif;margin:14px 0}.about-hero p{max-width:660px;line-height:1.8;font-size:17px;color:#e8eee8}.about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.about-card{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:26px}.about-card h2{font:600 26px 'Playfair Display',serif;margin:0 0 10px}.about-card p{font-size:14px;line-height:1.75;color:#59625a;margin:0}.about-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}@media(max-width:850px){.about-page{margin:28px auto 60px;padding:0 18px}.about-grid{grid-template-columns:1fr}.search{width:250px}}@media(max-width:550px){.about-page{padding:0 14px}.about-hero{padding:34px 24px}.about-hero p{font-size:15px}.search{width:100%}}

/* Transparent hidden owner-access tap target over the mosque visible through the window. */
.hero-plate{position:absolute;left:45%;top:36%;transform:translate(-50%,-50%);width:clamp(44px,4.2vw,58px);height:clamp(44px,4.2vw,58px);padding:0;border:0;background:transparent;border-radius:50%;cursor:pointer;touch-action:manipulation}
.hero-plate:hover{background:transparent}
.hero-plate:focus-visible{outline:2px solid rgba(255,255,255,.95);outline-offset:2px}

#why-choose-us{scroll-margin-top:110px}
@media(max-width:550px){.why-choose-btn{white-space:nowrap;font-size:11px;padding:8px 9px}}
@media(max-width:380px){.nav .brand img{width:138px;height:54px}.navright{gap:7px}.why-choose-btn{font-size:10px;padding:7px 7px}}
@media(max-width:550px){.about-nav .navright a:nth-child(2){display:none}}

.category-checklist-wrap{border:1px solid var(--line);border-radius:10px;background:var(--white);margin:8px 0 12px;padding:10px 12px 12px;min-width:0}
.category-checklist-wrap legend{font-size:12px;font-weight:700;color:#536057;padding:0 5px}
.category-checklist{display:flex;flex-wrap:wrap;gap:8px}
.category-choice{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:12px;cursor:pointer}
.category-choice input{width:16px;height:16px;margin:0;accent-color:var(--green)}

/* Curated bundles: polished, swipeable cards rather than a table-like row. */
.bundle-section{max-width:1480px;margin:0 auto 82px;padding:0 32px}
.bundle-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:22px}
.bundle-heading h2{font:600 clamp(30px,4vw,42px)/1.08 'Playfair Display',serif;color:var(--ink);margin:8px 0}
.bundle-heading p{margin:0;color:#687168;font-size:14px;line-height:1.6}
.bundle-arrows{display:flex;gap:8px;flex:none}
.bundle-arrows .record{width:42px;height:42px;padding:0;font-size:18px}
.bundle-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:3px 2px 17px}
.bundle-track::-webkit-scrollbar{display:none}
.bundle-card{flex:0 0 clamp(270px,31vw,360px);min-width:0;scroll-snap-align:start;overflow:hidden;border:1px solid #e5e0d4;border-radius:21px;background:var(--white);box-shadow:0 7px 22px #173b2810;transition:transform .22s,box-shadow .22s;cursor:pointer}
.bundle-card:hover{transform:translateY(-4px);box-shadow:0 15px 34px #173b281a}
.bundle-card:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.bundle-image-wrap{height:214px;position:relative;overflow:hidden;background:linear-gradient(135deg,#e8e3d7,#f7f3e9)}
.bundle-image-wrap>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.bundle-card:hover .bundle-image-wrap>img{transform:scale(1.035)}
.bundle-image-fallback{height:100%;display:grid;place-items:center;color:var(--green);font-size:64px;background:radial-gradient(circle at 35% 25%,#fff8e8,#e5eadf)}
.bundle-tag,.bundle-photo-count{position:absolute;top:14px;border-radius:99px;padding:7px 11px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;backdrop-filter:blur(10px)}
.bundle-tag{left:14px;background:#fffdf0e8;color:var(--green)}
.bundle-photo-count{right:14px;background:#163728c9;color:white}
.bundle-card-content{padding:19px 20px 18px}
.bundle-card-content h3{font:600 22px/1.2 'Playfair Display',serif;margin:0 0 8px;color:var(--ink)}
.bundle-card-content p{height:42px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#697168;font-size:12px;line-height:1.7;margin:0 0 16px}
.bundle-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #eee9de;padding-top:14px}
.bundle-card-bottom>strong{color:var(--green);font-size:17px;white-space:nowrap}
.bundle-add{border:0;border-radius:99px;background:var(--green);color:#fff;padding:10px 13px 10px 16px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:9px;transition:background .2s}
.bundle-add:hover{background:var(--green2)}
.bundle-add span{font-size:18px;line-height:12px}
.bundle-empty{padding:22px;border:1px dashed #c9d2c8;border-radius:16px;background:#eef1e9;color:#536057;font-size:13px;text-align:center}
.cart-bundle-label{display:inline-block;margin-left:7px;border-radius:99px;background:#e8eee5;color:var(--green);padding:3px 7px;font-size:9px;font-weight:700;vertical-align:middle}
.bundle-manager .admin-form small{display:block;color:var(--muted);margin:0 0 12px}
@media(max-width:850px){.bundle-section{padding:0 18px;margin-bottom:62px}.bundle-card{flex-basis:min(78vw,340px)}.bundle-image-wrap{height:195px}}
@media(max-width:550px){.bundle-section{padding:0 14px;margin-bottom:54px}.bundle-heading{align-items:flex-start}.bundle-heading p{max-width:280px;font-size:12px}.bundle-arrows .record{width:36px;height:36px}.bundle-card{flex-basis:84vw;border-radius:18px}.bundle-image-wrap{height:185px}.bundle-card-content{padding:16px}.bundle-card-content h3{font-size:20px}}

/* Owner portal bundle editor: clear labels, vertical flow, and responsive previews. */
.bundle-manager{padding:20px;background:linear-gradient(145deg,#f4f1e7,#ede9dd);border-color:#e4dece}
.bundle-manager-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:4px}
.bundle-manager-icon{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:12px;background:#dce8dc;color:var(--green);font-size:19px}
.bundle-manager-heading h3{margin:1px 0 5px;font:600 20px/1.25 'Playfair Display',serif;color:var(--ink)}
.bundle-manager-heading p{margin:0;color:#626b62;font-size:12px;line-height:1.55}
.bundle-manager .bundle-form{display:grid!important;grid-template-columns:minmax(0,1fr);gap:17px;margin-top:19px}
.bundle-form .bundle-field{min-width:0}
.bundle-form .bundle-field>label{display:block;margin:0 0 5px;color:#303a32;font-size:12px;font-weight:700}
.bundle-form .label-subtle{color:#798075;font-weight:500}
.bundle-form .bundle-field>input,.bundle-form .bundle-field>textarea{display:block;width:100%;min-height:44px;margin:0!important;padding:11px 12px;border:1px solid #d9d5ca;border-radius:10px;background:#fffdf8;color:var(--ink);font-size:13px}
.bundle-form .bundle-field>textarea{min-height:98px;line-height:1.55;resize:vertical}
.bundle-form .bundle-field>input[type=file]{padding:9px;background:#fffdf8}
.bundle-form .bundle-field>input:focus,.bundle-form .bundle-field>textarea:focus{outline:3px solid #c8864240;border-color:var(--gold)}
.bundle-form .bundle-field>small{display:block;margin:6px 2px 0;color:#70776e;font-size:10px;line-height:1.5}
.bundle-form .bundle-submit{width:100%;min-height:46px;display:flex;justify-content:space-between;padding:12px 17px;font-size:12px}
.bundle-image-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.bundle-image-preview:empty{display:none}
.bundle-image-preview figure{min-width:0;margin:0;overflow:hidden;border:1px solid #ded9cc;border-radius:10px;background:#fffdf8}
.bundle-image-preview img{display:block;width:100%;height:70px;object-fit:cover}
.bundle-image-preview figcaption{padding:5px;text-align:center;color:#657065;font-size:9px;font-weight:600}
.bundle-manager #adminBundles{margin-top:18px}
@media(max-width:550px){.bundle-manager{padding:16px}.bundle-image-preview img{height:58px}.bundle-manager-heading h3{font-size:19px}}

/* Clear upload feedback and bag-image action. */
.owner-login-label,.upload-label{display:block;margin:7px 0 5px;color:#303a32;font-size:12px;font-weight:700}
.upload-label span{color:#74796f;font-weight:500}
.upload-status{margin:8px 0 12px;padding:9px 11px;border-radius:9px;background:#e8eee5;color:var(--green);font-size:11px;line-height:1.5;font-weight:600}
.upload-status:empty{display:none}
.bundle-form .upload-status{margin-top:3px}
