/* ||||||||||||||||||||||||||||| Main CSS v1.1 ||||||||||||||||||||||||||||| */


/* ||||||||||||||||||||||||||||| GLOBAL RESET & TYPOGRAPHY ||||||||||||||||||||||||||||| */

* {
    box-sizing: border-box;
}

/* |||||||| MOBILE FIRST |||||||||||| */

body {
    margin: 0;
    padding: 0;
    font-family: Roboto, Tahoma, sans-serif;
    font-size: 10px;
    color: #333;
    letter-spacing: 0.3px;
        line-height: 22px;

}

a { 

text-decoration: none;
	  color: inherit; 

}

a:hover { text-decoration: underline; text-underline-offset: 5px;}

    p{ 
        font-family: Roboto, Tahoma, sans-serif;
	font-size: 11pt;

 }

/* Desktop typography */

@media (min-width: 900px) {

    body {
	    letter-spacing: 0.8px;    
        line-height: 26px;
	}
	

    p{ 
        font-family: Tahoma, sans-serif;
	font-size: 12pt;
 }

}
/* |||||||||||||||||||||||||||||  UNIVERSAL FLUID CONTAINER ||||||||||||||||||||||||||||| */

.container {
    width: min(95%, 1400px);   /* fluid + max width */
    margin: 0 auto;
}

/* ||||||||||||||||||||||||||||| TOP MENU ||||||||||||||||||||||||||||| */

.top-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 25px;
}

.top-menu a {
    font-size: 20px;
    font-weight: 400;
    color: #333;
}

/* ||||||||||||||||||||||||||||| PARAGRAPHS & HEADINGS ||||||||||||||||||||||||||||| */

p {
    margin: 0 0 18px 0;
}

