*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #4a7c59;--secondary-color: #8b956d;--text-color: #333;--light-bg: #f5f5f5;--white: #ffffff;--border-color: #e0e0e0;--hover-color: #3a5c47}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--white);overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 20px}header{background-color:var(--primary-color);color:var(--white);box-shadow:0 2px 5px #0000001a;position:sticky;top:0;z-index:1000}.navbar{padding:.55rem 0}.navbar .container{display:flex;justify-content:space-between;align-items:center;gap:1rem}.nav-brand h1{font-size:1.2rem;font-weight:600}.nav-menu{display:flex;list-style:none;gap:1.25rem;flex-wrap:wrap}.nav-menu a{color:var(--white);text-decoration:none;font-weight:500;font-size:.95rem;transition:opacity .3s}.nav-menu a:hover,.nav-menu a.active{opacity:.8;text-decoration:underline}.nav-login-link{padding:.4rem .9rem;border:1px solid rgba(255,255,255,.85);border-radius:999px;text-decoration:none!important}.nav-login-link:hover,.nav-login-link.active{background-color:#ffffff26;opacity:1;text-decoration:none!important}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;border:none;background:transparent;cursor:pointer;border-radius:6px;flex-shrink:0}.nav-toggle:hover{background:#ffffff1f}.nav-toggle-bar{display:block;width:100%;height:2px;background:var(--white);border-radius:1px;transition:transform .25s ease,opacity .25s ease}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-backdrop{display:none}.slogan-banner{background:linear-gradient(180deg,#f8f4ec,#f3efe6);border-bottom:1px solid rgba(74,124,89,.12);padding:2.25rem 0 2.75rem}.slogan-content{text-align:center;max-width:1000px;margin:0 auto}.slogan-main{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.6rem,3.2vw,2.2rem);font-style:italic;font-weight:500;color:var(--primary-color);line-height:1.3;margin-bottom:.5rem;letter-spacing:.04em}.slogan-sub{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.15rem,2.2vw,1.55rem);font-style:italic;font-weight:400;color:#5a5a52;letter-spacing:.04em;max-width:720px;margin:0 auto;line-height:1.5}.slogan-editable{position:relative;cursor:text}.slogan-editable.editing{cursor:auto}.slogan-hint{display:block;margin-top:.35rem}.slogan-input{text-align:center;font-family:Cormorant Garamond,Georgia,serif;font-style:italic;line-height:1.5}.hero{position:relative;color:var(--white);padding:4.5rem 0;overflow:hidden}.hero-with-background{background-color:#111;background-size:cover;background-position:center center;background-repeat:no-repeat;min-height:72vh;display:flex;align-items:flex-end;justify-content:flex-start;padding:0}.hero-with-background>.hero-container{width:100%;margin:0}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,#0000009e,#00000059 45%,#0000008c)}.hero-container{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:flex-start;max-width:720px;width:100%;padding-bottom:.75rem}.hero-content{flex:1}.hero h2{font-size:clamp(1.15rem,2.4vw,1.7rem);margin-bottom:1rem;line-height:1.2;color:#ffffffd9;text-shadow:0 2px 16px rgba(0,0,0,.45);white-space:nowrap}.hero p{font-size:clamp(1.05rem,2vw,1.35rem);color:#ffffffbf;max-width:38rem;text-shadow:0 2px 12px rgba(0,0,0,.45)}.hero-background-btn{position:absolute;right:1rem;bottom:1rem;z-index:2;border:none;border-radius:999px;padding:.45rem .9rem;background:#000000b8;color:#fff;font-size:.85rem;cursor:pointer}.intro{padding:4rem 0;background-color:var(--white)}.intro h2{font-size:2rem;margin-bottom:1.5rem;color:var(--primary-color);text-align:center}.intro p{font-size:1.1rem;text-align:center;max-width:800px;margin:0 auto}.quick-links{padding:4.5rem 0 3rem;background-color:var(--light-bg);margin-top:1.5rem}.link-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.card{background-color:var(--white);padding:1.35rem 1rem;border-radius:8px;text-decoration:none;color:var(--text-color);box-shadow:0 2px 5px #0000001a;transition:transform .3s,box-shadow .3s;display:block;text-align:center}@media (hover: hover){.card:hover{transform:translateY(-3px);box-shadow:0 5px 15px #0003}}.card h3{color:var(--primary-color);margin-bottom:.35rem;font-size:1.05rem;line-height:1.3}.card p{font-size:.85rem;line-height:1.4;color:#555}.page-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white);padding:3rem 0;text-align:center}.page-header h1{font-size:2.5rem}.about-section{padding:4rem 0;background-color:var(--white);scroll-margin-top:5rem}.about-content{max-width:800px;margin:0 auto}.about-content h2{text-align:center;color:var(--primary-color);margin-bottom:1.5rem;font-size:2rem}.about-content p{font-size:1.1rem;line-height:1.8;text-align:center;white-space:pre-line}.breed-section{padding:4rem 0}.breed-content{max-width:800px;margin:0 auto}.breed-block{margin-bottom:2.5rem}.breed-block:last-child{margin-bottom:0}.breed-block h2{font-size:1.6rem;color:var(--primary-color);margin-bottom:.75rem}.breed-block p{font-size:1.1rem;line-height:1.8}.contact-section{padding:4rem 0}.contact-content{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;max-width:1000px;margin:0 auto}.contact-info h2{color:var(--primary-color);margin-bottom:2rem;font-size:2rem}.info-item{margin-bottom:2rem}.info-item h3{color:var(--primary-color);margin-bottom:.5rem;font-size:1.2rem}.info-item p{font-size:1.1rem;line-height:1.8}.info-item a{color:var(--primary-color);text-decoration:none}.info-item a:hover{text-decoration:underline}.contact-map{margin-top:1rem;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.contact-map iframe{display:block;width:100%;height:220px;border:0}.contact-form-container h2{color:var(--primary-color);margin-bottom:.75rem;font-size:2rem}.contact-form-note{margin-bottom:1.5rem;color:#555;line-height:1.5}.contact-form-note a{color:var(--primary-color);text-decoration:none}.contact-form-note a:hover{text-decoration:underline}.contact-honey{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:.5rem;font-weight:500;color:var(--text-color)}.form-group input,.form-group textarea{padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;font-family:inherit;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.form-group textarea{resize:vertical}.btn-primary{background-color:var(--primary-color);color:var(--white);padding:.75rem 2rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .3s;align-self:flex-start}.btn-primary:hover{background-color:var(--hover-color)}.btn-secondary{background-color:transparent;color:var(--primary-color);padding:.5rem 1rem;border:1px solid var(--primary-color);border-radius:4px;font-size:.95rem;cursor:pointer;transition:background-color .3s,color .3s}.btn-secondary:hover{background-color:var(--primary-color);color:var(--white)}.admin-login-intro{margin-bottom:1.25rem;color:#555;line-height:1.6}.admin-bar-hint{margin-top:.35rem;font-size:.9rem;color:#666}.admin-bar-hint a{color:var(--primary-color);font-weight:600}.admin-login-form{max-width:100%;display:flex;flex-direction:column;gap:1rem}.btn-link{background:none;border:none;color:var(--primary-color);font-size:.9rem;cursor:pointer;text-align:left;padding:0;text-decoration:underline}.btn-link:hover{opacity:.85}.btn-link:disabled{opacity:.6;cursor:not-allowed}.admin-bar{padding:1rem 1.25rem;background-color:var(--light-bg);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.admin-bar p{font-size:.95rem;color:var(--text-color)}.form-message.visible{display:block}.login-page-section{padding:3rem 0 4rem;background-color:var(--white)}.login-page-card{max-width:420px;margin:0 auto;padding:2rem;background:var(--light-bg);border-radius:12px;box-shadow:0 2px 12px #00000014}.login-loading{color:#666;text-align:center}.form-message{margin-top:1rem;padding:1rem;border-radius:4px;display:none}.form-message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb;display:block}.form-message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;display:block}.gallery-section{padding:4rem 0}.dev-admin-banner{margin-bottom:1.5rem;padding:1rem 1.25rem;border-radius:8px;background-color:#e8f5e9;border:1px solid #a5d6a7;color:#2e7d32;line-height:1.5}.dev-admin-banner code{background:#ffffffb3;padding:.1rem .35rem;border-radius:4px}.upload-section{background-color:var(--light-bg);padding:2rem;border-radius:8px;margin-bottom:3rem}.upload-section h2{color:var(--primary-color);margin-bottom:1.5rem;font-size:1.8rem}.upload-form{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.upload-form input[type=file],.upload-form select{flex:1;min-width:200px;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem}.upload-form .form-group{min-width:180px}.upload-form .form-group label{display:block;margin-bottom:.35rem;font-weight:500;color:var(--text-color)}.upload-file-group{flex:1;min-width:200px}.selected-files-count{margin-top:.5rem;font-size:.95rem;color:var(--secondary-color)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.dog-gallery{margin-bottom:3rem}.dog-gallery-header{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.dog-gallery-title{color:var(--primary-color);font-size:1.8rem;margin-bottom:0}.dog-gallery-birthdate{color:var(--secondary-color);font-size:1.1rem;font-weight:500}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.gallery-item{position:relative;border-radius:8px;overflow:hidden;box-shadow:0 2px 5px #0000001a;background-color:var(--light-bg);aspect-ratio:1}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.gallery-item .delete-btn{position:absolute;top:10px;right:10px;background-color:#dc3545e6;color:var(--white);border:none;border-radius:4px;padding:.5rem .75rem;cursor:pointer;font-size:.9rem;transition:background-color .3s}.gallery-item .delete-btn:hover{background-color:#dc3545}.loading,.empty-gallery{text-align:center;padding:3rem;color:var(--text-color);font-size:1.2rem}footer{background-color:var(--primary-color);color:var(--white);padding:2rem 0;text-align:center;margin-top:4rem}@media (max-width: 900px){.link-cards{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (max-width: 768px){.nav-toggle{display:flex}.navbar .container{flex-wrap:nowrap}.nav-brand{flex:1;min-width:0}.nav-brand h1{font-size:1.05rem;line-height:1.3}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;border:none;background:#00000073;z-index:1000;cursor:pointer}.nav-menu{position:fixed;top:0;right:0;width:min(85vw,320px);height:100dvh;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0;padding:4.75rem 1.25rem 2rem;background-color:var(--primary-color);box-shadow:-4px 0 24px #0003;transform:translate(100%);transition:transform .3s ease;z-index:1001;overflow-y:auto}.nav-menu.is-open{transform:translate(0)}.nav-menu li{border-bottom:1px solid rgba(255,255,255,.15)}.nav-menu li:last-child{border-bottom:none;margin-top:.5rem}.nav-menu a{display:flex;align-items:center;min-height:48px;padding:.65rem .5rem;font-size:1.05rem}.nav-login-link{justify-content:center;padding:.75rem 1rem!important}.hero-with-background{min-height:58vh;align-items:flex-end}.hero-container{text-align:left;padding-bottom:.5rem}.hero h2{font-size:1.05rem;white-space:normal}.hero-background-btn{min-height:44px;padding:.65rem 1rem;font-size:.95rem}.slogan-banner{padding:1.75rem 0 2rem}.about-section{padding:3rem 0}.about-content h2{font-size:1.65rem}.about-content p{font-size:1rem;text-align:left}.quick-links{padding:3rem 0 2.5rem}.card{padding:1.25rem 1rem}.card h3{font-size:1.1rem}.card p{font-size:.92rem}.page-header{padding:2rem 0}.page-header h1{font-size:1.75rem}.breed-block h2{font-size:1.4rem}.breed-block p{font-size:1rem}.contact-content{grid-template-columns:1fr;gap:2rem}.contact-info h2,.contact-form-container h2{font-size:1.65rem}.upload-form{flex-direction:column;align-items:stretch}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.admin-edit-bar{font-size:.85rem;padding:.75rem 1rem}}@media (max-width: 540px){.link-cards{grid-template-columns:1fr}.container{padding:0 16px}}@media (hover: none) and (pointer: coarse){.editable-field:not(.editing),.slogan-editable:not(.editing){padding:.55rem .75rem;min-height:44px;border-radius:6px;background:#4a7c5912;border:1px dashed rgba(74,124,89,.25)}.editable-hint{font-size:1.15em;opacity:.75;margin-left:.5rem}.editable-input{font-size:16px;padding:.85rem;min-height:44px}textarea.editable-input{min-height:10rem;font-size:16px}.editable-image-btn{min-height:44px;padding:.65rem 1rem;font-size:.95rem}.form-group input,.form-group textarea{font-size:16px}}.admin-edit-bar{background:#fff8e1;border-bottom:1px solid #ffe082;color:#6d4c41;padding:.65rem 1rem;font-size:.92rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:center;justify-content:center}.admin-edit-bar-status{font-weight:600}.admin-edit-bar-status.success{color:#2e7d32}.admin-edit-bar-status.error{color:#c62828}.editable-field{position:relative;cursor:text}.editable-field.editing{cursor:auto}.editable-hint{margin-left:.35rem;font-size:.85em;opacity:.55}.editable-input{width:100%;font:inherit;color:inherit;background:#fff;border:2px solid var(--primary-color);border-radius:6px;padding:.35rem .5rem}textarea.editable-input{resize:vertical;min-height:5rem}.editable-image-wrap{position:relative;display:inline-block}.editable-image-btn{position:absolute;right:.5rem;bottom:.5rem;border:none;border-radius:999px;padding:.35rem .75rem;background:#000000b8;color:#fff;font-size:.8rem;cursor:pointer}.editable-image-input{display:none}.dog-birthdate-edit{font-size:.85rem;color:#666;margin-top:.25rem}.dog-birthdate-edit:before{content:"Födelsedatum (YYYY-MM-DD): ";font-weight:600}.card .editable-field{pointer-events:auto}.card-editable{cursor:default}.card-open-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:.75rem;padding:.35rem .5rem;font-size:.85rem;color:var(--primary-color);text-decoration:none}.card-open-link:hover{text-decoration:underline}
