/* Independent PyFer 3D visual identity: forest green, sage and cream. */
:root{--bg:#f6f7f3;--paper:#fff;--ink:#20342e;--muted:#657263;--green:#173d32;--light:#eef3ed;--lime:#d8ecb1;--line:#e5e8e1;--shadow:0 8px 28px #173d320a;font-family:'Nunito Sans',system-ui,sans-serif}
h1,h2,h3,.brand,.stat-value,.suggested-price{font-family:'Nunito Sans',system-ui,sans-serif}
h1{font-weight:900;letter-spacing:-1.05px}
h2,h3{font-weight:850}
.brand{gap:11px;letter-spacing:-.65px;font-size:26px}
.brand-symbol{width:45px;height:45px;display:block;flex-shrink:0}
.brand .brand-wordmark{display:block;color:var(--green);font-weight:900;line-height:1}
.brand-wordmark strong{display:block;color:var(--green);font-size:26px;font-weight:900;white-space:nowrap}
.brand-wordmark .brand-accent{color:#619275;font-weight:900}
.brand-wordmark small{display:block;font-size:8px;line-height:1.5;font-weight:700;letter-spacing:1.55px;text-transform:uppercase;color:#748775;margin-top:5px}
.sidebar{padding-top:25px}
.sidebar .brand{padding:0 6px}
.sidebar-caption{font-size:9px;padding:16px 11px 28px}
.nav-item{font-size:14px;font-weight:650;border-radius:13px;padding:14px 15px}
.nav-item.active{box-shadow:0 5px 12px #173d3217}
.topbar{background:#fff;border-bottom:1px solid var(--line)}
.breadcrumb{font-size:13px}
.top-actions .btn{font-size:12px}
.btn{font-size:13px;font-weight:750;border-radius:12px}
.btn.secondary{box-shadow:0 2px 5px #173d3205}
.page-heading p{font-size:14px}
.page-heading .eyebrow{font-size:10px;font-weight:800}
.pill{border-radius:99px;font-size:11px;padding:5px 10px;font-weight:750}
.eyebrow{font-weight:800}
.welcome-banner,.catalog-hero,.gate-main,.gate-nav{position:relative;isolation:isolate}
.welcome-banner:after,.catalog-hero:after{content:'';position:absolute;width:540px;height:540px;top:50%;right:-105px;transform:translateY(-50%);border:1px solid #d8ecb11c;border-radius:50%;box-shadow:0 0 0 49px #d8ecb108,0 0 0 98px #d8ecb106,0 0 0 147px #d8ecb105,0 0 0 196px #d8ecb103;z-index:-1;pointer-events:none}
.welcome-banner{border-radius:22px;background:linear-gradient(110deg,#102b24,#173d32 65%,#245240);padding:31px 33px;min-height:172px;margin-bottom:25px;box-shadow:0 8px 25px #173d320e}
.welcome-banner h2{font-size:31px;line-height:1.2;font-weight:900;letter-spacing:-.8px}
.welcome-banner p{font-size:14px;line-height:1.6;color:#c2d3c1;max-width:570px}
.banner-tag{font-size:10px;font-weight:800;letter-spacing:1.6px;color:var(--lime)}
.banner-cube{transform:none;width:76px;height:76px;border-radius:20px;background:#d8ecb10e;border-color:#d8ecb122;margin-right:10px}
.banner-cube .icon{width:45px;height:45px}
.stats{gap:18px}
.stat{border:0;border-radius:17px;padding:20px 21px;box-shadow:var(--shadow)}
.stat-top{font-size:12px;font-weight:650;color:#657563}
.stat-icon{width:38px;height:38px;border-radius:12px;background:#eaf1e4;color:#5f8651}
.stat-icon .icon{width:20px;height:20px}
.stat-value{font-weight:900;font-size:31px;letter-spacing:-.7px}
.stat-sub{font-size:11px;line-height:1.5}
.office-launchers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:0 0 31px}
.office-launcher{border:0;border-radius:17px;background:white;box-shadow:var(--shadow);padding:19px;text-align:left;display:flex;gap:12px;align-items:center;min-height:93px;color:var(--ink);transition:transform .18s,box-shadow .18s}
.office-launcher:hover{transform:translateY(-2px);box-shadow:0 8px 24px #173d3212}
.launcher-icon{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;background:linear-gradient(140deg,#315e48,#173d32);color:#d8ecb1;border-radius:13px}
.launcher-icon .icon{width:25px;height:25px;stroke-width:1.5}
.office-launcher strong{display:block;font-size:14px;font-weight:850;line-height:1.3}
.office-launcher small{display:block;font-size:10px;font-weight:650;color:#76856e;line-height:1.5;margin-top:5px}
.panel{border:0;border-radius:20px;box-shadow:var(--shadow);padding:25px}
.section-label h3{font-size:19px;font-weight:850}
.section-label p{font-size:12px}
.dashboard-grid>.panel:last-child{background:var(--green);color:#f5f7ef;position:relative;overflow:hidden}
.dashboard-grid>.panel:last-child .section-label p{color:#bbceba}
.dashboard-grid>.panel:last-child .section-label>.icon{color:var(--lime)}
.steps{gap:22px}
.step-number{width:31px;height:31px;border:1px solid #b8d79955;background:#d8ecb120;color:var(--lime);font-size:12px;font-weight:850}
.step .text-link{color:#f6f7f3!important;font-size:13px;font-weight:800}
.step p{font-size:12px;line-height:1.5;color:#b8cdb7}
.mini-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.mini-card{display:flex;align-items:center;border:0;border-radius:18px;padding:12px;gap:7px;box-shadow:var(--shadow)}
.mini-card img{width:92px;height:92px;flex-shrink:0;border-radius:13px}
.mini-card-info{padding:6px 12px;min-width:0}
.mini-card h3{font-size:17px;font-weight:850;overflow-wrap:anywhere;line-height:1.3}
.mini-card .price{font-size:14px;font-weight:800;margin-top:7px}
.mini-card .pill{font-size:9px;margin-top:6px}
.search input{border:0;border-radius:99px;min-height:47px;box-shadow:var(--shadow);font-size:14px;padding-left:42px}
.search .icon{top:15px;left:16px;color:#619275;width:17px;height:17px}
.tab{border-radius:99px;font-size:12px;font-weight:750;padding:10px 17px;min-height:42px}
.tab.active{background:#e6eedc;border-color:#d3e2c7;color:#416837}
.product-card{border:0;border-radius:21px;box-shadow:var(--shadow)}
.product-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px #173d3215}
.product-visual{aspect-ratio:1.3}
.product-content{padding:21px 22px}
.product-content .category{font-weight:850;font-size:10px;color:#668458;letter-spacing:1.1px}
.product-content h3{font-size:20px;font-weight:900;line-height:1.25;letter-spacing:-.5px}
.product-description{font-size:13px;line-height:1.7;min-height:43px;color:#657563}
.product-price{font-size:22px;font-weight:900;color:#2c5039}
.product-price small{font-size:10px;font-weight:500}
.add-button{border-radius:11px;font-size:12px;min-height:44px;font-weight:800}
.product-visual .pill{font-size:10px;background:#ffffffdb;color:#627259;backdrop-filter:blur(5px)}
.invite-card,.order-card{border:0;border-radius:19px;box-shadow:var(--shadow);padding:23px}
.invite-name h3,.order-head h3{font-size:17px;font-weight:850}
.invite-meta,.order-head p{font-size:12px}
.order-item{font-size:12px}
.order-foot{font-size:13px}
.order-note{font-size:13px}
.info-note{border:0;border-radius:14px;font-size:12px;padding:16px 19px}
.field label{font-size:13px;font-weight:750}
.field input,.field textarea,.field select{font-size:14px;border-radius:11px;min-height:47px}
.field small{font-size:12px}
.field-with-unit input{padding-right:58px}
.unit{font-size:11px;top:16px}
.form-section-title{font-size:15px;font-weight:850}
.cost-summary{border-radius:22px;background:linear-gradient(130deg,#173d32,#214d3c);overflow:hidden}
.cost-summary .cost-line{font-size:13px}
.cost-summary .cost-formula{font-size:12px}
.suggested-price{font-size:48px;font-weight:900}
.empty h3{font-size:16px;font-weight:850}
.empty p{font-size:13px}
.text-link{font-size:12px;font-weight:800}
.catalog-topbar{height:96px;background:var(--green);border-color:#d8ecb119}
.catalog-topbar .brand-wordmark strong,.gate-nav .brand-wordmark strong{color:#f6f7f3}
.catalog-topbar .brand-wordmark .brand-accent,.gate-nav .brand-wordmark .brand-accent{color:var(--lime)}
.catalog-topbar .brand-wordmark small,.gate-nav .brand-wordmark small{color:#a9c6a2}
.catalog-links>span{font-size:13px;color:#b9cbb5}
.catalog-links .icon-btn{color:#ccddbf}
.catalog-links .icon-btn:hover{background:#ffffff12;color:white}
.catalog-topbar .btn.secondary{background:#f6f7f3;border-color:transparent}
.catalog-main{padding-top:30px}
.catalog-hero{background:linear-gradient(120deg,#102b24,#173d32 65%,#245240);color:#f6f7f3;border-radius:24px;padding:39px 41px;min-height:220px}
.catalog-hero h1{font-size:42px;max-width:600px;line-height:1.13;letter-spacing:-1.1px;font-weight:900}
.catalog-hero .eyebrow{color:var(--lime);font-size:10px;font-weight:800}
.catalog-hero p{color:#bfceba;max-width:480px;font-size:14px;line-height:1.7}
.catalog-hero-art{width:96px;height:96px;transform:none;flex-shrink:0;background:#d8ecb10d;border:1px solid #d8ecb127;border-radius:24px;margin-right:30px}
.catalog-hero-art .icon{width:61px;height:61px;color:var(--lime);stroke-width:1.1}
.catalog-main .toolbar{margin-top:28px;margin-bottom:27px}
.catalog-bottom-note{font-size:12px}
.preview-strip{font-size:11px;background:#102b24;border-bottom:1px solid #ffffff12}
.gate{background:linear-gradient(130deg,#102b24,#173d32 65%,#214d3c);color:#f6f7f3;overflow:hidden;position:relative;isolation:isolate}
.gate:before{content:'';position:absolute;z-index:-1;pointer-events:none;top:-210px;right:-220px;width:900px;height:900px;border-radius:50%;border:1px solid #d8ecb11b;box-shadow:0 0 0 74px #d8ecb108,0 0 0 148px #d8ecb107,0 0 0 222px #d8ecb106,0 0 0 296px #d8ecb105,0 0 0 370px #d8ecb104}
.gate-nav{padding-top:30px;padding-bottom:30px}
.gate-nav .btn.secondary{background:#f6f7f3;color:var(--green);border:0}
.gate-main{padding-top:40px;gap:62px}
.gate-copy .eyebrow{color:#c5d8ac;font-size:10px}
.gate-copy .eyebrow:before{background:#b8d091}
.gate-copy h1{font-size:65px;letter-spacing:-2.4px;font-weight:900;line-height:1.06}
.gate-copy h1 em{color:var(--lime)}
.gate-copy>p{color:#b5cbb2;font-size:16px;line-height:1.8;max-width:470px}
.gate-invitation{background:#ffffff08;border:1px solid #d8ecb123;color:#b8cbb3;border-radius:17px;font-size:13px;max-width:440px;line-height:1.7}
.gate-invitation .icon{color:var(--lime)}
.gate-invitation strong{color:#e2edce;font-size:15px;font-weight:850}
.gate-copy>.text-link{color:#d8ecb1;margin-top:10px;font-size:13px}
.gate-art{background:#e9eedf;border-radius:27px;height:390px;box-shadow:0 25px 55px #071c1944}
.gate-art .art-vase{border-radius:17px;width:60%;top:5%;left:5%;transform:rotate(-6deg)}
.gate-art .art-planter{border-radius:17px;width:48%;bottom:5%;right:-3%;transform:rotate(6deg)}
.gate-orbit{right:17px;top:19px;background:#ffffff5c;border:0;width:70px;height:70px;border-radius:18px}
.gate-orbit .icon{width:38px;height:38px;color:#668652}
.gate-art .art-label{border-radius:12px;background:#fffffff0;bottom:19px;left:17px;font-size:11px;color:#617458;padding:15px 18px}
.art-label strong{font-size:14px;font-weight:850}
.gate-footer{background:#f6f7f3;color:#62745c;font-size:12px;padding-top:23px;padding-bottom:23px;border:0}
.footer{font-size:11px;line-height:1.6}
.modal{border-radius:23px}
.modal-head h2{font-size:25px;font-weight:900}
.modal-head p{font-size:13px}
.modal-detail-description{font-size:14px}
.cart-item h3{font-size:15px;font-weight:850}
.cart-item-info>p{font-size:12px}
.checkout-note{font-size:12px}
.admin-row h3{font-size:14px;font-weight:850}
.admin-row p{font-size:12px}
.order-contact{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding:10px 10px 10px 14px;border-radius:13px;background:var(--light);font-size:14px;font-weight:800}
.order-contact>span{display:inline-flex;align-items:center;gap:8px}
.whatsapp-btn .icon,.order-contact>span .icon{color:#1f8f4e}
.order-contact .whatsapp-btn{min-height:40px;padding:8px 14px}
.invite-actions{flex-wrap:wrap;justify-content:flex-start}.invite-actions .btn.ghost{margin-left:auto}
.modal-actions .btn.whatsapp-btn .icon{color:var(--lime)}
.invite-ready{background:#ffffff0d;border-color:#d8ecb155}
.invite-ready .btn{margin-top:16px;width:100%}
.invite-ready .btn .icon{color:var(--green);width:17px;height:17px;margin:0}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.media-drop{position:relative;border:1.5px dashed #c5d4b0;background:#f6f8f1;border-radius:14px;padding:20px;display:flex;align-items:center;gap:16px;color:#6f8064;transition:background .15s,border-color .15s}
.media-drop.dragging{background:#eaf3dc;border-color:var(--green)}
.media-drop>.icon{width:30px;height:30px;color:#78966a}
.media-drop p{font-size:13px;line-height:1.6}
.media-drop strong{display:block;color:var(--green);font-size:14px}
.media-drop .text-link{display:inline;padding:0;font-size:13px}
.media-drop .media-hint{color:var(--muted);font-size:12px;margin-top:4px}
.media-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;margin-top:12px}
.media-list:empty{display:none}
.media-thumb{position:relative;border-radius:12px;overflow:hidden;background:#f1f2ea;border:1px solid var(--line);aspect-ratio:1}
.media-thumb img,.media-thumb video,.gallery-thumb img,.gallery-thumb video{width:100%;height:100%;object-fit:cover;display:block}
.media-badge{position:absolute;left:6px;top:6px;display:inline-flex;align-items:center;gap:4px;background:#173d32d9;color:#fff;border-radius:6px;padding:3px 7px;font-size:10px;font-weight:800}
.media-badge.cover{background:var(--lime);color:var(--green)}
.media-badge .icon,.media-count .icon{width:11px;height:11px;fill:currentColor}
.media-thumb-actions{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:4px;background:linear-gradient(transparent,#0000005c)}
.media-thumb-actions .icon-btn{width:30px;height:30px;background:#ffffffeb;color:var(--ink);border-radius:8px}
.media-thumb-actions .icon-btn .icon{width:15px;height:15px}
.media-thumb-actions .icon-btn:disabled{opacity:.35;cursor:default}
.media-count{position:absolute;right:13px;bottom:13px;display:inline-flex;align-items:center;gap:5px;background:#ffffffdb;color:#4d5f47;border-radius:7px;padding:4px 8px;font-size:11px;font-weight:700;backdrop-filter:blur(5px);pointer-events:none}
video.modal-detail-image{background:#000;max-height:360px}
.gallery-thumbs{display:flex;gap:8px;overflow-x:auto;margin:-8px 0 18px;padding-bottom:4px}
.gallery-thumb{position:relative;flex:0 0 64px;height:64px;border-radius:10px;overflow:hidden;border:2px solid transparent;padding:0;background:#f1f2ea}
.gallery-thumb.active{border-color:var(--green)}
.gallery-thumb .media-badge{left:4px;top:4px;padding:3px}

@media(max-width:1200px){
  .brand-symbol{width:42px;height:42px}.brand-wordmark strong{font-size:24px}.brand-wordmark small{font-size:7px;letter-spacing:1.3px}
  .office-launchers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gate-copy h1{font-size:54px}.gate-copy>p{font-size:15px}.gate-main{gap:38px}
  .mini-card{gap:4px}.mini-card-info{padding:5px 9px}.mini-card h3{font-size:15px}.mini-card img{width:78px;height:78px}
}
@media(max-width:950px){
  .gate-copy h1{font-size:47px}.gate-art{height:320px}.gate-copy>p{font-size:14px}
  .mini-card img{width:75px;height:75px}
  .product-content h3{font-size:18px}.product-content{padding:19px}
  .catalog-hero h1{font-size:36px}.catalog-hero-art{margin-right:0}
}
@media(max-width:700px){
  .brand{gap:9px}.brand-symbol{width:40px;height:40px}.brand-wordmark strong{font-size:23px}.brand-wordmark small{font-size:7px;letter-spacing:1.1px}
  .sidebar .brand-wordmark strong{font-size:25px}
  .sidebar .brand-symbol{width:45px;height:45px}
  .topbar{height:73px;padding:0 15px}.breadcrumb{font-size:12px;min-width:0}.breadcrumb strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .top-actions .btn{font-size:11px;white-space:nowrap;padding:10px;gap:5px}
  .page{padding-top:25px}.page-heading h1{font-size:29px;line-height:1.18}.page-heading p{font-size:13px;line-height:1.6}
  .welcome-banner{padding:28px 25px;min-height:185px;border-radius:20px}
  .welcome-banner h2{font-size:29px;max-width:260px}.welcome-banner p{font-size:13px;max-width:245px}
  .banner-cube{width:50px;height:50px;right:17px;bottom:17px;border-radius:14px;opacity:.55}.banner-cube .icon{width:31px;height:31px}
  .welcome-banner:after,.catalog-hero:after{width:340px;height:340px;right:-160px}
  .stats{gap:13px}.stat{padding:17px 16px}.stat-top{font-size:11px;gap:8px}.stat-icon{width:29px;height:29px;border-radius:9px;flex-shrink:0}.stat-icon .icon{width:16px;height:16px}
  .stat-value{font-size:30px}.stat:last-child .stat-value{font-size:clamp(18px,4.4vw,26px)}
  .office-launchers{gap:12px;margin-bottom:26px}.office-launcher{padding:15px 12px;gap:9px;min-height:94px}.launcher-icon{width:35px;height:35px;border-radius:11px}.launcher-icon .icon{width:20px;height:20px}.office-launcher strong{font-size:13px}.office-launcher small{font-size:10px}
  .mini-products{grid-template-columns:1fr}.mini-card{padding:12px;gap:12px}.mini-card img{width:85px;height:85px}.mini-card h3{font-size:19px}.mini-card-info{padding:0}
  .panel{padding:22px}.section-label h3{font-size:18px}.section-label p{font-size:12px}
  .product-grid{gap:14px}.product-content{padding:15px}.product-content h3{font-size:16px;line-height:1.25}.product-description{font-size:12px}.product-price{font-size:20px}.product-bottom{gap:10px;flex-wrap:wrap}.add-button{font-size:11px;min-height:44px}
  .search input{font-size:16px}.tabs{gap:5px}.tab{font-size:12px;padding:9px 13px;min-height:44px}
  .product-visual{aspect-ratio:1.03}.product-visual .pill{font-size:9px;padding:4px 8px}
  .catalog-topbar{height:84px;padding:0 17px}.catalog-topbar .brand{gap:8px;font-size:23px}.catalog-topbar .brand-symbol{width:40px;height:40px}.catalog-topbar .brand-wordmark strong{font-size:23px}.catalog-topbar .brand-wordmark small{font-size:6px;letter-spacing:1.1px}
  .catalog-links .btn{min-height:44px;padding:10px}.catalog-cart-btn{gap:5px}
  .catalog-hero{padding:29px 27px;min-height:245px}.catalog-hero h1{font-size:35px;max-width:290px}.catalog-hero p{font-size:13px;max-width:260px}.catalog-hero-art{opacity:.22;bottom:10px;right:13px;width:67px;height:67px;border-radius:19px}.catalog-hero-art .icon{width:42px;height:42px}
  .preview-strip{font-size:10px;padding:7px 14px}.preview-strip button{font-size:10px}
  .catalog-bottom-note{font-size:11px}
  .gate-nav{padding:23px 22px}.gate-nav .btn{font-size:11px;padding:11px 12px}
  .gate-main{grid-template-columns:1fr;padding:24px 27px 39px;gap:34px}.gate-copy h1{font-size:51px;max-width:400px;letter-spacing:-1.65px}.gate-copy>p{font-size:15px}.gate-copy .eyebrow{font-size:9px}
  .gate-invitation{font-size:13px}.gate-invitation strong{font-size:14px}.gate-art{height:330px;width:calc(100% - 5px);max-width:405px}.gate:before{width:550px;height:550px;right:-380px;top:-40px}.gate-footer{font-size:11px;padding:22px 25px}
  .field input,.field select,.field textarea,.order-foot select{font-size:16px}.field label{font-size:13px}.field small{font-size:12px}.unit{top:17px}
  .invite-card,.order-card{padding:21px}.order-foot{flex-wrap:wrap;gap:13px}.order-head{gap:12px}.order-head .pill{font-size:10px;flex-shrink:0}.order-head h3{font-size:17px}
  .cost-summary{padding:28px}.suggested-price{font-size:44px}.modal{padding:24px}.modal-head h2{font-size:25px}.modal-head p{font-size:13px}.cart-item h3{font-size:14px}.cart-item img{width:66px;height:66px}
}
@media(max-width:380px){
  .brand-symbol{width:35px;height:35px}.brand-wordmark strong{font-size:21px}.brand-wordmark small{font-size:6px}.gate-nav{padding:21px 16px}.gate-nav .btn{font-size:10px;padding:10px}.gate-main{padding:22px 22px 35px}.gate-copy h1{font-size:46px}
  .catalog-topbar{padding:0 14px}.catalog-topbar .brand-wordmark strong{font-size:21px}.catalog-topbar .brand-symbol{width:36px;height:36px}.catalog-links{gap:1px}.catalog-links .btn{padding:9px}.catalog-cart-btn{min-width:65px}
  .product-content{padding:13px}.product-content h3{font-size:15px}.product-price{font-size:18px}.product-description{font-size:12px}.office-launcher{flex-direction:column;align-items:flex-start;gap:10px;padding:16px}.stat-top{font-size:10px}.welcome-banner h2{font-size:27px}
  .extra-row{grid-template-columns:minmax(0,1fr) 82px 44px;gap:7px}
}
@media(max-width:700px){
  .media-drop{flex-direction:column;align-items:flex-start}
  .media-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
