/* Swamiji Wishes Wall - responsive, theme-proof styles */
.swx-wrap,.swx-overlay,.swx-share-overlay{--bg:#f8f0ea;--card:#fffdf9;--field:#f7efe9;--ink:#3a2a22;--muted:#7a6a60;--brand:#c8572e;--deep:#7a2e14;--line:#eadfd6;--chip:#fbebe3;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);-webkit-text-size-adjust:100%}
.swx-wrap *,.swx-overlay *,.swx-share-overlay *{box-sizing:border-box}
.swx-wrap{background:var(--bg);padding:clamp(32px,6vw,56px) clamp(16px,4vw,24px);width:100%;max-width:100%;overflow-x:clip}
.swx-inner{max-width:1100px;margin:0 auto}
.swx-head-btn,.swx-head-share{flex:0 0 auto}
.swx-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:clamp(22px,4vw,36px)}
.swx-eyebrow{color:var(--brand);font-weight:600;font-size:14px;margin:0 0 12px}
.swx-wrap h2.swx-title{font-family:'Playfair Display',Georgia,"Times New Roman",serif;color:var(--deep);margin:0;font-size:clamp(30px,6vw,52px);line-height:1.1;overflow-wrap:anywhere}
.swx-btn{background:var(--brand);color:#fff;border:0;border-radius:999px;padding:16px 26px;min-height:48px;font:600 16px/1.2 Inter,system-ui,sans-serif;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.swx-btn:hover{filter:brightness(1.08)}
.swx-btn[disabled]{opacity:.6;cursor:wait}
.swx-btn:focus-visible,.swx-more:focus-visible,.swx-chip:focus-visible,.swx-x:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
.swx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:clamp(16px,2.5vw,24px)}
.swx-empty{margin:0;color:var(--muted)}
.swx-wish{background:var(--card);border-radius:16px;padding:clamp(20px,3vw,28px) clamp(20px,3vw,30px) 22px;box-shadow:0 8px 24px rgba(90,50,30,.12);display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-width:0;animation:swxpop .35s ease}
.swx-wish p{margin:0;font-size:clamp(16px,2.2vw,18px);line-height:1.6;overflow-wrap:anywhere;white-space:pre-line}
.swx-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px;font-size:16px}
.swx-meta b{color:var(--deep);font-weight:600;overflow-wrap:anywhere}
.swx-meta span{color:var(--muted)}
@keyframes swxpop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}

