/*
Theme Name: PhotographyMap Parent
Theme URI: https://photographymap.au/
Author: PhotographyMap.au
Description: Map-first WordPress parent theme for PhotographyMap.au.
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: photographymap
*/

:root{
  --pm-green:#176B55;
  --pm-green-dark:#102923;
  --pm-gold:#F4A950;
  --pm-bg:#F7F7F3;
  --pm-white:#FFFFFF;
  --pm-text:#17201D;
  --pm-muted:#66736E;
  --pm-border:#DDE5E1;
  --pm-radius:18px;
  --pm-shadow:0 10px 30px rgba(16,41,35,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--pm-bg);color:var(--pm-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.pm-wrap{width:min(1440px,calc(100% - 32px));margin-inline:auto}
.pm-site-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--pm-border)}
.pm-header-inner{height:72px;display:flex;align-items:center;gap:28px}
.pm-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:21px;letter-spacing:-.04em}
.pm-logo-mark{width:35px;height:42px;position:relative;background:var(--pm-green);clip-path:path('M17.5 0C7.8 0 0 7.8 0 17.5c0 13.4 17.5 24.5 17.5 24.5S35 30.9 35 17.5C35 7.8 27.2 0 17.5 0Z')}
.pm-logo-mark:after{content:'◉';position:absolute;inset:7px 0 auto;text-align:center;color:#fff;font-size:22px}
.pm-brand .accent{color:var(--pm-green)}
.pm-nav{display:flex;gap:24px;margin-left:auto;align-items:center;font-weight:650}
.pm-nav a:hover,.pm-nav .current-menu-item>a{color:var(--pm-green)}
.pm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:11px 16px;font-weight:750;border:1px solid var(--pm-border);background:#fff;cursor:pointer}
.pm-btn-primary{background:var(--pm-green);color:#fff;border-color:var(--pm-green)}
.pm-btn-dark{background:var(--pm-green-dark);color:#fff;border-color:var(--pm-green-dark)}
.pm-hero{padding:34px 0 20px;background:#fff;border-bottom:1px solid var(--pm-border)}
.pm-hero h1{font-family:Manrope,Inter,sans-serif;font-size:clamp(34px,4vw,58px);line-height:1.03;letter-spacing:-.055em;margin:0 0 12px}
.pm-hero p{font-size:18px;color:var(--pm-muted);margin:0 0 22px;max-width:700px}
.pm-search{display:flex;gap:10px;max-width:760px;background:#fff;border:1px solid var(--pm-border);box-shadow:var(--pm-shadow);border-radius:16px;padding:8px}
.pm-search input{flex:1;border:0;outline:0;font-size:16px;padding:10px 12px;background:transparent}
.pm-chips{display:flex;gap:9px;overflow:auto;padding:18px 0 0;scrollbar-width:none}.pm-chips::-webkit-scrollbar{display:none}
.pm-chip{white-space:nowrap;padding:9px 14px;border-radius:999px;border:1px solid var(--pm-border);background:#fff;font-weight:700;font-size:14px}
.pm-chip.is-active{background:var(--pm-green);color:#fff;border-color:var(--pm-green)}
.pm-explore-shell{display:grid;grid-template-columns:minmax(390px,44%) 1fr;min-height:calc(100vh - 230px);background:#fff}
.pm-results{padding:22px;overflow:auto;max-height:calc(100vh - 72px);border-right:1px solid var(--pm-border)}
.pm-results-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;position:sticky;top:0;background:#fff;z-index:10;padding:3px 0 12px}
.pm-results-grid{display:grid;gap:14px}
.pm-card{display:grid;grid-template-columns:42% 1fr;border:1px solid var(--pm-border);border-radius:16px;overflow:hidden;background:#fff;transition:.18s ease;min-height:180px}
.pm-card:hover,.pm-card.is-active{transform:translateY(-1px);box-shadow:var(--pm-shadow);border-color:#c4d7d0}
.pm-card-media{position:relative;background:#eef2f0;min-height:170px}.pm-card-media img{width:100%;height:100%;object-fit:cover}
.pm-save{position:absolute;right:10px;top:10px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.94);font-size:20px;cursor:pointer}
.pm-card-body{padding:15px}.pm-card-title{font-family:Manrope,Inter,sans-serif;font-size:18px;font-weight:800;line-height:1.2;margin:0 0 6px}.pm-card-meta{font-size:14px;color:var(--pm-muted);margin-bottom:8px}.pm-card-highlights{font-size:14px;color:var(--pm-green);font-weight:750}.pm-price{float:right;padding:5px 8px;border-radius:8px;background:#edf7f3;color:var(--pm-green-dark);font-weight:800;font-size:13px}
.pm-map-wrap{position:sticky;top:72px;height:calc(100vh - 72px);background:#e9efec}.pm-map{width:100%;height:100%}
.pm-map-search-area{position:absolute;z-index:500;top:18px;left:50%;transform:translateX(-50%);box-shadow:var(--pm-shadow)}
.pm-section{padding:72px 0}.pm-section h2{font-family:Manrope,Inter,sans-serif;font-size:38px;letter-spacing:-.04em;margin:0 0 10px}.pm-section-lead{color:var(--pm-muted);font-size:17px;max-width:700px;margin-bottom:28px}
.pm-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pm-feature-card{background:#fff;border:1px solid var(--pm-border);border-radius:var(--pm-radius);padding:25px}.pm-feature-card h3{margin:10px 0 7px;font-family:Manrope,sans-serif}.pm-feature-icon{font-size:28px}
.pm-location-hero{background:#fff;padding:28px 0}.pm-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:230px 230px;gap:8px;border-radius:22px;overflow:hidden}.pm-gallery img{width:100%;height:100%;object-fit:cover}.pm-gallery img:first-child{grid-row:1/3}.pm-location-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:42px;padding:38px 0}.pm-location-main h1{font-family:Manrope,sans-serif;font-size:44px;letter-spacing:-.045em;margin:0 0 8px}.pm-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0}.pm-fact{border:1px solid var(--pm-border);border-radius:14px;padding:16px;background:#fff}.pm-fact strong{display:block;font-size:13px;color:var(--pm-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.pm-sidebar-card{position:sticky;top:100px;background:#fff;border:1px solid var(--pm-border);border-radius:20px;padding:22px;box-shadow:var(--pm-shadow)}
.pm-badge{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#edf7f3;color:var(--pm-green)}
.pm-footer{padding:46px 0;background:var(--pm-green-dark);color:#fff}.pm-footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.pm-footer small{color:#c7d6d1}
.pm-mobile-tabs{display:none}
@media(max-width:900px){.pm-nav{display:none}.pm-header-inner{height:62px}.pm-explore-shell{display:block}.pm-results{display:none}.pm-results.is-list{display:block;max-height:none}.pm-map-wrap{top:62px;height:calc(100vh - 150px)}.pm-mobile-tabs{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;z-index:1000;background:#fff;border-top:1px solid var(--pm-border)}.pm-mobile-tabs button{padding:13px 8px;border:0;background:#fff;font-weight:750}.pm-grid-3{grid-template-columns:1fr}.pm-gallery{grid-template-columns:1fr 1fr;grid-template-rows:230px 150px}.pm-gallery img:first-child{grid-column:1/3;grid-row:auto}.pm-location-layout{grid-template-columns:1fr}.pm-sidebar-card{position:static}.pm-location-main h1{font-size:36px}}
@media(max-width:560px){.pm-wrap{width:min(100% - 22px,1440px)}.pm-hero{padding-top:24px}.pm-hero h1{font-size:36px}.pm-search{padding:6px}.pm-search .pm-btn{padding-inline:12px}.pm-card{grid-template-columns:130px 1fr;min-height:145px}.pm-card-media{min-height:145px}.pm-gallery{grid-template-rows:210px 120px}.pm-facts{grid-template-columns:1fr}}
.pm-pin{height:42px;min-width:42px;padding:0 9px;border-radius:22px 22px 22px 6px;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;font-weight:850;box-shadow:0 6px 16px rgba(16,41,35,.25);border:3px solid #fff}.pm-pin>*{transform:rotate(45deg)}.pm-pin-free{background:var(--pm-green);color:#fff}.pm-pin-paid{background:var(--pm-green-dark);color:#fff;font-size:12px}.pm-pin-featured{background:var(--pm-gold);color:#17201D}.leaflet-div-icon{background:transparent;border:0}

/* Interaction fixes v1.1 */
.pm-chip{transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}
.pm-chip:hover{border-color:var(--pm-green);color:var(--pm-green);transform:translateY(-1px)}
.pm-chip.is-active,.pm-chip[aria-current="page"]{background:var(--pm-green);color:#fff;border-color:var(--pm-green);box-shadow:0 5px 14px rgba(23,107,85,.18)}
.pm-chip.is-active:hover,.pm-chip[aria-current="page"]:hover{color:#fff}
.pm-card-media{position:relative}
.pm-card-image-link{display:block;width:100%;height:100%}
.pm-card-image-link img{width:100%;height:100%;object-fit:cover}
.pm-save{z-index:4;transition:transform .16s ease,background .16s ease,color .16s ease}
.pm-save:hover{transform:scale(1.06)}
.pm-save.is-saved{background:var(--pm-green);color:#fff}
.pm-save-button.is-saved{background:#edf7f3;color:var(--pm-green-dark);border-color:#b8d8cd}
.pm-mobile-tabs a,.pm-mobile-tabs button{display:flex;align-items:center;justify-content:center;padding:13px 8px;border:0;background:#fff;font-weight:750;color:var(--pm-text)}
.pm-mobile-tabs .is-active{color:var(--pm-green);background:#edf7f3}
.pm-saved-shell{padding:38px 0 72px}
.pm-saved-shell .pm-results-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pm-saved-shell .pm-card{display:block;min-height:0}
.pm-saved-shell .pm-card-media{height:220px}
.pm-empty-state{text-align:center;background:#fff;border:1px solid var(--pm-border);border-radius:20px;padding:48px 24px;max-width:680px;margin:10px auto;box-shadow:var(--pm-shadow)}
.pm-empty-state h2{font-family:Manrope,Inter,sans-serif;margin:4px 0 8px}
.pm-empty-state p{color:var(--pm-muted);margin:0 auto 20px;max-width:480px}
.pm-empty-heart{font-size:46px;color:var(--pm-green)}
@media(max-width:1000px){.pm-saved-shell .pm-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.pm-saved-shell .pm-results-grid{grid-template-columns:1fr}.pm-saved-shell .pm-card{display:grid}.pm-saved-shell .pm-card-media{height:auto}}
