:root{--rose:#d8a4a6;--rose-dark:#b67e82;--stone:#7a6a69;--text-dark:#2e2324;--shadow:0 18px 45px rgba(57,36,38,.08)}
body{font-family:'Inter',sans-serif;color:var(--text-dark);background:#fffdfc}
h1,h2,h3,h4,h5,h6,.brand-word,.section-title{font-family:'Playfair Display',serif;letter-spacing:-.02em}
a{text-decoration:none;color:inherit} img{max-width:100%;display:block}
.announcement-bar{background:linear-gradient(90deg,#f9e8ea 0%,#f4eae5 100%);color:var(--stone);font-size:.92rem}
.brand-mark{display:inline-flex;flex-direction:column;line-height:1}.brand-word{font-size:1.6rem;color:#9f5f63}.brand-sub{font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone)}
.nav-link{font-weight:500;color:#4a3e40}.nav-link.active,.nav-link:hover{color:var(--rose-dark)}
.btn-rose{background:linear-gradient(135deg,var(--rose) 0%,#e5c0b7 100%);color:#fff;border:none;box-shadow:0 10px 20px rgba(182,126,130,.25)} .btn-rose:hover{color:#fff;background:linear-gradient(135deg,var(--rose-dark) 0%,#cca399 100%)}
.hero-section{padding:4.5rem 0 3rem;background:radial-gradient(circle at top left,rgba(255,244,244,.9),rgba(249,239,235,.6))}
.hero-card{background:rgba(255,255,255,.72);backdrop-filter:blur(10px);border:1px solid rgba(234,216,209,.8);border-radius:2rem;padding:2.5rem;box-shadow:var(--shadow)}
.hero-image{border-radius:2rem;min-height:520px;object-fit:cover;box-shadow:var(--shadow)}
.section-padding{padding:4.5rem 0}.page-hero,.auth-section{padding:4rem 0 2rem}
.section-eyebrow{text-transform:uppercase;font-size:.8rem;letter-spacing:.22em;color:var(--rose-dark);font-weight:700}.section-title{font-size:clamp(2rem,4vw,3.1rem);margin-bottom:1rem}.text-soft{color:var(--stone)}
.soft-card,.product-card,.article-card,.testimonial-card,.icon-card,.filter-panel,.checkout-summary,.dashboard-card,.account-card,.admin-panel-card{border-radius:1.25rem;background:#fff;border:1px solid #f0e4df;box-shadow:var(--shadow)}
.icon-card,.filter-panel,.checkout-summary,.dashboard-card,.account-card,.admin-panel-card,.testimonial-card{padding:1.5rem}.icon-wrap{width:56px;height:56px;display:inline-grid;place-items:center;border-radius:18px;background:#fcf1f1;color:var(--rose-dark);font-size:1.4rem;margin-bottom:1rem}
.product-card{overflow:hidden}.product-thumb img{height:300px;width:100%;object-fit:cover}.price-tag{color:var(--rose-dark);font-weight:700}
.category-shortcut,.gallery-tile{position:relative;border-radius:1.4rem;overflow:hidden}.category-shortcut img,.gallery-tile img{height:250px;width:100%;object-fit:cover}
.category-shortcut .overlay,.gallery-tile .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.45));color:#fff;display:flex;align-items:end;padding:1.25rem}
.article-card img{height:280px;width:100%;object-fit:cover;border-top-left-radius:1.25rem;border-top-right-radius:1.25rem}
.testimonial-card .avatar{width:62px;height:62px;border-radius:50%;object-fit:cover}
.newsletter-box{background:linear-gradient(135deg,#f8efef 0%,#efe5de 100%);border-radius:2rem;padding:2.2rem;box-shadow:var(--shadow)}
.footer-section{background:#fff7f5;border-top:1px solid #f1e4e0}.footer-title{margin-bottom:1rem;font-weight:700}.footer-links li{margin-bottom:.75rem}.footer-links a,.footer-social a{color:var(--stone)}
.footer-social a{width:40px;height:40px;display:inline-grid;place-items:center;border-radius:50%;background:#fff;box-shadow:0 8px 24px rgba(80,49,52,.08)}
.cart-badge{position:absolute;top:0;right:-2px;width:18px;height:18px;background:var(--rose-dark);color:#fff;border-radius:50%;font-size:.7rem;display:inline-grid;place-items:center}
.breadcrumb-soft{color:var(--stone);font-size:.95rem}.detail-gallery-main{border-radius:1.5rem;overflow:hidden;background:#fff;box-shadow:var(--shadow)} .detail-gallery-main img{height:540px;width:100%;object-fit:cover}
.thumb-button{border:2px solid transparent;border-radius:1rem;overflow:hidden;padding:0;background:transparent}.thumb-button.active{border-color:var(--rose-dark)}.thumb-button img{width:100%;height:120px;object-fit:cover}
.badge-soft{background:#f9eceb;color:var(--rose-dark)} .auth-card{background:rgba(255,255,255,.88);border-radius:1.5rem;box-shadow:var(--shadow);padding:2rem;border:1px solid #f1e5e1}
.form-control,.form-select,textarea.form-control{border-radius:.95rem;border-color:#e6d9d4;padding:.82rem 1rem}.form-control:focus,.form-select:focus{border-color:#d6a0a5;box-shadow:0 0 0 .25rem rgba(214,160,165,.15)}
.empty-state{background:#fff;border:1px dashed #e7d7d0;border-radius:1.5rem;padding:2.25rem;text-align:center}.map-frame{border-radius:1.25rem;overflow:hidden;min-height:320px;box-shadow:var(--shadow)}
.instagram-grid img{height:220px;width:100%;object-fit:cover;border-radius:1rem}.accordion-button:not(.collapsed){background-color:#f8eeee;color:var(--rose-dark)}
.admin-shell{min-height:100vh;background:#fcf7f5}.admin-sidebar{min-height:100vh;background:#fff;border-right:1px solid #eee0db;padding:1.5rem 1rem;position:sticky;top:0}.admin-sidebar .nav-link{border-radius:.85rem;margin-bottom:.35rem}.admin-sidebar .nav-link.active,.admin-sidebar .nav-link:hover{background:#f9eded;color:var(--rose-dark)}
.admin-content{padding:1.5rem}.admin-topbar{background:#fff;border-radius:1.2rem;padding:1rem 1.25rem;box-shadow:var(--shadow);border:1px solid #f0e4df;margin-bottom:1.5rem}.stat-card{padding:1.5rem;border-radius:1.25rem;background:#fff;border:1px solid #f0e4df;box-shadow:var(--shadow)}.stat-card .number{font-size:2rem;font-weight:700}
.article-content{line-height:1.8;color:#4b3e40}.pagination .page-link{color:var(--rose-dark);border-radius:.8rem!important;margin:0 .15rem;border-color:#eadad5}.pagination .page-item.active .page-link{background-color:var(--rose-dark);border-color:var(--rose-dark);color:#fff}
@media(max-width:991.98px){.hero-image{min-height:360px}.detail-gallery-main img{height:360px}.admin-sidebar{min-height:auto;position:relative}}
@media(max-width:575.98px){.hero-card{padding:1.5rem}.section-padding{padding:3.25rem 0}.article-card img,.product-thumb img{height:240px}.thumb-button img{height:90px}}

.soft-info-box{padding:1rem 1.1rem;border-radius:1rem;background:linear-gradient(180deg,#fff8fb,#f9f2ef);border:1px solid #eddcd7}
code{background:#f6efec;padding:.12rem .35rem;border-radius:.35rem;color:#8f5f68}


/* Homepage hero banner slider */
.hero-slider-section{padding:2rem 0 2.5rem}
.hero-carousel{position:relative}
.hero-carousel .carousel-inner{box-shadow:0 25px 65px rgba(57,36,38,.14);border:1px solid rgba(237,222,217,.95);background:#fff6f5}
.hero-slide{position:relative;min-height:640px;display:flex;align-items:stretch}
.hero-slide-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-slide-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,249,247,.96) 0%,rgba(255,248,246,.88) 35%,rgba(255,247,244,.42) 58%,rgba(61,41,43,.18) 100%)}
.hero-slide-content{position:relative;z-index:2;display:flex;align-items:center;width:100%;padding:3.75rem}
.hero-slide-panel{max-width:610px;background:rgba(255,255,255,.72);backdrop-filter:blur(12px);border:1px solid rgba(235,217,210,.95);border-radius:2rem;padding:2.5rem;box-shadow:0 18px 50px rgba(70,40,44,.10)}
.hero-slide-panel .lead{max-width:540px}
.hero-stats .soft-card{background:rgba(255,255,255,.88)}
.btn-soft-light{background:rgba(255,255,255,.72);border-color:rgba(68,48,49,.18)}
.btn-soft-light:hover{background:#fff;border-color:rgba(68,48,49,.3)}
.hero-indicators{margin-bottom:1.2rem}
.hero-indicators [data-bs-target]{width:10px;height:10px;border-radius:50%;border:0;background-color:rgba(182,126,130,.35)}
.hero-indicators .active{background-color:var(--rose-dark)}
.hero-control{width:56px;height:56px;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.7);border-radius:50%;margin:0 1.25rem;opacity:1}
.hero-control .carousel-control-prev-icon,.hero-control .carousel-control-next-icon{filter:invert(.28) sepia(.14) saturate(704%) hue-rotate(304deg) brightness(.92)}
.hero-control:hover{background:#fff}

/* Floating WhatsApp */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:1085;width:60px;height:60px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#25d366,#1faa54);color:#fff;box-shadow:0 18px 38px rgba(16,122,56,.28);transition:transform .2s ease, box-shadow .2s ease}
.wa-float:hover{color:#fff;transform:translateY(-3px) scale(1.02);box-shadow:0 22px 45px rgba(16,122,56,.33)}
.wa-float i{font-size:1.75rem}
.wa-float-label{position:absolute;right:72px;white-space:nowrap;background:#fff;color:#2d2425;border:1px solid #ece0db;border-radius:999px;padding:.55rem .9rem;font-size:.88rem;box-shadow:0 15px 32px rgba(57,36,38,.10);opacity:0;visibility:hidden;transform:translateX(10px);transition:all .2s ease}
.wa-float:hover .wa-float-label{opacity:1;visibility:visible;transform:translateX(0)}

/* Admin banner page */
.table-thumb{width:78px;height:64px;border-radius:1rem;object-fit:cover}
.preview-banner-card{border:1px dashed #e6d4cf;border-radius:1.4rem;padding:1rem;background:linear-gradient(180deg,#fffefd,#fbf4f1)}

@media(max-width:991.98px){
    .hero-slide{min-height:560px}
    .hero-slide-content{padding:2rem}
    .hero-slide-panel{max-width:100%}
}
@media(max-width:575.98px){
    .hero-slider-section{padding-top:1rem}
    .hero-slide{min-height:520px}
    .hero-slide-content{padding:1rem}
    .hero-slide-panel{padding:1.4rem;border-radius:1.5rem}
    .hero-control{display:none}
    .wa-float{right:16px;bottom:16px;width:56px;height:56px}
    .wa-float-label{display:none}
}



/* Scroll-driven UI animation enhancements */
html{scroll-behavior:smooth}
.site-navbar,.admin-topbar,.wa-float,.hero-slide-panel,.product-card,.article-card,.testimonial-card,.icon-card,.soft-card,.account-card,.admin-panel-card,.stat-card{transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,border-color .3s ease}
.site-navbar{background:rgba(255,255,255,.9)!important;backdrop-filter:blur(0)}
body.scrolled .site-navbar{background:rgba(255,255,255,.92)!important;backdrop-filter:blur(14px);box-shadow:0 16px 38px rgba(57,36,38,.08)!important}
body.scrolled .admin-topbar{background:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 18px 40px rgba(57,36,38,.09);border-color:#ebddd8}
body.scrolled .wa-float{box-shadow:0 24px 48px rgba(16,122,56,.34)}
.scroll-animate-static{animation:floatIn .75s cubic-bezier(.22,1,.36,1) both}
body.js-enhanced .reveal-on-scroll{opacity:0;transform:translate3d(0,42px,0) scale(.985);transition-property:opacity,transform;transition-duration:.85s;transition-timing-function:cubic-bezier(.22,1,.36,1);will-change:opacity,transform}
body.js-enhanced .reveal-on-scroll.is-visible{opacity:1;transform:none}
body.js-enhanced .reveal-on-scroll[data-reveal-direction="left"]{transform:translate3d(-46px,0,0) scale(.985)}
body.js-enhanced .reveal-on-scroll[data-reveal-direction="right"]{transform:translate3d(46px,0,0) scale(.985)}
body.js-enhanced .reveal-on-scroll[data-reveal-direction="zoom"]{transform:translate3d(0,34px,0) scale(.94)}
body.js-enhanced .reveal-on-scroll[data-reveal-direction="soft"]{transform:translate3d(0,22px,0)}
body.js-enhanced .reveal-on-scroll.is-visible[data-reveal-direction]{transform:none}
.section-padding,.page-hero,.hero-section,.hero-slider-section{position:relative}
.reveal-on-scroll.is-visible.product-card:hover,.reveal-on-scroll.is-visible.article-card:hover,.reveal-on-scroll.is-visible.testimonial-card:hover,.reveal-on-scroll.is-visible.icon-card:hover,.reveal-on-scroll.is-visible.soft-card:hover,.reveal-on-scroll.is-visible.admin-panel-card:hover,.reveal-on-scroll.is-visible.stat-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(57,36,38,.12)}
.table-responsive .reveal-on-scroll.is-visible:hover{background:rgba(249,238,236,.45)}
.admin-sidebar .nav-link{transition:transform .25s ease,background-color .25s ease,color .25s ease,box-shadow .25s ease}
.admin-sidebar .nav-link:hover{transform:translateX(4px);box-shadow:0 10px 24px rgba(57,36,38,.06)}
@keyframes floatIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

@media(max-width:991.98px){
    body.js-enhanced .reveal-on-scroll{transform:translate3d(0,26px,0) scale(.992)}
    body.js-enhanced .reveal-on-scroll[data-reveal-direction="left"],
    body.js-enhanced .reveal-on-scroll[data-reveal-direction="right"]{transform:translate3d(0,26px,0) scale(.992)}
}
@media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
    body.js-enhanced .reveal-on-scroll{opacity:1!important;transform:none!important}
}
