/*--------------------------------------
  SEARCH BOX / EXPLORE PANEL
--------------------------------------*/

/* SEARCH BOX / EXPLORE PANEL — Compact, Dropdown Style */

/* Layout and visibility */
.desktop-only,.mobile-only{display:none;}
@media (min-width:1025px){.desktop-only{display:block;}}
@media (max-width:1024px){.mobile-only{display:block;}.desktop-header-search{display:none!important;}}

/* Desktop search container */
.desktop-header-search{position:relative;display:inline-flex;align-items:center;gap:.5rem;margin-left:auto;}
.desktop-search-btn{background:none;border:none;cursor:pointer;font-size:20px;line-height:1;color:#333;padding:4px 6px;margin:0 12px;transition:color .2s;}
.desktop-search-btn:hover{color:#b89b72;}

/* Dropdown form */
.desktop-search-form{position:absolute;top:30px;right:0;width:0;opacity:0;overflow:hidden;transition:all .25s;background:#f5f1e8;border:1px solid #d8cfc0;border-radius:4px;box-shadow:0 4px 8px rgba(0,0,0,.1);z-index:9999;padding:0;}
.desktop-header-search.active .desktop-search-form{width:360px;opacity:1;padding:6px 8px;}

/* Input + clear */
.desktop-search-input{width:100%;border:1px solid #d8cfc0;outline:none;font-size:16px;
  line-height:1.4;padding:8px 28px 8px 10px;font-family:"Mate",serif;color:#2c2c2c;background:#f5f1e8;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.2);transition:border-color .2s,box-shadow .2s,background .2s;}
.desktop-search-input:focus{border-color:#b89b72;box-shadow:0 0 0 2px rgba(184,155,114,.25);background:#fdfcf8;}
.desktop-search-clear{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:14px;color:#666;cursor:pointer;display:none;}
.desktop-search-clear:hover{color:#000;}

/* Results dropdown */
.desktop-search-results{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-height:400px;overflow-y:auto;background:#fdfcf8;border:1px solid #d8cfc0;border-radius:4px;box-shadow:0 4px 10px rgba(0,0,0,.1);
  display:none;z-index:9999;opacity:0;transform:translateY(-5px);transition:opacity .2s,transform .2s;font-family:"Mate",serif;}
.desktop-search-results.show{display:block;opacity:1;transform:translateY(0);}
.desktop-search-results .explore-result{display:flex;align-items:center;gap:10px;padding:10px;text-decoration:none;color:#2c2c2c;font-size:15px;border-bottom:1px solid #eee;transition:background .2s,color .2s;}
.desktop-search-results .explore-result:last-child{border-bottom:none;}
.desktop-search-results .explore-result:hover{background:#e6dfd3;color:#1a1a1a;}
.desktop-search-results .explore-result-thumb{width:40px;height:40px;object-fit:cover;border-radius:4px;flex-shrink:0;}
.desktop-search-results .explore-result-title{flex:1;line-height:1.3;}

.mobile-explore-btn{background:#06c;color:#fff;border:none;padding:7px 18px!important;border-radius:6px;font-family:"Work Sans",serif;font-weight:600;font-size:16px;cursor:pointer;display:inline-block;
white-space:nowrap;z-index:10001;transition:background .3s ease,transform .2s ease;box-shadow:0 4px 12px #00000040;position:relative}
.mobile-explore-btn::before{display:none}
.mobile-explore-btn:hover{background:#004fa3;transform:translateY(-1px)}

/* -----------------------------
   🔍 Desktop Search Button
------------------------------ */
.desktop-search-btn{background:none;border:none;cursor:pointer;font-size:20px;line-height:1;color:#333;padding:4px 6px;transition:color .2s ease;margin:0 12px}
.desktop-search-btn:hover{color:#b89b72}
.desktop-header-search{position:relative;display:inline-flex;align-items:center;gap:.5rem;margin-left:auto}

/* -----------------------------
   Desktop Search Box
------------------------------ */
.desktop-header-search{position:relative;display:inline-flex;align-items:center;gap:.5rem;width:auto}
.desktop-search-form{position:absolute;top:30px;right:0;left:8px;width:0;opacity:0;overflow:hidden;transition:all .25s ease;background:#f5f1e8;border:1px solid #d8cfc0;border-radius:4px;box-shadow:0 4px 8px #0000001a;z-index:9999;padding:0}
.desktop-header-search.active .desktop-search-form{width:360px;opacity:1;padding:6px 8px}
.desktop-search-input{width:100%;border:1px solid #d8cfc0;outline:none;font-size:16px;line-height:1.4;padding:8px 10px;font-family:"Mate",serif;color:#2c2c2c;background:#f5f1e8;
border-radius:4px;box-shadow:inset 0 1px 2px #00000014;transition:border-color 0.2s,box-shadow 0.2s,background .2s}
.desktop-search-input:focus{border-color:#b89b72;box-shadow:0 0 0 2px #b89b7240;background:#fdfcf8}
.desktop-search-results{position:absolute;top:calc(100% + 50px);right:0;left:10px;width:366px;max-height:400px;overflow-y:auto;background:#fdfcf8;border:1px solid #d8cfc0;
border-radius:4px;box-shadow:0 4px 10px #0000001f;display:none;z-index:9999;opacity:0;transform:translateY(-5px);transition:opacity 0.2s,transform .2s;font-family:"Mate",serif}
.desktop-search-results.show{display:block;opacity:1;transform:translateY(0)}
.desktop-search-results .explore-result{display:flex;align-items:center;gap:10px;padding:10px;text-decoration:none;color:#2c2c2c;font-size:15px;border-bottom:1px solid #eee;transition:background 0.2s,color .2s}
.desktop-search-results .explore-result:last-child{border-bottom:none}
.desktop-search-results .explore-result:hover{background:#e6dfd3;color:#1a1a1a}
.desktop-search-results .explore-result-thumb{width:40px;height:40px;object-fit:cover;border-radius:4px;flex-shrink:0}
.desktop-search-results .explore-result-title{flex:1;line-height:1.3}
.desktop-search-results .loading,.desktop-search-results .no-results,.desktop-search-results .error-message{padding:10px;font-size:14px;color:#666;font-style:italic}

/* -----------------------------
   Mobile Explore Panel
------------------------------ */
.mobile-explore-panel{position:fixed;top:60px;left:0;width:95vw;max-width:600px;max-height:80vh;overflow-y:auto;background:#f5f1e8;border:1px solid #e0dcd2;border-radius:6px;
box-shadow:0 6px 18px #00000040;z-index:11000;opacity:0;transform:scaleY(0.98);transform-origin:top;transition:opacity .25s ease,transform .25s ease;pointer-events:none}
.mobile-explore-panel.show{opacity:1;transform:scaleY(1);pointer-events:auto}
.mobile-explore-backdrop{position:fixed;top:60px;left:0;width:100vw;height:100vh;background:#0006;z-index:10999;opacity:0;transition:opacity .25s ease;pointer-events:none}
.mobile-explore-panel.show ~ .mobile-explore-backdrop{opacity:1;pointer-events:auto}
.mobile-explore-header{display:flex;align-items:center;justify-content:space-between;padding:10px}
.close-explore{background:none;border:none;font-size:22px;cursor:pointer}

/* -----------------------------
   Mobile Search Field (vintage)
------------------------------ */
.tdb-drop-down-search-inner{display:flex;flex-direction:column;background:#f5f1e8;border-radius:6px;box-shadow:0 4px 12px #00000026;padding:8px}
.tdb-search-form-inner{display:flex;width:100%}
/*.tdb-head-search-form-input{flex:1;padding:10px 14px;border:1px solid #d8cfc0;border-radius:4px;font:16px "Work Sans",sans-serif;background:#f5f1e8;color:#2c2c2c;box-shadow:inset 0 1px 2px #00000014}*/

.tdb-head-search-form-input{height:32px;padding:4px 28px 4px 8px;font-size:14px;border:1px solid #bbb;border-radius:6px;outline:none;box-shadow:inset 0 1px 2px #00000014}

.tdb-head-search-form-input:focus{border-color:#b89b72;box-shadow:0 0 0 2px #b89b7240;background:#fdfcf8}
.tdb-head-search-form-btn{display:none}

/* -----------------------------
   Mobile Results
------------------------------ */
.explore-search-results{margin:12px 0;padding:8px;max-height:400px;overflow-y:auto;background:#fff;border:1px solid #e0dcd2;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:11001}
.explore-result{display:flex;align-items:center;gap:10px;padding:8px;font:15px Mate,serif;color:#333;text-decoration:none;border-bottom:1px solid #e0dcd2;transition:background .2s ease,color .2s ease}
.explore-result:last-child{border-bottom:none}
.explore-result:hover{background:#F7F7F7;color:#222}
.explore-result-thumb{width:48px;height:48px;object-fit:cover;border-radius:4px}

/* =============================
   Vintage Light Explore Menu
   ============================= */

/* Reset + container */
.mobile-explore-menu .explore-nav,.mobile-explore-menu .explore-nav > li{list-style:none;margin:0;padding:0}
.mobile-explore-panel .explore-nav{width:100%;box-sizing:border-box;margin:0;padding:0;overflow-x:hidden}

/* --- Top-level items --- */
.mobile-explore-menu > .explore-nav > li{background:#fdfcf8;border-bottom:1px solid #e7e2da}

/* --- Wrapper (link + caret) --- */
.menu-item-wrapper{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;transition:background-color .25s ease,color .25s ease}
.menu-item-wrapper:hover{background-color:#f5f1e8}

/* --- Caret toggle --- */
.caret-toggle{margin-left:auto;width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer}
.caret-toggle .caret-icon{width:16px;height:16px;fill:#a18c72;transition:transform .25s ease,fill .25s ease}
.menu-item-has-children.open > .menu-item-wrapper > .caret-toggle .caret-icon{transform:rotate(90deg);fill:#7a5f3f}

/* --- Submenu containers --- */
.mobile-explore-menu .sub-menu{max-height:0;overflow:hidden;opacity:0;margin:0;padding:0;background:#faf8f3;border-left:2px solid transparent;transition:all .3s ease}
.mobile-explore-menu .sub-menu.show{max-height:2000px;opacity:1;padding:4px 0 6px;border-left-color:#cbb79b}
.mobile-explore-menu .sub-menu > li{border-bottom:1px solid #eae5dc}
.mobile-explore-menu .sub-menu > li:last-child{border-bottom:none}

/* --- Links (all levels) --- */
.menu-link{display:flex;align-items:center;flex:1;min-width:0;padding:6px 0;color:#2b2b2b;font-family:"Work Sans",sans-serif;text-decoration:none;transition:background-color .2s ease,color .2s ease}

/* Top-level categories */
.explore-nav > .menu-item > .menu-item-wrapper .menu-link{font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.04em}
.explore-nav > .menu-item > .menu-item-wrapper .menu-link::before{content:"📂";margin-right:8px;font-size:15px;opacity:.85}

/* Second-level subcategories */
.sub-menu > .menu-item > .menu-item-wrapper .menu-link{font-weight:600;font-size:14px;text-transform:none}
.sub-menu > .menu-item > .menu-item-wrapper .menu-link::before{content:"🗂️";margin-right:6px;font-size:14px;opacity:.7}

/* Third-level (posts / leaf items) */
.sub-menu .sub-menu > .menu-item > .menu-item-wrapper .menu-link{font-family:"Mate",serif;font-weight:400;font-size:13px;color:#444}
.sub-menu .sub-menu > .menu-item > .menu-item-wrapper .menu-link::before{content:"📄";margin-right:6px;font-size:13px;opacity:.7}
.sub-menu .sub-menu > .menu-item > .menu-item-wrapper .menu-link:hover{color:#7a5f3f;background:transparent;text-decoration:underline}

/* Hover */
.menu-link:hover{background-color:#e9e1d6;color:#1a1a1a}

/* --- Accessibility --- */
.menu-item-wrapper:focus-visible,.menu-link:focus-visible,.caret-toggle:focus-visible{outline:2px solid #cbb79b;outline-offset:2px}

/* --- Search box styling --- */
.tdb-drop-down-search-inner{padding:4px 6px;border-radius:4px;box-shadow:0 2px 6px #00000026}
.tdb-head-search-form-input{padding:6px 10px;font-size:14px;border:1px solid #d8cfc0;border-radius:4px}
.tdb-head-search-form-input:focus{border-color:#b89b72;box-shadow:0 0 0 2px #b89b7240}

/* --- Panel header --- */
.mobile-explore-header{padding:6px 10px;border-bottom:1px solid #e0dcd2}

/* --- Search results panel --- */
.explore-search-results{display:none;opacity:0;transform:translateY(-4px);transition:opacity .25s ease,transform .25s ease}
.explore-search-results:not(:empty){display:block;opacity:1;transform:translateY(0)}

/* --- Search results messages --- */
.explore-search-results .loading,.explore-search-results .no-results,.explore-search-results .error-message{padding:8px 10px;font-size:13px;font-style:italic;color:#6a5c4b;background:#f8f5ef;border-left:3px solid #cbb79b;margin:4px 0;border-radius:3px}
/* --- Vintage Spinner for "Searching…" --- */
.explore-search-results .loading{position:relative;padding-left:28px}
.explore-search-results .loading::before{content:"";position:absolute;left:8px;top:50%;width:12px;height:12px;margin-top:-6px;border:2px solid #cbb79b;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite;opacity:.9}

/* Spinner animation */
@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* --- Explore Panel: Map Button --- */
.mobile-explore-panel .map-btn{display:block;width:calc(100% - 16px);margin:8px auto;padding:10px 14px;background:#06c;color:#fff;font:600 15px "Work Sans",sans-serif;text-align:center;border:none;border-radius:6px;cursor:pointer;box-shadow:0 3px 6px #0003;transition:background .2s ease,transform .15s ease}
.mobile-explore-panel .map-btn:hover{background:#004999;transform:translateY(-1px)}
.mobile-explore-panel .map-btn:active{transform:translateY(0)}

/* --- Desktop search --- */
/* Anchor header search container */
.desktop-header-search {
  position: relative;
}

/* Search form (hidden by default) */
.desktop-search-form {
  position: absolute;
  top: 30px;
  left: 0;
  right: 0;
  width: 100%;
  display: none;             /* default hidden */
  opacity: 0;
  padding: 0;
  background: #f5f1e8;
  border: 1px solid #d8dccc;
  border-radius: 4px;
  box-shadow: 0 4px 8px #0000001a;
  z-index: 9999;
  transition: all .25s ease;
  overflow: hidden;
}

.desktop-search-form.is-open {
  display: block;
  opacity: 1;
  padding: 8px;
}

/* Search input inside form */
.desktop-search-input {
  width: 100%;
  font-size: 1rem;
  padding: 8px 12px;
  border: none;
  outline: none;
  background: transparent;
}

/* Search results dropdown */
.desktop-search-results {
  position: absolute;
  top: calc(100% + 50px);   /* below form (adjust as needed) */
  left: 10px;
  right: 10px;

  background: #fefefe;
  border-top: 2px solid #d8dccc;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 4px 20px rgba(0,0,0,.15);
  font-family: "Work Sans", sans-serif;
  z-index: 10000;

  max-height: 320px;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;

  display: none;
  transform: translateY(-10px);
  opacity: 0;
  transition: transform .25s ease, opacity .25s ease;
}

/* Results visible when form is open */
.desktop-search-form.is-open ~ .desktop-search-results {
  display: block;
  transform: translateY(0);
  opacity: 1;
}

/* Individual results */
/* Results dropdown */
.desktop-search-results {
  position: absolute;
  top: calc(100% + 50px);
  left: 10px;
  right: 10px;
  background: #fff;
  border: 1px solid #d8dccc;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 4px 20px rgba(0,0,0,.15);
  font-family: "Mate", serif;
  z-index: 10000;

  max-height: 340px;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;

  transform: translateY(-10px);
  opacity: 0;
  transition: transform .25s ease, opacity .25s ease;
}

/* Visible state */
.desktop-search-form.is-open ~ .desktop-search-results {
  transform: translateY(0);
  opacity: 1;
}

/* Each result */
.desktop-search-results .search-result {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-bottom: 1px solid #f0f0f0;
  text-decoration: none;
  color: #333;
  font-size: 15px;
  line-height: 1.3;
  transition: background .2s;
}

.desktop-search-results .search-result:hover {
  background: #f5f1e8; /* beige highlight */
}

/* Thumbnail */
.desktop-search-results img {
  width: 46px;
  height: 46px;
  object-fit: cover;
  border-radius: 4px;
  flex-shrink: 0;
}

/* Text */
.desktop-search-results .search-result span {
  flex: 1;
  font-family: "Mate", serif;
  font-size: 15px;
  line-height: 1.35;
}

/* Scrollbar styling */
.desktop-search-results::-webkit-scrollbar {
  width: 8px;
}
.desktop-search-results::-webkit-scrollbar-track {
  background: #fafafa;
}
.desktop-search-results::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 4px;
}
.desktop-search-results::-webkit-scrollbar-thumb:hover {
  background: #999;
}
.desktop-search-results .no-results {
  padding: 12px;
  color: #777;
  font-size: 14px;
  font-family: "Mate", serif;
  text-align: center;
  border-bottom: 1px solid #f0f0f0;
}

.desktop-search-form {
  position: absolute;
  top: 30px;
  right: 0;
  /* remove left:0 if you only want it aligned to the button/menu */
  width: auto;
}

.desktop-search-input {
  width: 100%;
  font-size: 1rem;
  padding: 6px 10px;   /* ⬅️ add margin inside the input box */
  border: none;
  outline: none;
  background: transparent;
  box-sizing: border-box;
}

.desktop-search-form {
  position: absolute;
  top: 100%;   /* sit directly below the header-search container */
  right: 0;
  width: 250px;
  background: #f5f1e8;
  border: 1px solid #d8dccc;
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,.15);
  z-index: 9999;
  display: none;
}

.desktop-search-form.is-open {
  display: block;
  padding: 8px;
}