h1 {
  font-size: 22px;              /* clearer than 15pt */
  font-weight: 500;             /* sharper than "normal" */
  font-family: Tahoma, sans-serif;
  color: #444;                  /* slightly darker for visibility */
  letter-spacing: -0.5px;       /* subtle tightening, not too compressed */
  line-height: 1.25;            /* improves readability */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.h1-style {
font-size: 14pt;              /* clearer than 15pt */
  font-weight: normal;             
  font-family: Tahoma, sans-serif;
  color: #555;                  /* slightly darker for visibility */
  letter-spacing: 0.5px;       /* subtle tightening, not too compressed */
  line-height: 1.25;            /* improves readability */
  font-style: normal;

}

h2 {
    font-size: 13pt;
    font-weight: bold;
    font-family: Tahoma, sans-serif;
    font-style: italic;
    color: #555;
}

.h2-style{
    font-size: 12pt;
  font-weight: normal;             
  font-family: Tahoma, sans-serif;
  letter-spacing: 0.5px;       /* subtle tightening, not too compressed */
  line-height: 1.25;
    font-style: normal;
}

.h2-style-index{
  font-size: 14pt;
  font-weight: normal;             
  font-family: Tahoma, sans-serif;
  letter-spacing: 0.5px;       /* subtle tightening, not too compressed */
  line-height: 1.25;
    font-style: normal;
}


h3 {
    font-size: 14pt;
    font-family: Tahoma, sans-serif;
    font-weight: bold;
    font-style: italic;
}

/* IS A FOOTER FONT */

footer h3 {
    font-size: 12pt;
    font-family: Tahoma, sans-serif;
    font-weight: bold;
    font-style: normal;
}

h4 {
    font-size: 12pt;
    font-family: Tahoma, sans-serif;
    font-weight: normal;
}

.h4-text {
    font-size: 12pt;
    font-family: Tahoma, sans-serif;
    font-weight: normal;
}

h5 {
    font-family: Tahoma, sans-serif;
    font-size: 12pt;
    font-weight: normal;
    margin: 0;
    padding: 0;
}

.h5-style {
    font-family: Tahoma, sans-serif;
    font-size: 11pt;
    font-weight: normal;
    font-style: normal;
    margin: 0;
    padding: 0;

}

a:hover h5{

          text-decoration: underline;
}

h6 {
    font-size: 12pt;
    font-weight: normal;
    color: #222;
}

/* ||||||||||||||||||||||||||||| HEADER ||||||||||||||||||||||||||||| */

.site-header {
    width: 100%;
    background: transparent; /* show body background */
    display: flex;
    justify-content: center;
}

.header-container {
    background: #ffffff;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    line-height: 22px;

    margin-top: 20px;

}

/* Logo */
.logo-area {
    display: flex;
    gap: 15px;
    margin-left: 20px;
}

.logo-area img {
    max-height: 80px;
    width: auto;
}

/* |||||||||||||||| LANGUAGE TOP NAV |||||||||||||||| */

.language-nav {
    margin-top: 70px;
    margin-right: 20px;
   margin-bottom: 20px;
    display: flex;
    align-items: center; 
}

.language-nav ul {
    list-style: none;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

.language-nav a {
       font-size: 15px;
    font-family: "Roboto Condensed", Tahoma, sans-serif;
    font-size: 20px;
    letter-spacing: 0.3px;
    color: #333;
}

.language-nav img{
    width: 17px;
    height: 17px;
    margin-top: 3px; 
    margin-left: 10px;
}


/* |||||||||||||||| MOBILE HEADER |||||||||||||||| */

        @media (max-width: 600px) {
    
	.header-container {
        flex-direction: column;
        text-align: center;
        width: 100%;
	margin-top: 0px;
    }

    .logo-area {
        flex-direction: column;
        margin-bottom: 10px;
        margin-left: 0px;
    }

    .logo-area img {
        width: 280px;
        max-width: 95%;
    }

    .language-nav {
        margin-top: 20px;
        margin-right: 0px;
        margin-bottom: 1px;
    }

    .language-nav a{
        font-size: 16px;
    letter-spacing: 0.3px;
    }

/* INDEX PAGE NAV FONT */

    .language-nav .index-a{
    font-family: "Roboto Condensed", Tahoma, sans-serif;
    font-size: 16px;
    letter-spacing: 0.3px;
    }

   .language-nav ul {
    list-style: none;
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    }

    .language-nav img{
    margin-top: 3px;
    width: 16px;
    height: 16px;
    margin-left: 5px;

	}
}

/* |||||||||||||||||||||||||||||  FOOTER ||||||||||||||||||||||||||||| */

footer {
    width: 100%;
    background: transparent; 
    display: flex;
    justify-content: center;
    padding: 60px 0 40px 0;
    position: relative;
}

.footer-inner {
    width: min(95%, 1400px);
    background-color: rgba(131, 143, 167, 0.90); 
    color: white;
    padding: 20px 40px;
    text-align: left;
    font-size: 12pt;
    line-height: 22px;
}

.footer-upper {
    width: min(95%, 1400px);
    background-color: rgba(131, 143, 167, 0.50); 
    color: white;
    padding: 20px 40px;
    text-align: left;
    font-size: 12pt;
    line-height: 22px;
}



/* |||||||||||||||||||||||||| MOBILE FOOTER |||||||||||||||||||||||||| */

    @media (max-width: 600px) {

  .footer-inner {
    width: 100%;
    background-color: rgba(131, 143, 167, 0.90);
    padding: 20px 10px;
    font-size: 14px; /* clearer than 10pt */
  }

  /* MOBILE TYPOGRAPHY */

  h1, h2, h3, h4, h5, h6 {
    font-family: Roboto, Tahoma, sans-serif;
    line-height: 1.3;          /* improves readability */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  h1 {
    font-size: 16px;
    font-weight: 500;          /* cleaner than "normal" */
         letter-spacing: 0.1px;
  }

  h2 {
    font-size: 16px;
    font-weight: 500;
  }

  h3 {
    font-size: 16px;
    font-weight: 600;          /* bold but not too heavy */
  }

  h4 {
    font-size: 15px;
    font-weight: 400;
  }

  h5 {
    font-size: 15px;
    font-weight: 400;
  }

  h6 {
    font-size: 13px;
    font-weight: 400;
  }

}


/* ||||||||||||||||||||||||||||| SOCIAL ICONS ||||||||||||||||||||||||||||| */

.social-grid {
    width: min(95%, 1200px);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.social-item {
   align-items: center;
    width: 80px;
    text-align: center;
    font-size: 11pt;

}

.social-item img {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

@media (max-width: 600px) {
    .social-item {
    width: 20%;
    font-size: 11pt;
    }

.social-item img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

}

.social-item p {

    margin: 4px 0;
}

.social-item p a {
    color: white;
}


/* ||||||||||||||||||||||||||||| BG IMAGES ||||||||||||||||||||||||||||| */

/* Default fallback */
body {
    background: #ffffff;
}

/* Home page background */
body.page-home {
    background: url('https://www.flora-sg.com/images/bg-home.jpg') no-repeat center top fixed;
    background-size: cover;
}

/* Company page background */
body.page-company {
    background: url('https://www.flora-sg.com/images/bg-company.jpg') no-repeat center top fixed;
    background-size: cover;
}

/* Services page background */
body.page-services {
    background: url('https://www.flora-sg.com/images/bg-services.jpg') no-repeat center top fixed;
    background-size: cover;
}

/* Contact page background */
body.page-contact {
    background: url('https://www.flora-sg.com/images/bg-contact.jpg') no-repeat center top fixed;
    background-size: cover;
}

/* Fresh herbs background */
body.fresh-herbs-catalog {
    background: url('https://www.flora-sg.com/images/bg-fresh-herbs.jpg') no-repeat center top fixed;
    background-size: cover;
}

/* Cut flowers background */
body.cut-flowers-catalog {
    background: url('https://www.flora-sg.com/images/bg-cut-flowers.jpg') no-repeat center top fixed;
    background-size: cover;
}

/* Contact background */
body.page-contact {
    background: url('https://www.flora-sg.com/images/bg-contact.jpg') no-repeat center top fixed;
    background-size: cover;
}

/* Other products background */
body.other-products-catalog {
    background: url('https://www.flora-sg.com/images/bg-other-products.jpg') no-repeat center top fixed;
    background-size: cover;
}

/* Fresh cut foliage background */
body.fresh-cut-foliage {
    background: url('https://www.flora-sg.com/images/bg-fresh-cut-foliage.jpg') no-repeat center top fixed;
    background-size: cover;
}

/* Vegetables background */
body.fresh-vegetables-catalog {
    background: url('https://www.flora-sg.com/images/bg-fresh-vegetables.jpg') no-repeat center top fixed;
    background-size: cover;
}

/* Microgreens shoots background */
body.microgreens-shoots-catalog {
 background: url('https://www.flora-sg.com/images/bg-microgreens-shoots.jpg') no-repeat center top fixed;
    background-size: cover;
}

/* |||||||||||||||||||||||||| NAVIGATION DOTS |||||||||||||||||||||||||| */

    @media (min-width: 900px) {
    .big-dot {
	font-weight: bold;
        font-size: 20px;
	line-height: normal;
	color: #777;
    }
}
    @media (max-width: 600px) {
        .big-dot {
        font-size: 18px; /* default size on mobile */
	line-height: normal;
	color: #777;
        }
    }

/* |||||||||||||||||||||||||| GENERAL PAGE WRAPPER |||||||||||||||||||||||||| */

.main-wrapper {
    width: min(95%, 1400px);
    margin: 0 auto;
    background: #ffffff;
    padding: 15px 40px;

}

.main-wrapper .container {
    /* matches header/footer container width automatically */

}

.main-wrapper section {
}

@media (max-width: 600px) {
    
    .main-wrapper {
        width: 100%;
        padding: 0px 10px; /* optional but recommended */
    }

    .main-wrapper section {
        margin-bottom: 25px;
    }
}

/* |||||||||||||||||| CATEGORIES WITH ICONS |||||||||||||||| */

.main-categories {
    max-width: 950px;        /* controls left/right margins */
    margin: 50px auto;        /* centers the whole grid */
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; /* keeps 6 items evenly spaced */
    gap: 20px;
}

.category-item {
    width: calc(16.66% - 20px); /* 6 items per row */
    text-align: center;
}

.category-item img {
    width: 50px;
    height: 50px;
    object-fit: contain;
    margin-bottom: 10px;
}

.category-item span {
    display: block;
    font-size: 14px;
    line-height: 20px;
}

.category-item-wide {
    width: calc(16.66% - 20px); /* 6 items per row */
    text-align: center;
}


.category-item-wide img {
    width: 100px;
    height: auto;
    object-fit: contain;
    margin-bottom: 10px;
}

.category-item-wide span {
    display: block;
    font-size: 14px;
    line-height: 20px;
}

@media (max-width: 600px) {

    .main-categories {
        display: grid;
        grid-template-columns: repeat(3, 1fr); /* 3 equal columns */
        gap: 20px 12px; /* row gap 20px, column gap 12px */
        max-width: 950px;
        margin: 40px auto;
        text-align: center;
        justify-items: center; /* center each item in its cell */
    }

    .category-item {
        width: auto;          /* reset desktop width */
        margin: 0;            /* remove extra spacing */
    }

    .category-item a {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-decoration: none;
    }

    .category-item img {
        width: 40px;
        height: 40px;
        margin-bottom: 6px;
    }

    .category-item h3,
    .category-item span {
        font-size: 14px;
        line-height: 16px;
    }

/* ||||||||||||||| CATEGORY WIDE ||||||||||||||||||||||| */


    .category-item-wide {
        width: auto;          /* reset desktop width */
        margin: 0;            /* remove extra spacing */
    }

    .category-item-wide a {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-decoration: none;
    }

    .category-item-wide img {
        width: 80px;
        height: 80px;
        margin-bottom: 6px;
    }

    .category-item-wide h3,
    .category-item span {
        font-size: 14px;
        line-height: 16px;
    }

}

/* ||||||||||||||| CATEGORY LINED ||||||||||||||||||||||| */


.category-item-lined a {
    display: flex;
    align-items: center;
    gap: 12px;              /* space between icon and text */
    padding: 8px 0;
    text-decoration: none;  /* optional: remove underline */
}

.category-item-lined img {
    width: 75px;            /* adjust icon size */
    height: 75px;
    object-fit: cover;      /* keeps JPG icons clean */
}

.category-item-lined h3 {
    margin: 0;              /* remove default spacing */
}


/* ||||||||||||||||||||| PAGE BANNER ||||||||||||||||||| */

.main-banner {
    width: 100%;
    margin-bottom: 30px;
}

.main-banner img {
    width: 100%;
    height: 100px;        /* mobile height */
    object-fit: cover;    /* fills the area without distortion */
    display: block;
    border-radius: 3px;   /* optional, matches modern design */
}

@media (min-width: 900px) {
    .main-banner img {
        height: 200px;    /* desktop height */
    }
}

/* REDUCE TEXT WIDTH */

.main-wrapper p,
.main-wrapper h1,
.main-wrapper h2,
.main-wrapper h3 {
    max-width: 750px;   /* perfect reading width */
    margin-left: auto;
    margin-right: auto;
}


/* |||||||||||||||||||||||||| HOME LAYOUT MOBILE |||||||||||||||||||||||||| */

@media (max-width: 600px) {
    .home-layout {
    flex-direction: column;
    gap: 20px;
    }

.col-left {
   display: none;
}

.col-main {
   margin-bottom: -70px;
}

.col-facts {
   max-width: auto;
    margin-top: -70px !important;
    }
}

/* |||||||||||||| HOME LAYOUT |||||||||||||| */

.home-layout {
    display: flex;
    gap: 40px;
    margin: 20px auto;
    max-width: 1400px;
}

/* Left empty column */
.col-left {
flex: 0 0 10%;
}

/* Main text column */
.col-main {
    flex: 1 1 auto;
    margin-bottom: 70px;
    max-width: 920px;
}

/* Quick facts column */
.col-facts {
    flex: 0 0 15%;
    display: flex;
    justify-content: flex-start;
    margin-right: 1px; 
    margin-top: 20px;
}

.col-facts.disabled {
    display: none;
}

/* Override global centering inside the main column */
.col-main h1,
.col-main p,
.col-main h2,
.col-main h3 {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

/* ||||||||||||||||||| QUICK FACTS DESIGN |||||||||||||||||| */

/* Container for the quick facts box */
.quick-facts {
    font-family: Tahoma, sans-serif;
    font-style: normal;
    color: #555;          /* soft, unobtrusive */
    line-height: 1.7;
    margin: 0;
    padding: 0;
}

/* The fact text itself */
#fact-box {
    color: #666;
    margin-top: 12px;
    margin-bottom: 0;
    font-weight: normal;
    line-height: 1.5;
    font-size: 10pt;
}

.quick-facts h3 {
    font-family: Tahoma, sans-serif;
    font-size: 11pt;
         letter-spacing: 0.1px;
    font-style: italic;
    font-weight: bold;
    margin-bottom: 6px;
    color: #444;
}

.quick-facts h3::after {
    content: '';
    margin-left: 4px;
    animation: dots 5s steps(5, end) infinite;
}

@keyframes dots {
    0%   { content: ''; }
    20%  { content: '.'; }
    40%  { content: '..'; }
    90% { content: '..'; }
    100% { content: ''; }
}

/* ||||||||||||||||||| LANDING PAGE DESIGN ||||||||||||||||||| */

.landing-wrapper {
    width: 100%;
    display: flex;
    flex-direction: column;

    /* FIX: allow children to reach full width */
    align-items: stretch;
}

.landing-item {
    width: 100%;
    display: flex;
    flex-direction: column;

    /* FIX: allow banner to expand to full width */
    align-items: stretch;

    text-align: center;
    margin-bottom: 10px;
}

/* ||||||||||||||| INDEX BANNERS |||||||||||||||||| */

.index-banner {
    width: min(95%, 1400px); /* EXACT match to footer */
    display: block;
    margin: 0 auto;
    border-radius: 5px;
    border: 0;
    height: auto;
}

.lang-links {
    width: min(95%, 1400px);   /* match banner width */
    margin: 10px auto 0 auto;  /* center horizontally */
    text-align: center;
    font-size: 13px;
    color: #333;
    padding: 0;
}

.lang-links a {
    text-decoration: none;
    color: #333;
}

.lang-links a:hover {
    text-decoration: underline;
}


@media (min-width: 900px) {

	.lang-links {
	 font-size: 16px;
         letter-spacing: 0.3px;
	}

	.landing-item {
	margin-bottom: 50px;
 }
}

@media (max-width: 600px) {

	.lang-links {
	
         font-size: 11px;
         letter-spacing: 0.1px;
         line-height: 1.1;
	
        font-style: italic;
	margin-top: 5px;
        background-color: #f5f5f5;   /* soft eff2ec */
        padding: 6px 1px;           /* small padding for breathing room */
        border-radius: 1px;         /* optional: rounded corners */
        display: inline-block; 
}

	.landing-item {
	margin-bottom: 20px;
 }

.lang-links a:hover {
    text-decoration: none;
 }

}

.sep {
    padding: 0 1px;
    font-size: 14px;
    font-weight: bold;
}

.sep.green { color: #87A800; }
.sep.orange { color: #FF7600; }
.sep.pink { color: #DE2159; }
.sep.lime { color: #33CC33; }
.sep.blue { color: #336699; }

.banner-box {
    width: min(95%, 1400px);
    margin: 0 auto;
    height: 200px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/*||||||||||||| BACK TO TOP ARROW ||||||||||||||||*/

.footer-inner {
    position: relative; /* enables absolute positioning inside */
}

.back-to-top {
    position: absolute;
    right: 20px;
    bottom: 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 20px;
    font-weight: normal;
    color: white;
    text-decoration: none;
}

.back-to-top:hover {
    font-weight: normal;
    text-decoration: none;
    color: #333;
}

/* ||||||||||||||| CATALOG TABLE ||||||||||||||| */

td.green {

font-size: 14px;
font-weight: normal;
border:1px dotted #333;
height:auto;
width:20%;
padding: 10px;

	}

td.green a{

text-decoration: underline dashed;
          text-underline-offset: 5px;
          text-decoration-thickness: 1px;
          display: inline-flex;
}

td.green a:hover{
text-decoration: underline;
}


@media (max-width: 600px) {

    table {
        border-collapse: collapse;
        table-layout: auto !important;   /* let browser size columns naturally */
        width: auto !important;          /* allow table to grow wider than screen */
    }

    td.green {
        white-space: nowrap;             /* prevents breaking words */
        font-size: 14px;
        padding-top: 12px;
        padding-bottom: 12px;
        border: 1px dotted #333;
    }
}

/* ||||||||||||||| LINK STYLES |||||||||||||||||||||| */

a.dashed-link{ text-decoration: underline dashed;
          text-underline-offset: 5px;
          text-decoration-thickness: 1px;
          display: inline-flex;
}

a.dashed-link:hover{ text-decoration: underline;
          text-underline-offset: 5px;
          text-decoration-thickness: 1px;
          display: inline-flex;
}


/* |||||||||||||||||||||| ARROW ||||||||||||||||||| */


/* Show on mobile */
@media (max-width: 900px) {
.floating-arrow {
    position: fixed;
    right: 25px;
    top: 500px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(130, 191, 75, 0.15);
    backdrop-filter: blur(4px);
    display: none; /* visible initially */
    align-items: center;
    justify-content: center;
    z-index: 999;
    transition: 0.25s ease;
}

.floating-arrow .arrow {
    font-size: 28px;
    color: #82bf4b;
    font-weight: normal;
    line-height: 1;
	}
}

@media (min-width: 901px) {
    .floating-arrow {
        display: none !important;
    }
}

.iframe-style {
    width: 320px;            /* Width of the iframe */
    height: 670px;          /* Height of the iframe */
    border: none;           /* No border */
    margin: 1px;            /* Margin around the iframe */
    float: left;            /* Aligns the iframe to the left */
    overflow: hidden;       /* Disables scrolling */
}

/* |||||||||||||||| CONTACT FORM |||||||||||||||||| */

.contact-form {
  max-width: 400px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 14px;
}

.contact-form input,
.contact-form textarea {
  padding: 8px;
  width: 100%;
  box-sizing: border-box;
  font-size: 14px;
}

.contact-form button {
  padding: 14px;
  font-size: 16px;
  border-radius: 3px;
  border: 0;
  color: black;
  background: #b3d892;
  cursor: pointer;
}

.form-status {
  max-width: 400px;
    padding: 15px 20px;
    border-radius: 6px;
    margin-bottom: 20px;
    font-size: 14px;
}

.form-status.success {
  max-width: 400px;
    background: #b3d892;
    color: #666;
}

.form-status.error {
  max-width: 400px;
    background: #fdecea;
    color: #666;
}

.contact-form input:focus,
.contact-form textarea:focus {
    outline: none;
    border: 2px solid #b3d892; /* or your preferred border */
}