/* Popup */
.swx-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(30,15,8,.55);display:none;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));z-index:2147483000;color-scheme:light}
.swx-overlay.swx-open{display:flex}
html.swx-lock,html.swx-lock body{overflow:hidden!important}
.swx-modal{position:relative;background:var(--card);border-radius:24px;width:100%;max-width:560px;max-height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:clamp(24px,5vw,36px) clamp(18px,5vw,32px)}
.swx-x{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;border:0;background:var(--bg);color:var(--ink);font-size:20px;line-height:1;cursor:pointer;padding:0}
.swx-modal .swx-eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:13px;padding-right:48px}
.swx-modal h3{font-family:'Playfair Display',Georgia,"Times New Roman",serif;font-size:clamp(26px,6vw,38px);margin:0 0 14px;color:#2b1710;line-height:1.15;padding:0}
.swx-note{color:var(--muted);line-height:1.6;margin:0 0 24px}
.swx-modal label{display:block;color:var(--deep);font-weight:600;margin:18px 0 8px}
.swx-modal label small{font-weight:400;color:var(--muted);font-size:14px}
.swx-modal input,.swx-modal textarea{display:block;width:100%;max-width:100%;background:var(--field);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:15px 18px;font:16px/1.3 Inter,system-ui,sans-serif;margin:0}
.swx-modal textarea{min-height:130px;resize:vertical}
.swx-modal input:focus,.swx-modal textarea:focus{outline:2px solid var(--brand)}
.swx-chips{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 22px}
.swx-chip{background:var(--chip);color:var(--deep);border:1px solid var(--line);border-radius:999px;padding:10px 16px;min-height:44px;font:500 15px/1.2 Inter,system-ui,sans-serif;cursor:pointer;touch-action:manipulation}
.swx-err{color:#c0392b;font-size:14px;min-height:20px;margin:0 0 10px}
.swx-thanks{display:none;text-align:center;padding:24px 0 8px;animation:swxpop .35s ease}
.swx-thanks.swx-show{display:block}
.swx-tick{width:72px;height:72px;border-radius:50%;background:var(--chip);color:var(--brand);font-size:36px;line-height:68px;margin:0 auto 20px;border:2px solid var(--brand)}
.swx-thanks h3{margin-bottom:12px}
.swx-thanks .swx-note{margin-bottom:28px}
.swx-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}

.swx-ferr{color:#c0392b;font-size:13px;line-height:1.4;margin:6px 2px 0;min-height:0}
.swx-ferr:empty{display:none}
.swx-modal input.swx-invalid,.swx-modal textarea.swx-invalid{border-color:#c0392b;background:#fdf1ef}
.swx-count{text-align:right;color:var(--muted);font-size:12px;margin:6px 2px 0}
.swx-count.swx-over{color:#c0392b;font-weight:600}

/* Phone row: country code + number share one height (height:auto on both, stretched by the flex row) */
.swx-phone-row{display:flex;align-items:stretch;gap:10px;width:100%}
.swx-overlay .swx-modal .swx-phone-row select#swx-cc{flex:0 0 130px;width:130px;min-width:0;max-width:none;margin:0;background-color:#f7efe9;color:#7a2e14;-webkit-text-fill-color:#7a2e14;border:1px solid var(--line);border-radius:12px;opacity:1;font:500 16px/1.3 Inter,system-ui,sans-serif}
.swx-overlay .swx-modal .swx-phone-row select#swx-cc option{color:#7a2e14;background:#fffdf9}
.swx-overlay .swx-modal .swx-phone-row input#swx-phone{flex:1 1 0;min-width:0;width:auto}
/* One identical height for Name, Email, Phone and the country code (theme-proof) */
.swx-overlay .swx-modal input#swx-name,
.swx-overlay .swx-modal input#swx-email,
.swx-overlay .swx-modal input#swx-phone,
.swx-overlay .swx-modal select#swx-cc{height:56px!important;min-height:56px!important;max-height:56px!important;line-height:1.3!important;box-sizing:border-box!important;margin:0!important;padding-top:0!important;padding-bottom:0!important}
.swx-overlay .swx-modal input#swx-name,
.swx-overlay .swx-modal input#swx-email,
.swx-overlay .swx-modal input#swx-phone{padding-left:18px!important;padding-right:18px!important}
.swx-overlay .swx-modal select#swx-cc{padding-left:10px!important;padding-right:10px!important;align-self:flex-start}
.swx-phone-row select:focus{outline:2px solid var(--brand)}

/* Read more / expandable full-width panel */
.swx-body{display:flex;flex-direction:column;gap:12px;align-items:flex-start;min-width:0}
.swx-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;overflow:hidden}
.swx-more-wrap{display:none}
.swx-more-wrap.swx-on{display:block}
.swx-more{display:block;background:none;border:0;padding:6px 0;color:var(--brand);font:600 15px/1.2 Inter,system-ui,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px;touch-action:manipulation}
.swx-more:hover{color:var(--deep)}
.swx-wish.swx-active{background:var(--chip);box-shadow:0 0 0 2px var(--brand),0 8px 24px rgba(90,50,30,.12)}
.swx-panel{grid-column:1 / -1;background:var(--card);border:1px solid var(--brand);border-radius:16px;padding:30px 34px 26px;box-shadow:0 8px 24px rgba(90,50,30,.12);animation:swxpop .3s ease;min-width:0}
.swx-panel .swx-full{margin:0 0 22px;font-size:clamp(16px,2.2vw,18px);line-height:1.75;overflow-wrap:anywhere;white-space:pre-line}
.swx-panel .swx-meta{margin-bottom:22px}
.swx-less{padding:12px 24px;font-size:15px}

/* Stronger specificity so dark-mode / theme rules can't hide the text */
.swx-overlay .swx-modal input,.swx-overlay .swx-modal textarea{color:#7a2e14;-webkit-text-fill-color:#7a2e14}
.swx-overlay .swx-modal input::placeholder,.swx-overlay .swx-modal textarea::placeholder{color:#9a8a80;-webkit-text-fill-color:#9a8a80;opacity:1}

/* Tablets */
@media(max-width:782px){
  .swx-panel{padding:24px 22px}
}
/* Phones */
@media(max-width:600px){
  .swx-head{flex-direction:column;align-items:stretch}
  .swx-head-btn{flex:1 1 auto;width:100%}
  .swx-head .swx-btn{width:100%}
  .swx-panel{padding:22px 18px}
  .swx-less{width:100%}
  .swx-overlay{align-items:flex-end;padding-bottom:0}
  .swx-modal{border-radius:20px 20px 0 0;max-height:92vh;max-height:92dvh}
  .swx-modal #swx-send,.swx-modal #swx-done{width:100%}
}
/* Small phones */
@media(max-width:400px){
  .swx-overlay .swx-modal .swx-phone-row select#swx-cc{flex-basis:112px;width:112px;font-size:15px}
  .swx-chip{font-size:14px;padding:9px 13px}
  .swx-meta{font-size:15px}
}
/* Short landscape screens: let the popup use the full height */
@media(max-height:480px){
  .swx-overlay{align-items:flex-start;overflow-y:auto}
  .swx-modal{max-height:none;border-radius:16px}
}
@media(prefers-reduced-motion:reduce){
  .swx-wish,.swx-panel,.swx-thanks{animation:none}
}

/* Pagination */
.swx-pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:clamp(24px,4vw,36px)}
.swx-pager:empty{display:none}
.swx-wrap .swx-pager a.swx-pg{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--deep);font:600 15px/1 Inter,system-ui,sans-serif;text-decoration:none;box-shadow:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.swx-wrap .swx-pager a.swx-pg:hover{border-color:var(--brand);color:var(--brand)}
.swx-wrap .swx-pager a.swx-pg.swx-cur{background:var(--brand);border-color:var(--brand);color:#fff;cursor:default}
.swx-wrap .swx-pager a.swx-pg.swx-off{opacity:.4;pointer-events:none}
.swx-wrap .swx-pager a.swx-pg:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
.swx-gap{color:var(--muted);padding:0 4px}
.swx-grid.swx-loading{opacity:.5;transition:opacity .15s;pointer-events:none}
@media (max-width:480px){.swx-wrap .swx-pager a.swx-pg{min-width:40px;height:40px;padding:0 10px;font-size:14px}.swx-pager{gap:6px}}

.swx-pager-top{margin:0 0 clamp(18px,3vw,26px)}

/* Share button (between the title and "Add Your Wishes") */
.swx-wrap .swx-btn.swx-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:transparent;color:var(--brand);border:2px solid var(--brand);padding:14px 24px}
.swx-wrap .swx-btn.swx-btn-ghost:hover{background:var(--chip);filter:none}
.swx-btn-ghost svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;flex:0 0 auto}
@media (min-width:601px){.swx-head{align-items:center}}
.swx-head-text{flex:1 1 0;min-width:min(100%,240px)}

/* Share dialog */
.swx-share-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(30,15,8,.55);display:none;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));z-index:2147483000;color-scheme:light;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink)}
.swx-share-overlay.swx-open{display:flex}
.swx-share-panel{position:relative;width:100%;max-width:440px;max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:34px 24px 24px;border-radius:20px;background:var(--card);box-shadow:0 15px 55px rgba(0,0,0,.25);text-align:center}
.swx-share-overlay h3{font-family:'Playfair Display',Georgia,"Times New Roman",serif;font-size:clamp(21px,5vw,26px);line-height:1.25;margin:0 36px 8px;color:#2b1710;padding:0}
.swx-share-overlay .swx-share-desc{margin:0 0 22px;color:var(--muted);font-size:14px;line-height:1.5}
.swx-share-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.swx-share-overlay .swx-share-opt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:92px;padding:10px 4px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#333;font:500 12px/1.2 Inter,system-ui,sans-serif;text-decoration:none;cursor:pointer;touch-action:manipulation;box-shadow:none}
.swx-share-overlay .swx-share-opt[hidden]{display:none}
.swx-share-overlay .swx-share-opt:hover{background:var(--field);color:#222}
.swx-share-ico{display:flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;background:#f1f1f1;color:#333;font-size:16px;font-weight:700;line-height:1}
.swx-sh-whatsapp .swx-share-ico{background:#e2f7e9;color:#128c4a}
.swx-sh-facebook .swx-share-ico{background:#e8efff;color:#1877f2}
.swx-sh-telegram .swx-share-ico{background:#e5f5ff;color:#168acd}
.swx-sh-x .swx-share-ico{background:#eee;color:#111}
.swx-sh-email .swx-share-ico{background:#fff0e8;color:#b84d20}
.swx-share-overlay .swx-share-copy{display:block;width:100%;margin:18px 0 0;padding:13px;min-height:48px;border:1px solid var(--brand);border-radius:999px;background:#fff;color:var(--deep);font:600 15px/1.2 Inter,system-ui,sans-serif;cursor:pointer;touch-action:manipulation}
.swx-share-overlay .swx-share-copy:hover{background:var(--chip)}
.swx-share-status{min-height:18px;margin:10px 0 0;color:#237342;font-size:13px;line-height:1.4}
.swx-share-overlay .swx-x:focus-visible,.swx-share-opt:focus-visible,.swx-share-copy:focus-visible{outline:3px solid var(--deep);outline-offset:2px}

/* Search + sort */
.swx-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 clamp(16px,3vw,24px)}
.swx-search{position:relative;flex:1 1 260px;min-width:0}
.swx-s-ico{position:absolute;left:16px;top:50%;width:20px;height:20px;margin-top:-10px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;pointer-events:none}
.swx-wrap .swx-tools input.swx-q{display:block;width:100%;height:50px;margin:0;padding:0 46px 0 46px;background:var(--card);color:var(--deep);-webkit-text-fill-color:var(--deep);border:1px solid var(--line);border-radius:999px;font:16px/1.3 Inter,system-ui,sans-serif;box-shadow:none;-webkit-appearance:none;appearance:none}
.swx-wrap .swx-tools input.swx-q::placeholder{color:#9a8a80;-webkit-text-fill-color:#9a8a80;opacity:1}
.swx-wrap .swx-tools input.swx-q::-webkit-search-cancel-button{-webkit-appearance:none}
.swx-wrap .swx-tools input.swx-q:focus{outline:2px solid var(--brand);border-color:var(--brand)}
.swx-wrap .swx-q-clear{position:absolute;right:6px;top:50%;width:38px;height:38px;margin-top:-19px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:16px;line-height:1;padding:0;cursor:pointer;touch-action:manipulation}
.swx-wrap .swx-q-clear[hidden]{display:none}
.swx-wrap .swx-q-clear:hover{background:var(--chip);color:var(--deep)}
.swx-sortwrap{flex:0 0 auto}
.swx-wrap .swx-tools select.swx-sort{display:block;height:50px;margin:0;padding:0 40px 0 20px;background-color:var(--card);color:var(--deep);-webkit-text-fill-color:var(--deep);border:1px solid var(--line);border-radius:999px;font:600 15px/1.3 Inter,system-ui,sans-serif;cursor:pointer;box-shadow:none;color-scheme:light;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237a2e14' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center}
.swx-wrap .swx-tools select.swx-sort:focus{outline:2px solid var(--brand);border-color:var(--brand)}
.swx-status{margin:0 0 16px;color:var(--muted);font-size:15px;line-height:1.5}
.swx-status[hidden]{display:none}

/* Likes */
.swx-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0}
.swx-actions .swx-more-wrap{flex:1 1 auto}
.swx-like{display:inline-flex;align-items:center;gap:6px;margin:0 0 0 auto;padding:6px 12px;min-height:40px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--muted);font:600 15px/1 Inter,system-ui,sans-serif;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:none;transition:color .15s,border-color .15s,background .15s}
.swx-like svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;flex:0 0 auto;transition:transform .15s}
.swx-like:hover{color:var(--brand);border-color:var(--brand)}
.swx-like.swx-liked{color:#d6336c;border-color:#f3bfd2;background:#fff1f6}
.swx-like.swx-liked svg{fill:currentColor;stroke:currentColor}
.swx-like:active svg{transform:scale(1.25)}
.swx-like:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
.swx-lc:empty{display:none}
.swx-panel-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}

@media (max-width:600px){
  .swx-head-share{flex:1 1 auto;width:100%}
  .swx-head-share .swx-btn{width:100%}
  .swx-tools{flex-direction:column;align-items:stretch}
  .swx-search{flex:1 1 auto}
  .swx-wrap .swx-tools select.swx-sort{width:100%}
  .swx-sortwrap{width:100%}
  .swx-panel-actions .swx-less{flex:1 1 auto}
  .swx-share-overlay{align-items:flex-end;padding-bottom:0}
  .swx-share-panel{border-radius:20px 20px 0 0}
}
@media (max-width:380px){.swx-share-grid{gap:7px}.swx-share-overlay .swx-share-opt{font-size:11px}}
@media (max-height:480px){.swx-share-overlay{align-items:flex-start;overflow-y:auto}}
@media (prefers-reduced-motion:reduce){.swx-like,.swx-like svg{transition:none}}

/* ---- v1.6.1: popup fields stay inside the popup on every phone (iOS Safari / Android) ---- */
html.swx-lock{overflow-x:hidden!important;overscroll-behavior:none}
.swx-overlay,.swx-share-overlay{width:100%;max-width:100vw;overflow:hidden}
.swx-overlay .swx-modal{width:100%;max-width:min(560px,100%);overflow-x:hidden;overflow-y:auto;min-width:0;-webkit-text-size-adjust:100%}
.swx-overlay .swx-modal #swx-form,.swx-overlay .swx-modal #swx-thanks{width:100%;max-width:100%;min-width:0;margin:0;padding:0}
.swx-overlay .swx-modal input#swx-name,
.swx-overlay .swx-modal input#swx-email,
.swx-overlay .swx-modal textarea#swx-msg{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;font-size:16px!important}
.swx-overlay .swx-modal textarea#swx-msg{margin:0!important}
.swx-overlay .swx-modal .swx-phone-row{display:flex;width:100%;max-width:100%;min-width:0;gap:10px}
.swx-overlay .swx-modal .swx-phone-row select#swx-cc{flex:0 0 auto!important;width:112px!important;max-width:38%!important;font-size:16px!important}
.swx-overlay .swx-modal .swx-phone-row input#swx-phone{flex:1 1 0!important;width:100%!important;min-width:0!important;max-width:100%!important;font-size:16px!important}
.swx-overlay .swx-modal .swx-note,.swx-overlay .swx-modal label,.swx-overlay .swx-modal .swx-ferr,.swx-overlay .swx-modal .swx-err{max-width:100%;overflow-wrap:anywhere}
.swx-overlay .swx-modal .swx-chips{max-width:100%;min-width:0}
.swx-overlay .swx-modal .swx-chip{max-width:100%;white-space:normal;text-align:left}
.swx-overlay .swx-modal #swx-send{max-width:100%}
@media(max-width:600px){
  .swx-overlay{padding-left:0;padding-right:0}
  .swx-overlay .swx-modal{max-width:100%;padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));padding-bottom:max(24px,env(safe-area-inset-bottom))}
}
