@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-size:16px;line-height:25px;font-family:Microsoft JhengHei,微軟正黑體,Microsoft YaHei,sans-serif}strong{color:var(--darkgray)}li{list-style:none}a{text-decoration:none}:root{--white: rgb(255, 255, 255);--black: rgb(37, 37, 37);--lightblack: #333;--gray: rgb(203, 203, 205);--lightgray: rgb(233, 234, 235);--darkgray: rgb(109, 110, 110);--red: rgb(210, 67, 67);--lightred: #d19f9f;--darkred: #7d2020;--green: #A4B465;--darkgreen: #626F47;--brown: #FEBA17;--darkbrown: #87620a;--lightblue: #94c4e8;--blue: #41C9E2;--darkblue: #0e788b;--blue2:#6be2f7}#root{width:100%}h1,h2,h3{margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:70px}.booking{border:none;outline:none;border-radius:20px;background-color:var(--black);color:var(--lightgray);width:200px;height:50px;cursor:pointer;font-size:1.2rem;letter-spacing:3px;transition:.3s}.booking:hover{background-color:var(--blue);color:var(--white);transform:translate(5px)}h1,h2{position:relative;width:100%;height:100px;line-height:100px;color:var(--darkgray);text-align:center;font-size:3rem;letter-spacing:5px;display:block}h1:before,h2:before{content:"";position:absolute;left:50%;bottom:0;transform:translate(-50%);width:100px;height:5px;background-color:var(--red)}h3{position:relative;width:100%;height:50px;text-align:center;font-size:1.5rem;color:var(--darkgray)}.scroll-to-top{position:fixed;bottom:20px;right:10px;z-index:1000;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5));border-radius:50%;cursor:pointer;width:50px;height:50px;background-color:var(--white)}header{position:fixed;top:0;left:0;width:100%;padding:10px 60px 10px 40px;display:flex;justify-content:space-between;background-color:var(--lightgray);transition:box-shadow .5s ease,background-color .3s ease,transform .5s ease;z-index:100}.navbar-scrolled{transform:scale(1.04);box-shadow:0 2px 10px #0003;background:none;background-color:#ffffff80;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:999;border-bottom:1px solid rgba(255,255,255,.3)}header .logo{width:280px;height:80px;display:flex;justify-content:center;align-items:center;gap:10px;cursor:pointer}header .logo img{width:70px;height:80px;object-fit:cover;vertical-align:middle}header .logo-text{margin-top:10px;display:flex;flex-direction:column;justify-content:center}header .logo-text p{margin:0;font-size:.78rem;font-weight:400;font-family:Poppins,sans-serif;color:var(--gray)}header .logo-text p.title{font-size:1.5rem;color:var(--black);letter-spacing:5px}header nav{display:flex;flex-direction:column;justify-content:center}header ul{position:relative;display:flex;justify-content:flex-end;gap:10px}header li{cursor:pointer;position:relative;z-index:3}header nav a{display:block;width:100%;color:var(--darkgray);font-weight:500;padding:0 15px;font-size:1.1rem;letter-spacing:2px}header nav a:hover{color:var(--black)}header nav a.active{color:var(--black);font-weight:600}header .menu a:before{content:"";position:absolute;left:50%;bottom:-30px;transform:translate(-50%);width:0;height:3px;transition:.3s;background-color:var(--red)}header .menu a.active:before{width:60%}header .menu li:hover a:before{width:80%}header .phone-item{margin-left:10px}.menu-toggle{display:none;font-size:24px;cursor:pointer;z-index:1001;color:var(--black)}.nav-wrapper{display:flex}@media (max-width: 768px){header{padding:10px}.menu-toggle{display:block;padding-right:20px;padding-top:25px}.nav-wrapper{position:fixed;top:0;right:0;height:100vh;width:300px;background:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:translate(100%);transition:transform .3s ease-in-out;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding-top:70px;z-index:1000}.nav-wrapper.open{transform:translate(0)}header nav ul{display:none;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:20px}.nav-wrapper.open ul{display:flex;text-align:center;width:100%}header nav li{width:100%}header nav a.active{color:var(--red);font-weight:600}header .menu a.active:before{width:30%}header .menu a:before{content:"";position:absolute;left:50%;bottom:-10px;transform:translate(-50%);width:0;height:3px;transition:.3s;background-color:var(--red)}header .menu li:hover a:before{width:30%}header .highlight{display:none}header .phone-item{margin-left:0;padding-top:20px}}.carousel{margin-top:100px;position:relative;width:100%;height:500px;overflow:hidden}.carousel-track{position:relative;display:flex;transition:transform .5s ease-in-out;width:100%;height:100%}.carousel-slide{position:relative;width:100%;height:100%;flex-shrink:0}.carousel-image{position:relative;width:100%;height:100%;object-fit:cover;flex-shrink:0}.carousel-image:first-child{object-position:20% 25%}.carousel .text{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:10;background:#0003}.carousel .text .headline{width:90%;text-align:center;position:absolute;font-size:2.2rem;color:var(--white);opacity:.7;left:50%;top:50%;transform:translate(-50%,-60%)}.carousel .text .subtext{width:90%;text-align:center;position:absolute;font-size:1.6rem;color:var(--white);opacity:.7;left:50%;top:60%;transform:translate(-50%,-40%)}.carousel .carousel-indicators{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;gap:10px;z-index:2}.carousel .indicator{width:12px;height:12px;background-color:#ffffff80;border:none;border-radius:50%;cursor:pointer;transition:.3s;padding:0}.carousel .indicator.active{transform:scale(1.4);background-color:#fff}@media (max-width: 768px){.carousel .text .headline{width:90%;text-align:center;position:absolute;font-size:1.8rem;color:var(--white);opacity:.7;left:50%;top:50%;transform:translate(-50%,-60%)}.carousel .text .subtext{width:90%;text-align:center;position:absolute;font-size:1.2rem;color:var(--white);opacity:.7;left:50%;top:60%;transform:translate(-50%,-40%)}}@media (max-width: 580px){.carousel .text .headline{width:95%;text-align:center;position:absolute;font-size:1.4rem;color:var(--white);opacity:.7;left:50%;top:50%;transform:translate(-50%,-60%)}.carousel .text .subtext{width:95%;text-align:center;position:absolute;font-size:1rem;color:var(--white);opacity:.7;left:50%;top:60%;transform:translate(-50%,-40%)}}.home{position:relative;width:100vw;height:100%}.home h1{margin-top:50px}.home p{font-size:1rem;color:var(--gray);line-height:25px}.home .idea-container{display:flex;gap:20px;width:100%;min-height:660px;height:auto;padding:50px 150px}.home .idea-container .idea-image{display:grid;width:50%;height:600px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:20px}.home .idea{position:relative;width:100%;height:100%;border-radius:10px;overflow:hidden;transition:.3s}.home .idea:hover{transform:translateY(-5px)}.home .idea-container .idea-2{transform:rotate(-8deg)}.home .idea-container .idea-3{grid-row:span 2 / span 2;overflow:hidden;border-radius:20px}.home .idea img{position:relative;width:100%;height:100%;object-fit:cover;border-radius:20px}.home .idea h3{position:absolute;top:20%;left:50%;transform:translate(-50%);color:var(--white);font-size:2rem;text-shadow:4px 4px 8px rgba(0,0,0,.5)}.home .idea-4 h3{top:10%;left:20%}.home .idea-container .idea-4{grid-column:span 2 / span 2;grid-row-start:2}.home .idea-container .idea-text{padding:10px;width:50%;height:auto;line-height:35px;color:var(--darkgray)}.home strong{color:var(--black)}@media (max-width:1200px){.home .idea-container{display:flex;gap:20px;width:100%;min-height:660px;height:auto;padding:50px}}@media (max-width:1000px){.home .idea-container{display:flex;gap:20px;width:100%;min-height:660px;height:auto;padding:50px}.home .idea-container .idea-text{padding:10px;width:60%;height:auto;line-height:35px;color:var(--darkgray)}.home .idea-container .idea-image{display:grid;width:40%;height:600px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:20px}}@media (max-width:880px){.home .idea-container{display:flex;flex-direction:column;gap:20px;width:100%;min-height:660px;height:auto;padding:50px 20px}.home .idea-container .idea-image{display:flex;flex-direction:column;width:100%;height:100%;gap:20px}.home .idea-container .idea-2{transform:rotate(0)}.home .idea-container .idea-text{padding:10px;width:100%;line-height:35px;color:var(--darkgray)}.home .idea-4 h3{position:absolute;top:10%;left:50%;transform:translate(-50%);color:var(--white);font-size:2rem;text-shadow:4px 4px 8px rgba(0,0,0,.5)}}@media (max-width:500px){.home .idea-container{display:flex;flex-direction:column;gap:20px;width:100%;min-height:660px;height:auto;padding:50px 20px}.home h1,.home h2{font-size:2.2rem}}.clinic-hours{display:flex;justify-content:center;align-items:center;gap:50px;width:100%;height:500px;padding:50px 150px}.clinic-hours .content{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;width:50%}.clinic-hours .content p{color:var(--black);font-size:.9rem;line-height:20px}.clinic-hours .content .booking{border:none;outline:none;border-radius:20px;background-color:var(--black);color:var(--lightgray);width:200px;height:50px;cursor:pointer;font-size:1.2rem;letter-spacing:3px;transition:.3s}.clinic-hours .content .booking:hover{background-color:var(--blue);color:var(--white);transform:translate(5px)}.grid{display:grid;width:100%;height:80%;border-radius:20px;grid-template-columns:repeat(8,1fr);gap:1px;background:var(--lightgray);text-align:center;overflow:hidden}.grid>div{background:var(--white);padding:1rem;font-size:1rem;font-weight:500}.clinic-hours .pic{position:relative;width:50%;height:100%;border-radius:20px;overflow:hidden;cursor:pointer;transition:.3s ease}.clinic-hours .pic img{width:100%;height:100%;object-fit:cover}.clinic-hours .pic:hover{transform:translate(5px)}.clinic-hours .pic .goBooking{position:absolute;border:none;outline:none;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:20%;color:var(--blue);background-color:var(--lightgray);z-index:10;font-size:1.5rem;font-weight:700;letter-spacing:3px;opacity:.7;cursor:pointer}.clinic-hours .pic .icon{font-size:30;vertical-align:middle;margin-left:20px}@media (max-width:1200px){.clinic-hours{display:flex;justify-content:center;align-items:center;gap:50px;width:100%;height:500px;padding:50px}}@media (max-width:1000px){.clinic-hours .content{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;width:60%}.clinic-hours .pic{position:relative;width:40%;height:100%;border-radius:20px;overflow:hidden;cursor:pointer;transition:.3s ease}}@media (max-width:880px){.clinic-hours{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:50px;width:100%;height:auto;padding:50px 20px}.clinic-hours .content{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;width:100%}.clinic-hours .pic{position:relative;width:100%;height:100%;border-radius:20px;overflow:hidden;cursor:pointer;transition:.3s ease}}@media (max-width:600px){.grid>div{background:var(--white);padding:1rem;font-size:.8rem;font-weight:500}}@media (max-width:500px){.clinic-hours{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:50px;width:100%;height:auto;padding:50px 20px}}@media (max-width:430px){.clinic-hours .morning,.clinic-hours .afternoon,.clinic-hours .evening{width:35px}.clinic-hours .content p{color:var(--black);font-size:.7rem;line-height:20px}}.snapshots{position:relative;width:100%;height:600px;padding:50px 150px}.snapshots .parent{display:grid;width:100%;height:100%;grid-template-columns:50% 25% 25%;grid-template-rows:repeat(3,1fr);gap:20px}.snapshots .parent>div{width:100%;height:100%;border-radius:20px;overflow:hidden}.snapshots .parent p{color:var(--darkgray);font-size:.9rem}.snapshots .parent>div:nth-child(2n){padding:0 20px;border-left:5px solid var(--blue)}.snapshots .parent img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:20px}.snapshots .parent img:first-of-type{object-position:50% 100%}.snapshots .parent img:nth-of-type(1){object-position:center}.snapshots .parent .div1{grid-row:span 2 / span 2}.snapshots .parent .div2{grid-column-start:1;grid-row-start:3}.snapshots .parent .div3{grid-column-start:2;grid-row-start:1}.snapshots .parent .div4{grid-column-start:3;grid-row-start:1}.snapshots .parent .div5{grid-column-start:2;grid-row-start:2}.snapshots .parent .div6{grid-column-start:3;grid-row-start:2}.snapshots .parent .div7,.snapshots .parent .div8{grid-row-start:3}@media (max-width:1200px){.snapshots{position:relative;width:100%;height:600px;padding:50px}.snapshots .parent p{font-size:.85rem}}@media (max-width:1000px){.snapshots .parent{display:grid;width:100%;height:100%;grid-template-columns:50% 23% 27%;grid-template-rows:repeat(3,1fr);gap:20px}}@media (max-width:880px){.snapshots{height:auto;padding:50px 20px}.snapshots .parent{display:flex;flex-direction:column;width:100%;min-height:1000px;height:auto;gap:20px}.snapshots .parent h3{color:var(--darkgray);font-size:1rem;font-weight:600}.snapshots .parent p{font-size:1rem}}@media (max-width:500px){.snapshots{height:auto;padding:50px 20px}}.care{position:relative;display:flex;justify-content:center;align-items:center;width:100vw;min-height:500px;height:auto;padding:50px 150px}.care .content{position:relative;width:100%;height:100%;display:flex;justify-content:flex-start;align-items:center;gap:50px;border:1px solid var(--lightgray);border-radius:20px;overflow:hidden}.care .content .text{position:relative;width:50%;height:100%;padding:50px}.care .content .text h3{text-align:left}.care .content .text p{position:relative;font-size:1rem;color:var(--darkgray);line-height:30px;padding-left:20px}.care .content .text p:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background-color:var(--blue);border-radius:2px}.care .content .img-container{position:absolute;width:50%;height:100%;right:0;top:0;border-radius:20px;transform:translate(70px,-60px) rotate(15deg);box-shadow:0 5px 10px #0003;will-change:transform;overflow:hidden}.care .content .img-container img{width:100%;height:100%;object-fit:cover}.care .content .booking{margin-top:50px}@media (max-width:1200px){.care{position:relative;display:flex;justify-content:center;align-items:center;width:100vw;min-height:500px;height:auto;padding:50px}}@media (max-width:880px){.care{position:relative;display:flex;justify-content:center;align-items:center;width:100vw;min-height:500px;height:auto;padding:50px 20px}.care .content{position:relative;width:100%;height:100%;display:flex;flex-direction:column;gap:20px;border:1px solid var(--lightgray);border-radius:20px;overflow:hidden}.care .content .text{position:relative;width:100%;height:100%;padding:20px}.care .content .img-container{position:relative;width:100%;height:100%;border-radius:20px;transform:none;box-shadow:0 5px 10px #0003;will-change:transform;overflow:hidden}.care .content .img-container img{width:100%;height:auto;object-fit:cover}}@media (max-width:500px){.care{position:relative;display:flex;justify-content:center;align-items:center;width:100vw;min-height:500px;height:auto;padding:50px 20px}.care-title{font-size:2rem}}.footer{position:relative;width:100%;min-height:400px;height:auto;display:flex;flex-direction:column;background-color:var(--blue);padding:50px 100px}.footer .content{width:100%;height:90%;display:flex;justify-content:space-between;gap:50px;border-bottom:1px solid var(--blue2);padding-bottom:20px}.footer .content .clinic{display:flex;flex-direction:column;align-items:flex-start;gap:20px;width:50%}.footer .content .logo{display:flex;align-items:flex-start;width:100%;gap:10px}.footer .content .logo-text{margin-top:30px}.footer .content .logo-text p{color:var(--white);font-weight:700}.footer .content .logo-text p.chi-name{letter-spacing:2px;font-size:1.2rem}.footer .content .logo-text p.eng-name{font-size:.6rem}.footer .content .logo img{width:80px;height:100px;object-fit:cover}.footer .content .warm-text{font-size:1rem;color:var(--white);opacity:.7}.footer .content .copyright{font-size:.8rem;color:var(--white);opacity:.7;font-family:Poppins,sans-serif}.footer .content .links{display:flex;justify-content:center;gap:50px;width:50%;height:30px;margin-top:50px}.footer .content .links .item{font-size:1rem;color:var(--white);font-weight:600;opacity:.7}.footer .content .links .item:hover{font-size:1rem;color:var(--white);cursor:pointer;font-weight:700}.footer .xdesign{font-size:.9rem;color:var(--white);opacity:.7;display:flex;justify-content:end;align-items:center;height:20%}.footer .xdesign p{line-height:50px}.footer .xdesign a{color:var(--lightgray);transition:.3s}.footer .xdesign a:hover{color:var(--white)}@media (max-width:1300px){.footer .content .links{display:flex;justify-content:center;gap:30px;width:50%;height:30px;margin-top:50px}}@media (max-width:1200px){.footer{position:relative;width:100%;min-height:400px;height:auto;display:flex;flex-direction:column;background-color:var(--blue);padding:50px}.footer .content .clinic{display:flex;flex-direction:column;align-items:flex-start;gap:20px;width:40%}.footer .content .links{display:flex;justify-content:center;gap:20px;width:60%;height:30px;margin-top:50px}}@media (max-width:880px){.footer{position:relative;width:100%;min-height:400px;height:auto;display:flex;flex-direction:column;background-color:var(--blue);padding:20px}.footer .content{width:100%;height:90%;display:flex;flex-direction:column-reverse;justify-content:space-between;gap:30px;border-bottom:1px solid var(--blue2);padding-bottom:20px}.footer .content .clinic{display:flex;justify-content:center;align-items:center;gap:20px;width:100%}.footer .content .links{display:flex;justify-content:center;gap:50px;width:100%;height:30px;margin-top:30px}}@media (max-width:600px){.footer .content .links{display:flex;justify-content:center;gap:40px;width:100%;height:30px}.footer .content .warm-text{font-size:.9rem;color:var(--white);opacity:.7}.footer .content .links .item{font-size:.9rem;color:var(--white);opacity:.7;transition:.3s}.footer .content .links .item:hover{font-size:1rem;color:var(--white);cursor:pointer;font-weight:700}}@media (max-width:500px){.footer .content .links .item{font-size:.8rem;color:var(--white);opacity:.7;transition:.3s}.footer .content .links .item:hover{font-size:.9rem;color:var(--white);cursor:pointer;font-weight:700}.footer .content .warm-text{font-size:.8rem;color:var(--white);opacity:.7}.footer .xdesign{font-size:.8rem;color:var(--white);opacity:.7;display:flex;justify-content:end;align-items:center;height:20%}}@media (max-width:450px){.footer .content .links{display:flex;justify-content:center;gap:15px;width:100%;height:30px}}.about h1{margin-top:50px}.about .doctor{position:relative;width:100%;height:auto;display:flex;justify-content:center;align-items:center;gap:20px;padding:50px 150px}.doctor .words{position:relative;width:50%;height:100%;display:flex;flex-direction:column;gap:20px;justify-content:center;align-items:center;padding:50px}.doctor .words .brief{position:relative;font-size:1.2rem;color:var(--darkgray);line-height:30px;letter-spacing:2px;padding-left:20px}.doctor .words .brief:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background-color:var(--brown);border-radius:2px}.doctor .avartar{position:relative;width:500px;height:100%;display:flex;justify-content:center;align-items:center}.doctor .avartar img{width:100%;height:100%;object-fit:cover}@media (max-width:1200px){.about .doctor{position:relative;width:100%;height:auto;display:flex;justify-content:center;align-items:center;gap:20px;padding:50px}}@media (max-width:1000px){.about .doctor{position:relative;width:100%;height:auto;display:flex;justify-content:center;align-items:center;gap:10px;padding:50px}.doctor .words{position:relative;width:60%;height:100%;display:flex;flex-direction:column;gap:10px;justify-content:center;align-items:center;padding:20px 0}}@media (max-width:880px){.about .doctor{position:relative;width:100%;height:auto;display:flex;flex-direction:column-reverse;gap:10px;padding:50px 20px}.doctor .words{position:relative;width:100%;height:100%;display:flex;flex-direction:column;gap:10px;justify-content:center;align-items:center;padding:20px 0}}@media (max-width:500px){.about .doctor{position:relative;width:100%;height:auto;display:flex;flex-direction:column-reverse;gap:10px;padding:50px 20px}.doctor .words{position:relative;width:100%;height:100%;display:flex;flex-direction:column;gap:20px;justify-content:center;align-items:center;padding:20px 0}.doctor .avartar{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.about h1{font-size:2.2rem}.about h2{font-size:1.8rem}}.about .experience{width:100vw;height:auto;display:flex;padding:50px 150px}.experience .content{position:relative;display:flex;width:100%;height:100%;border-radius:20px;box-shadow:0 0 10px #0000001a;overflow:hidden;gap:50px}.experience .photo{position:relative;display:flex;flex-direction:column;width:40%;height:100%;background-color:var(--black);overflow:hidden}.experience .photo .img-container{position:relative;display:flex;width:100%;height:100%;overflow:hidden}.experience .photo img{width:100%;height:100%;object-fit:cover;clip-path:polygon(0% 0%,100% 0%,100% 80%,0% 100%)}.experience .photo .description{padding:20px;font-size:1rem;color:var(--darkgray)}.experience .photo h3{color:var(--darkgray)}.experience .profile{position:relative;width:60%;height:100%;padding:20px}.experience .profile h3{width:100%;text-align:left}.experience .profile .intro{width:100%;height:auto;border:1px solid var(--lightgray);margin:20px 0;padding:10px;color:var(--darkgray);border-radius:10px}.experience .profile .intro ul{position:relative}.experience .profile .intro li{padding-left:10px}.experience .profile .intro li:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background-color:var(--brown);border-radius:2px}.experience .profile .practice li:before{background-color:var(--green)}.experience .profile .certificate li:before{background-color:var(--gray)}.experience .profile .lecturer li:before{background-color:var(--blue)}@media (max-width:1200px){.about .experience{width:100vw;min-height:600px;height:auto;display:flex;gap:50px;padding:50px}}@media (max-width:880px){.about .experience{width:100vw;min-height:600px;height:auto;display:flex;gap:50px;padding:50px 20px}.experience .content{position:relative;display:flex;flex-direction:column;width:100%;height:100%;border-radius:20px;box-shadow:0 0 10px #0000001a;overflow:hidden;gap:20px}.experience .photo{position:relative;display:flex;flex-direction:column;width:100%;height:100%;background-color:var(--black);overflow:hidden}.experience .profile{position:relative;width:100%;height:100%;padding:20px}}@media (max-width:500px){.about .experience{width:100vw;height:auto;display:flex;padding:50px 20px}.experience .content{position:relative;display:flex;width:100%;height:100%;border-radius:20px;box-shadow:0 0 10px #0000001a;overflow:hidden;gap:20px}.about h2{font-size:2rem}}.about .corner{width:100vw;height:auto;display:flex;gap:50px;padding:50px 150px}.corner .parent{width:100%;height:600px;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);gap:10px}.corner .div{width:100%;border-radius:20px;overflow:hidden}.corner .div img{width:100%;height:100%;object-fit:cover}.corner .div1{grid-row:span 2 / span 2;background-color:var(--green)}.corner .div2{grid-column:span 2 / span 2;background-color:var(--blue)}.corner .div3{grid-row:span 3 / span 3;grid-column-start:4;background-color:var(--brown)}.corner .div4{grid-column-start:2;grid-row-start:2;background-color:var(--lightgray)}.corner .div5{grid-row:span 2 / span 2;grid-column-start:3;grid-row-start:2;background-color:var(--red)}.corner .div6{grid-column:span 2 / span 2;grid-row-start:3;background-color:var(--gray)}@media (max-width:1200px){.about .corner{width:100vw;height:auto;display:flex;gap:50px;padding:50px}}@media (max-width:880px){.about .corner{width:100vw;height:auto;display:flex;gap:50px;padding:50px 20px}}@media (max-width:600px){.about .corner{width:100vw;height:auto;display:flex;gap:50px;padding:50px 20px}.corner .parent{width:100%;height:100%;display:flex;flex-direction:column;gap:20px}.about h2{font-size:1.8rem}.corner .parent>div{width:100%;height:300px}}.service h1{margin-top:50px}.service-tabs{width:100vw;height:100%;padding:50px 150px;font-family:Noto Sans TC,sans-serif}.tab-bar{display:flex;justify-content:center;align-items:center;position:relative}.tab{width:15%;padding:12px 30px;background-color:var(--gray);border-radius:0 30px 0 0;margin-left:-30px;box-shadow:0 4px 4px #0000004d;cursor:pointer;position:relative;transition:all .3s ease;white-space:nowrap;color:var(--black);background-color:var(--lightgray);font-weight:500;text-align:center}.tab:first-child{margin-left:0;border-top-left-radius:30px}.tab:hover{background-color:var(--black);color:var(--white)}.tab.active{background-color:var(--blue);color:var(--white);box-shadow:0 6px 10px #0003;font-weight:700}.tab-panel{position:relative;background:url("data:image/svg+xml,%3csvg%20id='visual'%20viewBox='0%200%20900%20600'%20width='900'%20height='600'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20version='1.1'%3e%3crect%20x='0'%20y='0'%20width='900'%20height='600'%20fill='%23FFFFFF'%3e%3c/rect%3e%3cdefs%3e%3clinearGradient%20id='grad1_0'%20x1='33.3%25'%20y1='0%25'%20x2='100%25'%20y2='100%25'%3e%3cstop%20offset='20%25'%20stop-color='%23ffffff'%20stop-opacity='1'%3e%3c/stop%3e%3cstop%20offset='80%25'%20stop-color='%23ffffff'%20stop-opacity='1'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cdefs%3e%3clinearGradient%20id='grad2_0'%20x1='0%25'%20y1='0%25'%20x2='66.7%25'%20y2='100%25'%3e%3cstop%20offset='20%25'%20stop-color='%23ffffff'%20stop-opacity='1'%3e%3c/stop%3e%3cstop%20offset='80%25'%20stop-color='%23ffffff'%20stop-opacity='1'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20transform='translate(900,%200)'%3e%3cpath%20d='M0%20324.5C-48.1%20325.5%20-96.2%20326.5%20-124.2%20299.8C-152.2%20273.1%20-160.1%20218.6%20-186.7%20186.7C-213.2%20154.7%20-258.5%20145.2%20-284.6%20117.9C-310.6%2090.5%20-317.6%2045.3%20-324.5%200L0%200Z'%20fill='%23e9eaeb'%3e%3c/path%3e%3c/g%3e%3cg%20transform='translate(0,%20600)'%3e%3cpath%20d='M0%20-324.5C32.9%20-292.7%2065.8%20-261%20101.4%20-244.8C137%20-228.7%20175.3%20-228.1%20211.4%20-211.4C247.5%20-194.8%20281.3%20-162.1%20299.8%20-124.2C318.3%20-86.3%20321.4%20-43.1%20324.5%200L0%200Z'%20fill='%23e9eaeb'%3e%3c/path%3e%3c/g%3e%3c/svg%3e");background-size:cover;background-position:center;border-radius:0 8px 8px;padding:20px;box-shadow:0 4px 8px #0000001a;min-height:400px;z-index:10}.tab-panel strong{color:var(--red)}.tab-panel .content{position:relative;display:flex;gap:50px;width:100%;height:100%}.tab-panel .content .text p{font-size:1rem;color:var(--darkgray);line-height:30px;white-space:pre-line}.tab-panel img.tab-image{width:50%;height:100%;border-radius:10px;margin-top:50px;border:1px solid var(--lightgray)}@media (max-width:1200px){.service-tabs{width:100vw;height:100%;padding:50px;font-family:Noto Sans TC,sans-serif}}@media (max-width:1000px){.tab{width:20%;padding:12px 20px;background-color:var(--gray);border-radius:0 30px 0 0;margin-left:-30px;box-shadow:0 4px 4px #0000004d;cursor:pointer;position:relative;transition:all .3s ease;white-space:nowrap;color:var(--black);background-color:var(--lightgray);font-weight:500;text-align:center}}@media (max-width:880px){.service-tabs{width:100vw;height:100%;padding:50px 20px;font-family:Noto Sans TC,sans-serif}.tab-panel .content{position:relative;display:flex;flex-direction:column;gap:50px;width:100%;height:100%}.tab-panel img.tab-image{width:100%;height:100%;border-radius:10px;margin-top:50px;border:1px solid var(--lightgray)}.tab{width:20%;padding:10px 15px;background-color:var(--gray);border-radius:0 20px 0 0;margin-left:-20px;box-shadow:0 4px 4px #0000004d;cursor:pointer;position:relative;transition:all .3s ease;white-space:nowrap;color:var(--black);background-color:var(--lightgray);font-weight:500;text-align:center}.tab:first-child{margin-left:0;border-top-left-radius:20px}}@media (max-width:600px){.tab{width:25%;background-color:var(--gray);border-radius:0 20px 0 0;margin-left:-15px;box-shadow:0 4px 4px #0000004d;cursor:pointer;position:relative;transition:all .3s ease;white-space:nowrap;color:var(--black);background-color:var(--lightgray);font-weight:500;text-align:center;padding:10px 5px 10px 10px}.tab-panel{position:relative;background:url("data:image/svg+xml,%3csvg%20id='visual'%20viewBox='0%200%20900%20600'%20width='900'%20height='600'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20version='1.1'%3e%3crect%20x='0'%20y='0'%20width='900'%20height='600'%20fill='%23FFFFFF'%3e%3c/rect%3e%3cdefs%3e%3clinearGradient%20id='grad1_0'%20x1='33.3%25'%20y1='0%25'%20x2='100%25'%20y2='100%25'%3e%3cstop%20offset='20%25'%20stop-color='%23ffffff'%20stop-opacity='1'%3e%3c/stop%3e%3cstop%20offset='80%25'%20stop-color='%23ffffff'%20stop-opacity='1'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cdefs%3e%3clinearGradient%20id='grad2_0'%20x1='0%25'%20y1='0%25'%20x2='66.7%25'%20y2='100%25'%3e%3cstop%20offset='20%25'%20stop-color='%23ffffff'%20stop-opacity='1'%3e%3c/stop%3e%3cstop%20offset='80%25'%20stop-color='%23ffffff'%20stop-opacity='1'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20transform='translate(900,%200)'%3e%3cpath%20d='M0%20324.5C-48.1%20325.5%20-96.2%20326.5%20-124.2%20299.8C-152.2%20273.1%20-160.1%20218.6%20-186.7%20186.7C-213.2%20154.7%20-258.5%20145.2%20-284.6%20117.9C-310.6%2090.5%20-317.6%2045.3%20-324.5%200L0%200Z'%20fill='%23e9eaeb'%3e%3c/path%3e%3c/g%3e%3cg%20transform='translate(0,%20600)'%3e%3cpath%20d='M0%20-324.5C32.9%20-292.7%2065.8%20-261%20101.4%20-244.8C137%20-228.7%20175.3%20-228.1%20211.4%20-211.4C247.5%20-194.8%20281.3%20-162.1%20299.8%20-124.2C318.3%20-86.3%20321.4%20-43.1%20324.5%200L0%200Z'%20fill='%23e9eaeb'%3e%3c/path%3e%3c/g%3e%3c/svg%3e");background-size:cover;background-position:center;border-radius:0 0 8px 8px;padding:20px;box-shadow:0 4px 8px #0000001a;min-height:400px;z-index:10}.tab:first-child{margin-left:0;border-top-left-radius:20px}}@media (max-width:500px){.service-tabs{width:100vw;height:100%;padding:50px 20px;font-family:Noto Sans TC,sans-serif}.tab:first-child{margin-left:0;border-top-left-radius:20px}}.service .objects{width:100vw;min-height:600px;height:auto;display:flex;padding:50px 150px;background-color:var(--lightgray)}.objects .content{width:100%;height:auto;display:flex;gap:50px;justify-content:center}.objects .content .animal{width:100%;position:relative;display:flex;flex-direction:column;gap:20px;background-color:var(--black);padding:20px;border-radius:20px;overflow:hidden}.objects .content .animal .img-container{width:100%;height:60%;border-radius:20px;overflow:hidden}.objects .content .animal img{width:100%;height:100%;object-fit:cover;border-radius:20px;transition:.3s}.objects .content .animal img:hover{transform:scale(1.5)}.objects .content .animal ul{margin-top:0;margin-left:20px;color:var(--gray)}.objects .content .animal button{width:200px;height:40px;border:none;outline:none;margin-left:20px;border-radius:20px;background-color:var(--blue);color:var(--white);font-size:1rem;transition:.3s;cursor:pointer;background-color:var(--black);box-shadow:0 0 10px #ffffff80}.objects .content .animal button:hover{background-color:var(--blue);box-shadow:0 0 10px #ffffff80}@media (max-width:1200px){.service .objects{width:100vw;min-height:600px;height:auto;display:flex;padding:50px;background-color:var(--lightgray)}}@media (max-width:880px){.service .objects{width:100vw;min-height:600px;height:auto;display:flex;padding:50px 20px;background-color:var(--lightgray)}.objects .content{width:100%;height:auto;display:flex;flex-direction:column;gap:50px;justify-content:center}}@media (max-width:500px){.service h1,.service h2{font-size:2.2rem}}.appointment-type-card{width:300px;cursor:pointer;text-align:center;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;box-shadow:0 0 4px #0003;border-radius:20px;transition:.3s}.appointment-type-card:hover{transform:translateY(-5px)}.appointment-type-card .card-image{width:100%;height:200px;object-fit:cover;border-radius:8px;margin-bottom:15px;border:1px solid var(--lightgray)}.appointment-type-card .card-title-custom{font-size:1.2em;color:var(--blue);margin-top:0;height:30px}.appointment-type-card p{font-size:.9em;color:var(--gray)}.appointment-type-card .card-button{width:100%;height:40px;border-radius:8px;border:none;outline:none;background-color:var(--black);color:var(--white);margin-top:auto;transition:.3s;cursor:pointer;padding:4px 10px}.appointment-type-card .card-button:hover{background-color:var(--blue)}@media (max-width:880px){.appointment-type-card{width:100%;cursor:pointer;text-align:center;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;box-shadow:0 0 4px #0003;border-radius:20px;transition:.3s}}.booking-home{width:100vw;height:100%}.booking-home h1{margin-top:50px}.booking-home h2{text-align:center;color:var(--gray);margin-bottom:10px;letter-spacing:1px}.booking-home p{text-align:center;color:var(--gray);margin-bottom:15px;font-size:.9em}.booking-home .card-container{width:100%;display:flex;justify-content:space-around;gap:20px}@media (max-width:880px){.booking-home .card-container{width:100%;display:flex;flex-direction:column;justify-content:space-around;gap:20px}}@media (max-width:500px){.booking-home h1{font-size:2.2rem}}.contact h1{margin-top:50px}.contact .info{width:100vw;height:auto;padding:50px 150px}.contact .info .content{position:relative;width:100%;height:100%;display:flex;justify-content:center;gap:50px}.contact .info .content .img-container{position:relative;display:flex;width:40%;min-height:100%;border-radius:20px;overflow:hidden}.contact .info .content .img-container img{width:100%;height:100%;object-fit:cover}.contact .info .content .cards{display:grid;width:60%;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:20px}.info .content .cards .way{width:100%;border-radius:20px;padding:20px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;background-color:var(--lightgray)}.info .content .cards .way p{text-align:center;color:var(--darkgray)}.info .content .cards .way .icon{font-size:40px;padding:0;color:var(--blue)}.info .content .cards .way .fb,.info .content .cards .way .blog{font-size:50px;transition:.3s}.info .content .cards .way .fb:hover,.info .content .cards .way .blog:hover{color:var(--brown)}.info .content .cards .email{grid-row-start:2}.info .content .cards .social{grid-row-start:2;display:flex;flex-direction:row}@media (max-width:1200px){.contact .info{width:100vw;height:600px;height:auto;padding:50px}}@media (max-width:880px){.contact .info{width:100vw;height:600px;height:auto;padding:50px 20px}.contact .info .content{position:relative;width:100%;height:100%;display:flex;flex-direction:column;gap:50px}.contact .info .content .img-container{position:relative;display:flex;width:100%;min-height:100%;border-radius:20px;overflow:hidden}.contact .info .content .cards{display:grid;width:100%;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:20px}}@media (max-width:600px){.contact h1{font-size:2.2rem}.contact .info .content .cards{display:flex;flex-direction:column;width:100%;gap:20px}}.contact .map{width:100vw;height:500px;display:flex;justify-content:center;padding:0 150px 50px}.map iframe{width:100%;height:100%;border:1px solid var(--gray);border-radius:20px}@media (max-width:1200px){.contact .map{width:100vw;height:500px;display:flex;justify-content:center;padding:0 50px 50px}}@media (max-width:880px){.contact .map{width:100vw;height:500px;display:flex;justify-content:center;padding:0 20px 50px}}.notfound{width:100vw;height:500px;padding:50px 150px;display:flex;justify-content:center;align-items:center}.notfound p{font-size:1.5rem}.app-container{display:flex;flex-direction:column;min-height:100vh}.app-header{background-color:#4a90e2;color:#fff;padding:20px 40px;text-align:center;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}.app-header .logo{height:50px;margin-right:20px;cursor:pointer}.app-header h1{margin:0;font-size:1.8em}.app-main{width:100%;min-height:500px;height:auto;padding:50px}.app-footer{background-color:#343a40;color:#fff;text-align:center;padding:15px 20px;font-size:.9em}.app-footer p{margin:5px 0}.button{background-color:var(--black);color:#fff;border:none;padding:12px 24px;text-align:center;text-decoration:none;display:inline-block;font-size:16px;border-radius:8px;cursor:pointer;transition:background-color .3s ease,transform .1s ease;box-shadow:0 2px 4px #0000001a}.button:hover{background-color:var(--blue);transform:translateY(-1px)}.button:active{transform:translateY(0);box-shadow:inset 0 1px 3px #0003}.button-secondary{background-color:#6c757d}.button-disabled{background-color:#ccc;color:#666;cursor:not-allowed;box-shadow:none}.button-disabled:hover{background-color:#ccc;transform:none}.card{background-color:var(--white);border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:25px;margin-bottom:20px;transition:transform .2s ease-in-out}.card:hover{transform:translateY(-5px)}.card-title{font-size:1.5em;color:#333;margin-bottom:15px;border-bottom:1px solid #eee;padding-bottom:10px}.card-content p{color:#555;font-size:1em;line-height:1.7}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:700;color:#495057}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group textarea,.form-group select{width:calc(100% - 24px);padding:12px;border:1px solid #ced4da;border-radius:6px;font-size:16px;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}.form-group input[type=text]:focus,.form-group input[type=email]:focus,.form-group input[type=tel]:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 4px .2rem #3493ff66}.form-group textarea{resize:vertical;min-height:100px}.form-group select{height:40px;background-color:#fff;color:#8f8e8e}.error-message{color:#dc3545;font-size:.9em;margin-top:5px}input:-webkit-autofill{box-shadow:0 0 0 1000px #fff inset!important;-webkit-box-shadow:0 0 0 1000px white inset!important;-webkit-text-fill-color:#000!important}@media (max-width:600px){.app-main{width:100%;min-height:500px;height:auto;padding:50px 20px}}.week-calendar-container{padding:15px;border:1px solid #ddd;border-radius:8px;background-color:#fdfdfd;margin-bottom:25px}.week-calendar-container h4{text-align:center;margin-top:0;margin-bottom:15px;color:#333;font-size:1.2em}.week-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.week-navigation span{font-weight:700;color:#555;font-size:1.1em}.nav-button{display:flex;justify-content:center;align-items:center;background-color:#6c757d}.nav-button:hover{background-color:#5a6268}.nav-button:disabled{background-color:#e9ecef;color:#adb5bd;cursor:not-allowed}.arrow-circle{font-size:1.2rem;height:100%;width:100%}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.day-cell{padding:12px 8px;border:1px solid #e0e0e0;border-radius:6px;text-align:center;cursor:pointer;background-color:#fff;transition:background-color .2s ease,transform .1s ease;position:relative}.day-cell:hover{background-color:#e9f3fd;transform:translateY(-2px);box-shadow:0 2px 4px #0000000d}.day-cell.disabled{background-color:#f0f0f0;color:#aaa;cursor:not-allowed;text-decoration:none}.day-cell.disabled:hover{background-color:#f0f0f0;transform:none;box-shadow:none}.day-name{font-size:.85em;color:#777;margin-bottom:4px}.day-number{font-size:1.3em;font-weight:700;color:#444}.day-cell.disabled .day-number{color:#bbb}.holiday-marker{position:absolute;top:5px;right:5px;background-color:#ffc107;color:#333;font-size:.7em;padding:2px 4px;border-radius:3px;font-weight:700}.day-cell.disabled .holiday-marker{background-color:#d3d3d3;color:#777}.reserve-hint{position:absolute;top:5px;right:5px;font-size:.7rem;background-color:var(--gray);padding:2px 4px;color:var(--darkgray);font-weight:700}.calendar-legend{margin-top:15px;font-size:.9em;color:#666;text-align:center}@media (max-width:600px){.week-calendar-container .prev-week,.week-calendar-container .next-week{font-size:.8rem;padding:5px}.week-navigation span{font-weight:700;color:#555;font-size:.8em}}@media (max-width:500px){.day-cell{padding:5px;border:1px solid #e0e0e0;border-radius:6px;text-align:center;cursor:pointer;background-color:#fff;transition:background-color .2s ease,transform .1s ease;position:relative}.day-number{font-size:1em;font-weight:700;color:#444}}.time-slot-picker{padding:15px;border:1px solid #ddd;border-radius:8px;background-color:#fdfdfd;margin-bottom:25px}.time-slot-picker h4{text-align:center;margin-top:0;margin-bottom:20px;color:#333;font-size:1.2em}.slots-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.time-slot-button{padding:12px 10px;font-size:1em;background-color:var(--green);border:none;color:#fff;border-radius:6px;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease;text-align:center;box-shadow:0 1px 3px #0000001a}.time-slot-button:hover:not(.button-disabled){background-color:var(--darkgreen);box-shadow:0 2px 5px #00000026}.time-slot-button.button-disabled{background-color:#e0e0e0;color:#888;cursor:not-allowed;box-shadow:none}.time-slot-button.button-disabled:hover{background-color:#e0e0e0}.slot-status{font-size:.8em;display:block;margin-top:2px;opacity:.8}.booking-form{padding:20px;border:1px solid #ddd;border-radius:8px;background-color:#fdfdfd}.booking-form h4{text-align:center;margin-top:0;margin-bottom:25px;color:#333;font-size:1.2em}.form-grid{display:grid;grid-template-columns:1fr;gap:15px 20px}@media (min-width: 768px){.form-grid{grid-template-columns:1fr 1fr}.form-group.full-width{grid-column:1 / -1}}.required-star{color:var(--red);margin-left:2px}.form-error{text-align:center;margin-bottom:15px}.form-actions{margin-top:25px;text-align:center}.submit-button{width:50%;max-width:250px;padding:14px 20px;font-size:1.1em}.required-notice{margin-top:20px;font-size:.9em;color:#555;text-align:right}.booking-summary{text-align:center;padding:20px}.booking-summary .success-icon{font-size:50px;color:var(--blue)}.booking-summary h3{color:var(--blue);font-size:1.4em;margin-bottom:10px}.booking-summary p{font-size:1em;color:var(--darkgray);line-height:1.6;margin-bottom:15px}.booking-summary .reminder{font-weight:700;color:var(--red);margin-bottom:25px}.summary-details{text-align:left;background-color:#f8f8f8;padding:25px;border-radius:8px;margin:30px auto;max-width:550px}.summary-details h4{margin-top:0;margin-bottom:20px;color:var(--blue);font-size:1.2em;border-bottom:1px solid #e0e0e0;padding-bottom:10px}.summary-details p{width:100%;text-align:left;font-size:1em;color:var(--darkgray);margin-bottom:12px}.summary-details p strong{color:var(--black);min-width:100px;display:inline-block}.summary-details hr{border:0;border-top:1px solid #e0e0e0;margin:20px 0}.back-to-home-button{margin-top:20px;padding:12px 30px;font-size:1em}.success-icon-container{margin:0 auto 20px;width:80px;height:80px}.success-icon{width:80px;height:80px;border-radius:50%;display:block;stroke-width:2;stroke:#fff;stroke-miterlimit:10;animation:scale .3s ease-in-out .9s both}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@media (max-width:500px){.summary-details{text-align:left;background-color:#f8f8f8;padding:10px;border-radius:8px;margin:30px auto;max-width:550px}}.booking-page{width:100%;height:auto}.booking-header{position:relative;display:flex;flex-direction:column;align-items:flex-start;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.booking-header .back-button-container{display:flex}.booking-header .back-button{width:120px;margin-right:20px;padding:8px 16px;cursor:pointer}.booking-header h2{width:100%;text-align:center;margin:0;font-size:1.5em;color:var(--blue)}.booking-header h2:before{height:0}@media (max-width:600px){.booking-header h2{width:100%;text-align:center;margin:0;font-size:1.2em;color:var(--blue);line-height:30px;padding-top:30px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1050;padding:20px}.modal-content{background-color:#fff;padding:0;border-radius:8px;box-shadow:0 5px 15px #0000004d;position:relative;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-content.small{width:100%;max-width:400px}.modal-content.medium{width:100%;max-width:600px}.modal-content.large{width:100%;max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #e9ecef}.modal-title{margin:0;font-size:1.4em;color:#4a90e2}.modal-close-button{background:none;border:none;font-size:2em;font-weight:300;color:#6c757d;cursor:pointer;padding:0 5px;line-height:1}.modal-close-button:hover{color:#343a40}.modal-body{padding:20px;overflow-y:auto;flex-grow:1}.modal-footer{padding:15px 20px;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;gap:10px;background-color:#f8f9fa}.query-cancel-page{max-width:700px;margin:30px auto;padding:25px 30px}.query-cancel-page h2{text-align:center;color:var(--blue);margin-bottom:25px;font-size:2rem}.query-cancel-page h2:before{height:0}.query-form{margin-bottom:30px;padding:20px;background-color:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.query-form p{font-size:.95em;color:#495057;margin-bottom:15px;line-height:1.5}.query-form .form-group{margin-bottom:18px}.query-form .form-group label{display:block;margin-bottom:6px;font-weight:500}.query-form input[type=tel],.query-form input[type=text]{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:5px;font-size:1em}.query-form input:focus{border-color:#4a90e2;outline:none;box-shadow:0 0 0 .2rem #4a90e240}.query-form button[type=submit]{width:100%;padding:12px;font-size:1.1em;margin-top:10px}.message{padding:12px 15px;margin:20px 0;border-radius:5px;text-align:center;font-weight:500}.error-message{background-color:#dc35451a;color:#a71d2a;border:1px solid rgba(220,53,69,.2)}.success-message{background-color:#28a7451a;color:#155724;border:1px solid rgba(40,167,69,.2)}.appointment-details{margin-top:25px;padding:20px;border-top:2px solid #4a90e2}.appointment-details h3{color:#333;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee}.appointment-details .detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.appointment-details .detail-header h3{margin-bottom:0}.appointment-details .detail-item{margin-bottom:12px;font-size:1em;line-height:1.6}.appointment-details .detail-item strong{color:#495057;margin-right:8px;min-width:120px;display:inline-block}.appointments-list-results{margin-top:25px;padding:20px;border-top:2px solid #6c757d}.appointments-list-results h3{color:#333;margin-bottom:10px}.appointments-list-results p{font-size:.95em;color:#495057;margin-bottom:15px}.appointments-list-results ul{list-style:none;padding:0}.appointment-list-item{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;border:1px solid #e9ecef;border-radius:5px;margin-bottom:10px;background-color:#fff;transition:box-shadow .2s ease}.appointment-list-item:hover{box-shadow:0 2px 8px #00000014}.appointment-list-item div{font-size:.9em;line-height:1.5}.appointment-list-item strong{font-size:1.05em;color:#343a40}.appointment-list-item .status-tag{margin-left:0;font-size:.8em}.status-tag{padding:4px 10px;border-radius:12px;color:#fff;font-size:.85em;font-weight:500;text-transform:uppercase}.status-tag.status-scheduled{background-color:#4a90e2}.status-tag.status-completed{background-color:#28a745}.status-tag.status-cancelled_by_user,.status-tag.status-cancelled_by_clinic{background-color:#dc3545}.status-tag.status-no_show{background-color:#ffc107;color:#333}.cancel-appointment-btn{margin-top:20px;display:block;margin-left:auto;margin-right:auto;min-width:150px}.contact-info{margin:30px 0;padding:15px;background-color:#f8f9fa;border-radius:5px;text-align:left;font-size:.95em}.contact-info p{margin-bottom:10px}.contact-info ul{list-style:none;padding-left:0}.contact-info li{margin-bottom:8px}.back-home-btn{display:block;width:auto;min-width:180px;margin:25px auto 0}.cancel-confirm-content p{margin-bottom:15px;line-height:1.6}.cancel-confirm-content ul{list-style:none;padding-left:15px;margin-bottom:15px;border-left:3px solid #eee}.cancel-confirm-content li{margin-bottom:8px;font-size:.95em}.cancel-confirm-content li strong{color:#333}.query-cancel-page .loading-spinner{border-top-color:#fff}button:disabled .loading-spinner{border-top-color:#ccc}.close-detail-btn{font-size:1em;padding:5px 8px;color:#6c757d;height:50px;width:150px}.close-detail-btn:hover{color:#343a40;text-decoration:none}@media (max-width:600px){.close-detail-btn{font-size:.8em;padding:5px 8px;color:#6c757d;height:50px;width:200px}}@media (max-width:500px){.appointments-list-results h3{color:#333;margin-bottom:10px;font-size:1.2rem}.appointments-list-results{margin-top:25px;padding:10px;border-top:2px solid #6c757d}.appointment-list-item div{font-size:.9em;line-height:1.5;width:60%}.appointment-list-item strong{font-size:.9em;color:#343a40}.appointment-details h3{color:#333;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee;font-size:1.1rem}.appointment-details .detail-item strong{color:#495057;margin-right:8px;min-width:80px;display:inline-block}}.login-page-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:#f0f4f8;padding:20px}.login-card{width:100%;max-width:400px;padding:30px 35px;text-align:center;box-shadow:0 4px 15px #0000001a}.login-logo{max-width:150px;margin-bottom:20px}.login-title{font-size:1.8em;color:#333;margin-bottom:5px;height:50px}.login-title:before{height:0}.login-card h2{font-size:1.3em;color:#4a90e2;margin-bottom:25px;font-weight:500}.login-card h2:before{height:0}.login-form{margin-top:20px}.login-form .form-group label{text-align:left;font-size:.95em}.login-button{width:100%;padding:12px;font-size:1.1em;margin-top:15px}.login-error-message{background-color:#dc35451a;color:#a71d2a;border:1px solid rgba(220,53,69,.3);padding:10px;border-radius:5px;margin-bottom:15px;text-align:left;font-size:.9em}.admin-dashboard-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}.admin-header{background-color:#4a90e2;color:#fff;padding:12px 25px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 5px #00000026;z-index:1000;height:60px}.admin-header .header-logo-title{display:flex;align-items:center}.admin-header .header-logo-title h1:before{height:0}.admin-header .admin-header-logo{height:35px;margin-right:15px}.admin-header h1{font-size:1.4em;margin:0;color:#fff;font-weight:500}.admin-user-info{display:flex;align-items:center;gap:15px}.admin-user-info span{font-size:.95em}.admin-body{display:flex;flex-grow:1;overflow:hidden}.admin-sidebar{margin-top:60px;width:230px;background-color:#343a40;color:#adb5bd;padding-top:20px;transition:width .3s ease;overflow-y:auto;flex-shrink:0}.admin-sidebar ul{list-style:none;padding:0;margin:0}.admin-sidebar li a{display:flex;align-items:center;padding:14px 20px;text-decoration:none;color:#adb5bd;font-size:.95em;border-left:3px solid transparent;transition:background-color .2s ease,color .2s ease,border-left-color .2s ease}.admin-sidebar li a:hover{background-color:#495057;color:#fff}.admin-sidebar li.active a{background-color:#4a90e2;color:#fff;font-weight:500;border-left-color:#fff}.admin-sidebar .sidebar-icon{margin-right:12px;font-size:1.1em;width:20px;text-align:center}.admin-main-content{flex-grow:1;padding:25px;background-color:#eef2f7;overflow-y:auto}.calendar-view-page .page-header{margin-bottom:20px}.calendar-controls{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:20px;padding:15px;background-color:#fff}.current-month-display{font-size:1.5em;color:#333;margin:0 10px;min-width:180px;text-align:center}.admin-calendar-grid-container{background:#fff;padding:15px;border-radius:8px}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-weight:600;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #eee;color:#555}.calendar-header div{padding:5px 0}.calendar-body{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-day{border:1px solid #e9ecef;min-height:110px;padding:8px;font-size:.9em;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease;position:relative;background-color:#fff}.calendar-day:hover:not(.disabled){background-color:#e9f3fd;box-shadow:0 0 5px #4a90e24d}.calendar-day.disabled{background-color:#f8f9fa;cursor:not-allowed;color:#adb5bd}.calendar-day.disabled:hover{background-color:#f8f9fa;box-shadow:none}.calendar-day.other-month .day-number{color:#ced4da}.calendar-day.today{background-color:#fff3cd;border:1px solid #ffeeba}.calendar-day.today .day-number{font-weight:700;color:#856404}.calendar-day .day-number{font-size:1.1em;font-weight:500;display:block;margin-bottom:5px}.calendar-day.has-appointments{background-color:#d1e7fd;border-left:3px solid #4a90e2}.appointment-count-badge{position:absolute;bottom:5px;right:5px;background-color:#4a90e2;color:#fff;border-radius:10px;padding:3px 7px;font-size:.8em;line-height:1;font-weight:700}.calendar-day.disabled .appointment-count-badge{background-color:#adb5bd}.calendar-day-marker{position:absolute;top:5px;right:5px;font-size:.75em;padding:2px 5px;border-radius:3px;color:#fff;font-weight:700}.calendar-day-marker.holiday{background-color:#dc3545}.calendar-day-marker.closed{background-color:#6c757d}.daily-details-section{margin-top:25px;padding:20px}.daily-details-section h4{color:#4a90e2;margin-bottom:10px}.time-slots-overview{max-height:400px;overflow-y:auto;border:1px solid #eee;border-radius:5px}.time-slot-item{padding:12px 15px;border-bottom:1px solid #f1f1f1;display:flex;justify-content:space-between;align-items:center;font-size:.95em}.time-slot-item:last-child{border-bottom:none}.time-slot-item.available{color:#155724;background-color:#d4edda}.time-slot-item.booked{background-color:#e9f3fd}.time-slot-item.completed{background-color:#e2e3e5;color:#383d41;text-decoration:line-through}.time-slot-item.cancelled{background-color:#f8d7da;color:#721c24;text-decoration:line-through}.status-badge-inline{margin-left:10px;padding:2px 6px;font-size:.8em;border-radius:10px;color:#fff;vertical-align:middle}.status-badge-inline.status-scheduled{background-color:#4a90e2}.status-badge-inline.status-completed{background-color:#28a745}.status-badge-inline.status-cancelled_by_clinic,.status-badge-inline.status-cancelled_by_user{background-color:#dc3545}.status-badge-inline.status-no_show{background-color:#ffc107;color:#333}.view-details-btn{margin-left:15px}.loading-spinner{border:4px solid #f3f3f3;border-top:4px solid #4a90e2;border-radius:50%;animation:spin 1s linear infinite;display:inline-block}.loading-spinner.small{width:20px;height:20px;border-width:3px}.loading-spinner.medium{width:40px;height:40px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.appointment-detail-form .form-grid-2-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:10px}.appointment-detail-form .form-group{margin-bottom:5px}.appointment-detail-form .form-group p{margin:0;padding:10px 0;font-size:1em;color:#333}.appointment-detail-form .form-info-row{font-size:.85em;color:#6c757d;margin-top:15px;padding-top:10px;border-top:1px dashed #eee;display:flex;justify-content:space-between;flex-wrap:wrap}.appointment-detail-form .form-info-row span{margin-right:15px}.month-button{width:150px;height:65px}.appointments-list-page .page-header{margin-bottom:20px}.page-header .new-appointment{width:200px}.filters-container{padding:20px;margin-bottom:25px;background-color:#fff}.filter-row{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end;margin-bottom:15px}.filter-row:last-child{margin-bottom:0}.filter-row .form-group{flex:1;min-width:200px;margin-bottom:0}.filter-actions{display:flex;gap:10px;padding-bottom:0;margin-left:auto}.appointments-table-container{padding:0;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.95em}.data-table th,.data-table td{padding:10px 12px;border:1px solid #e0e0e0;text-align:left;vertical-align:middle}.data-table th{background-color:#f8f9fa;font-weight:600;color:#343a40}.data-table th[style*="cursor: pointer"]:hover{background-color:#e9ecef}.data-table tbody tr:nth-child(2n){background-color:#fdfdfd}.data-table tbody tr:hover{background-color:#e9f3fd}.status-badge{padding:4px 10px;border-radius:12px;color:#fff;font-size:.8em;font-weight:500;text-transform:uppercase;letter-spacing:.5px;display:inline-block;min-width:70px;text-align:center}.status-badge.status-scheduled{background-color:#4a90e2}.status-badge.status-completed{background-color:#28a745}.status-badge.status-cancelled_by_clinic,.status-badge.status-cancelled_by_user{background-color:#dc3545}.status-badge.status-no_show{background-color:#ffc107;color:#333}.sort-icon{margin-left:5px;color:#adb5bd;font-weight:400}.sort-icon.active{color:#4a90e2}.pagination-controls{padding:15px;display:flex;justify-content:space-between;align-items:center;font-size:.9em;color:#555;border-top:1px solid #e0e0e0}.pagination-controls div button{margin-left:5px;padding:6px 10px}.pagination-controls div button:disabled{opacity:.6;cursor:not-allowed}.form-layout{padding:25px}.form-layout h4{margin-top:10px;margin-bottom:20px;font-size:1.2em;color:#4a90e2;border-bottom:1px solid #eee;padding-bottom:10px}.form-layout h4:first-of-type{margin-top:0}.form-row-col-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:0}.global-error,.global-success{padding:12px 15px;margin-bottom:20px;border-radius:5px;text-align:center;font-weight:500}.global-error{background-color:#dc35451a;color:#a71d2a;border:1px solid rgba(220,53,69,.2)}.global-success{background-color:#28a7451a;color:#155724;border:1px solid rgba(40,167,69,.2)}.clinic-settings-page .page-header{margin-bottom:20px}.clinic-settings-page .page-header button{padding:8px 15px;font-size:.95em}.settings-section{margin-bottom:30px;padding:25px}.settings-section h3{font-size:1.4em;color:#4a90e2;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #e9ecef}.settings-section h4{font-size:1.1em;color:#343a40;margin-top:20px;margin-bottom:15px}.operating-hours-editor .operating-day-group{margin-bottom:20px;padding-bottom:20px;border-bottom:1px dashed #dee2e6}.operating-hours-editor .operating-day-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.operating-hours-editor .operating-day-group h4{font-size:1.15em;margin-bottom:12px;color:#495057}.time-periods-for-day .time-period-entry{display:flex;align-items:center;gap:8px;margin-bottom:10px;max-width:400px}.time-periods-for-day .time-period-entry input[type=time]{padding:6px 8px;font-size:.95em;width:auto;flex-grow:1}.time-periods-for-day .time-separator{color:#6c757d}.no-periods-text{color:#6c757d;font-style:italic;font-size:.9em}.add-period-btn{margin-top:5px}.checkbox-group-horizontal{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}.checkbox-group-horizontal label{display:flex;align-items:center;cursor:pointer;font-weight:400;font-size:.95em}.checkbox-group-horizontal input[type=checkbox]{margin-right:6px;width:auto}.dynamic-list-container{margin-top:10px}.dynamic-list-entry{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px;background-color:#fdfdfd;border:1px solid #f0f0f0;border-radius:5px}.dynamic-list-entry input[type=date],.dynamic-list-entry input[type=text]{flex-grow:1}.dynamic-list-entry input[type=date]{max-width:180px;height:40px}.dynamic-list-entry input[type=text]{height:40px}.dynamic-list-entry button{flex-shrink:0}.custom-opening-entry{flex-direction:column;align-items:stretch}.custom-opening-main-inputs{display:flex;align-items:center;gap:10px;margin-bottom:10px}.custom-opening-hours-editor{padding-left:20px;border-left:2px solid #e9ecef;margin-top:10px;padding-top:10px}.custom-opening-hours-editor h5{font-size:1em;color:#555;margin-bottom:8px;margin-top:0}.checkbox-label-inline{display:flex;align-items:center;font-weight:400;cursor:pointer}.checkbox-label-inline input[type=checkbox]{margin-right:8px;width:auto}.button-large{padding:12px 30px;font-size:1.1em}.form-row-col-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:15px}.form-row-col-2 .form-group{margin-bottom:0}.save-settings{width:150px}body,html{margin:0;padding:0;font-family:Arial,Helvetica Neue,Helvetica,sans-serif;background-color:#eef2f7;color:#333;font-size:16px;line-height:1.6}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6{margin-top:0;color:#343a40}.card{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #00000014;padding:20px;margin-bottom:20px}.button{display:inline-block;padding:10px 20px;font-size:1em;font-weight:500;text-align:center;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease,transform .1s ease;text-decoration:none!important}.button-primary{background-color:var(--black);color:#fff}.button-primary:hover{background-color:var(--blue);box-shadow:0 2px 4px #0000001a}.button-primary:active{transform:translateY(1px)}.button-secondary{background-color:#6c757d;color:#fff}.button-secondary:hover{background-color:#5a6268}.button-danger{background-color:#dc3545;color:#fff}.button-danger:hover{background-color:#c82333}.button-info{background-color:#17a2b8;color:#fff}.button-info:hover{background-color:#138496}.button-warning{background-color:#ffc107;color:#212529}.button-warning:hover{background-color:#e0a800}.button-outline{background-color:transparent;color:#4a90e2;border:1px solid #4a90e2}.button-outline:hover{background-color:#4a90e21a}.button-outline-light{background-color:transparent;color:#f8f9fa;border:1px solid #f8f9fa}.button-outline-light:hover{background-color:#f8f9fa26;color:#fff}.button-small{padding:5px;font-size:.9em}.button-xsmall{padding:4px 8px;font-size:.8em}.form-group{margin-bottom:18px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#495057}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group input[type=tel],.form-group input[type=date],.form-group input[type=time],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:5px;font-size:1em;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4a90e2;outline:none;box-shadow:0 0 0 .2rem #4a90e240}.form-group textarea{resize:vertical;min-height:80px}.required-star{color:#dc3545;margin-left:2px}.form-error-message{color:#dc3545;font-size:.9em;margin-top:5px}.form-actions{margin-top:25px;display:flex;gap:10px;justify-content:flex-start}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #dee2e6}.page-header h2{font-size:1.8em;color:#4a90e2;margin-bottom:0}.page-header h2:before{height:0}.page-container{padding:20px}.full-page-loader{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.5em;color:#4a90e2}[class^=icon-],[class*=" icon-"]{display:inline-block;margin-right:8px}
